問題タブ [serverless-application-model]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
503 参照

amazon-web-services - API Gateway から呼び出されたラムダをローカルで実行するための適切な event.json を生成するにはどうすればよいですか?

を使用してローカルで呼び出すことができるようにしたい aws ラムダがありsam local invoke "MyFunction" -e event.jsonますが、私の event.json ファイルは決して正しくないようです。たとえば、自分のラムダが DynamoDB に接続すると、「リクエストに含まれるセキュリティ トークンが無効です」のようなエラーが表示されます。

機能的なラムダをクラウドで実行し、event.json を生成/出力して (たとえば、API Gateway から呼び出されたかのように)、ローカルで使用できるようにする方法はありますか?

0 投票する
0 に答える
568 参照

amazon-web-services - 複数の SAM テンプレートで単一の API ゲートウェイを共有するにはどうすればよいですか?

複数の SAM テンプレートで単一の APIGateway を使用しようとしています。このために、他の SAM テンプレートの基本テンプレートから RestApiId をインポートして、ラムダのイベント セクションで使用することを試みました。しかし、SAMには次のような制限があります

RestApiId は、同じテンプレート内の「AWS::Serverless::Api」リソースへの有効な参照である必要があります。

3 時間の調査の後、ベース テンプレートで API ゲートウェイを定義し、必要な機能を呼び出すことができるようにロール/ポリシー/定義を作成することで、それを達成できることがわかりました。Lambda を複数の Lambda 専用 SAM ファイルに分割しますが、その下に定義された Api タイプのイベントはありません。このようにして、Lambda と API Gateway を互いに独立して作成し、Swagger/OpenAPI を使用して統合し、権限を個別に調整することができます。

以下は、上記のアプローチを推奨する便利なリンクです。

リンク1

リンク2

このアプローチは少し複雑だと思います。API が swagger ファイルでさらに取得されている場合、ベース テンプレートの CFN 200 制限を超える可能性があります。誰かが異なるテンプレート間で apiGateway をインポートするより簡単な方法を提案してくれたら幸いです。

0 投票する
0 に答える
29 参照

amazon-web-services - SAM テンプレート - 作成後に API 名を変更する方法は?

API GW を作成するための次のコードのチャンクを含む SAM テンプレートがあります...

デプロイされ、API が作成されました。ただし、名前をName: !Sub "my-${MyEnvironment}-apis"からName: !Sub "backend-${MyEnvironment}-apis"に変更したいと考えています。この変更を行ってデプロイした後も、API にはまだ古い名前が付けられています。これらを強制的に変更する方法はありますか?