問題タブ [aws-serverless]
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.
amazon-web-services - aws api gateway test と curl でのリクエストボディの違い
POST HTTP メソッドを AWS API Gateway に追加しようとしています。Python で SAM フレームワークを使用しています。
デスクトップ (curl または postman) と AWS API Gateway 'TEST' から生成された応答の「本文」に違いがあることがわかりました。
現在、「POST」コマンドは、lambda_handler が受け取った「イベント」オブジェクトのみを出力します。(以下に示すように、オブジェクトを使用してイベントを保存しています)
API Gateway コンソールの「TEST」オプションを使用している場合、次の入力を使用します。
次の出力が表示されます。
ただし、curl (または郵便配達員) リクエストを送信する場合:
次の応答が返されます。
2つのテストに違いがあるのはなぜだと思いますか?
amazon-web-services - AWS CodePipeline の個々のプロジェクトのビルド/デプロイ
複数のサーバーレス ラムダ アプリケーション プロジェクトを含む Visual Studio 2017 ソリューションを開発したいと考えています。GitHub、CodePipeline、CodeBuild、および CloudFormation を使用して単一のサーバーレス プロジェクトを正常に開発およびデプロイしましたが、個別のビルド/デプロイ パイプラインで複数のスタックを実装できるかどうかを示すドキュメントが見つかりません。
プロジェクトは単一の GitHub リポジトリ/Visual Studio ソリューションに論理的に適合しますが、リポジトリにプッシュするたびにすべてをビルド/デプロイする必要はありません。CodePipeline の「ソース」ステージでブランチとプロジェクトを指定できれば、うまくいきますが、私にはわかりません。どんな助けでも大歓迎です。
amazon-web-services - Lambda が KMS キーにアクセスできない
ラムダ コードを実行すると、次のエラーが表示されます。
The ciphertext refers to a customer master key that does not exist, does not exist in this region, or you are not allowed to access.
私はほとんどこれに従ってaws -sam-cli を使用してスタックを作成しました。テンプレートの関連セクションはコードの下にあります。
関連するコードは次のとおりです。
template.yaml ファイルの関連部分は次のとおりです。
はKMSDecryptPolicy
キーの使用を許可しませんか? 私は何が欠けていますか?ありがとう!
KMSDecryptPolicy
編集:テンプレートを以下に変更すると機能しますが、可能であればラムダ定義で使用したいと思います。
amazon-web-services - AWS SAM テンプレート - ローカル テスト
ローカルでテストしてからデプロイしようとしている AWS SAM テンプレートがあります。ローカル テストは実行されますが (sam local start-api)、ペイロードは検証されません。これは、RequestValidator が用意されていることを意味しますが、検証は行いません。
次に、YAML ファイルを AWS にデプロイしてそこでテストしようとすると、次のエラーが表示されます。
「変更セットの作成に失敗しました: ウェイター ChangeSetCreateComplete が失敗しました: ウェイターが端末障害状態のステータスを検出しました: FAILED. 理由: AWS::Serverless-2016-10-31 の変換が失敗しました: 無効なサーバーレス アプリケーション仕様ドキュメント。見つかったエラーの数: 1. ID [BoilerPlateFunction] のリソースは無効です。ID [ApiEvent] のイベントは無効です。Api イベントの RestApiId プロパティは、同じテンプレート内の有効なリソースを参照する必要があります。"
これは私の yaml ファイルなので、最初に RequestValidator をローカルで機能させたいと考えています。それが完了したら、何が間違っているのか、なぜ展開できないのかを知ることができます。
繰り返しますが、これは sam local start-api を使用して実行されます。エンドポイントに到達すると、Lambda が実行されます。しかし、クエリ文字列に「test」パラメーターを含めないと、API ゲートウェイがエラーをスローすると予想されますが、そうではなく、通過させます。
みんなありがとう!