問題タブ [aws-sam]
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.
go - API Gateway 経由でフォームデータを使用して画像を Lambda 関数に投稿すると、無効なファイルが生成される
HTMLフォーム/ JavaScriptおよびAPIゲートウェイ統合を介して、すべてSAMテンプレートで定義されたS3バケットへの画像ファイルのアップロードを許可するはずのGoで書かれたLambda関数があります。
Lambda 関数の実行ログの例を次に示します。
ここでの問題は、JPEG または PNG ファイルの場合、破損した結果が得られることです。
- 結果の画像のファイル サイズ (メディア メッセージを解析すると得られるもの
multipart
) は、元のファイル サイズよりも大きくなります (例: 8kB (元の) から 12kB (S3 バケット))。 - 元の PNG または JPEG ファイルを S3 バケット内の結果のファイルと比較すると
hexdump
、ほとんど同じように見えます (つまり、base64 エンコーディングの問題が関係しているとは思えません)。 - 興味深いことに、
text/plain
このメディア タイプでは、この設定が機能します。
どこが壊れているのかを突き止めようとしましたが、現時点では、API Gateway の構成に欠けているものがあると思います。FWIW、私はこれを試しましたが、動作に目に見える変化はありません:
amazon-web-services - AWS SAM で !Ref を使用して環境変数を設定しますか?
SAM CLI v0.8.1 を使用しています。環境変数 MY_TABLE_VAR をリソース (MyTableResource) のテーブルの名前として設定しようとしています。ただし、アプリをローカルで実行している間、MY_TABLE_VAR は未定義です。テンプレートのどこが間違っているのか、どうすれば適切に設定できるのか教えていただけますか? 以下は私のSAMテンプレートです:
java - AWS SAM CLI java8 ランタイムはサポートされていません
AWS SAM CLI
コマンドを使用して Lambda アプリケーションを構築しようとしています。
しかし、私はこのエラーが発生しています:
ビルドに失敗しました
エラー: 'java8' ランタイムはサポートされていません
これは私のtemplate.yaml
です:
これは、プラグインをIntellij
使用して作成されたサンプル プロジェクトです。バージョンをインストールしました (別のバージョンを試しましたが、機能しませんでした)。プロジェクトのGitHubで、サポートされていることがわかります。AWS Toolkit
SAM CLI
0.9.0
jdk1.8.0_191
java 8
このエラーが発生するのはなぜですか?
amazon-web-services - SAM サーバーレスの暗黙的 API と AWS::Serverless::Api の比較
SAM テンプレートを構成して定義するAWS::Serverless::Function
場合、Api タイプを受け入れる Events パラメータがあります。これにより API Gateway リソースが作成されますか? AWS::Serverless::Api
このイベント タイプとスタンドアロンリソースの違いは何ですか?