AWS Lambdaのイベントソースマッピングのフィルタリング条件とZipデプロイパッケージがカスタマーマネージドキーによる暗号化に対応していたのでAWS SAMで実装してみた
https://dev.classmethod.jp/articles/aws-lambda-support-ecnrypt-esm-and-zip-package-by-cmk/
#dev_classmethod #AWS_Lambda #AWS_SAM #AWS_SAM_CLI #AWS_KMS #AWS
AWS Lambdaのイベントソースマッピングのフィルタリング条件とZipデプロイパッケージがカスタマーマネージドキーによる暗号化に対応していたのでAWS SAMで実装してみた
https://dev.classmethod.jp/articles/aws-lambda-support-ecnrypt-esm-and-zip-package-by-cmk/
#dev_classmethod #AWS_Lambda #AWS_SAM #AWS_SAM_CLI #AWS_KMS #AWS
SAM Local Invoke は Lambda の環境変数に設定された Ref を認識できないため env.json を自動生成して samcofig.yaml で参照してみた
https://dev.classmethod.jp/articles/auto-generate-env-json-for-sam-local/
Python3.12 のスタンドアロン Lambda 関数を作成しつつ、SAM CLIを学んでみた
https://dev.classmethod.jp/articles/python3-12-standalone-lambda-on-sam-cli/
#dev_classmethod #AWS_SAM #AWS_SAM_CLI #Python #AWS_Lambda #AWS
AWS SAM CLIでローカル実行時のみNew Relicの拡張機能が適用されないようにしてみました
https://dev.classmethod.jp/articles/disable-new-relic-lambda-extention-in-sam-local-invoke/
[アップデート]AWS SAM CLIのローカル実行時のAWS::AccountIdの値にログイン中のアカウントのIDが利用されるようになりました
https://dev.classmethod.jp/articles/aws-sam-cli-override-aws-account-id-your-account/
初めに 本日 AWS SAM CLIのv1.119.0がリリースされました。 これまでAWS SAM CLIではローカル実行時に擬似参照パラメータであるAWS::AccountIdに関してはダミー値(123456789012)を利用するようになっておりました。 例えば以下のように環境変数でLambda関数に引き渡し出力させることでも確認できます。 この仕様があるため例えば自アカウントの既存のLambda Layerを!Sub arn:aws:lambda:${AWS::Region}:${AWS::AccountId}:layer:hoge:1のような形で指定するとダミーアカウントID上のものを参照しようとし実行に失敗してしまいます。従来これを回避するためにはアカウントIDをParameters経由で値を引き渡す、テンプレート上にハードコードする等別の手段を取る必要がありました。 今回のアップデートでlocal invoke実行時に指定されたプロファイルのアカウントIDを参照するようになりその値が利用されるようになりました。 なおAWS::Regionの値関しては以前より–regionオプションが存在しこちらで指定することが可能でした。 動作確認 テスト用に適当にライブラリをインストールしたLamba Layerを作成しておきます。 SAM上で以下のような定義で関数を作成します。 以前のバージョンでこれを実行するとAWS::AccountIdにはダミーパラメータが指定される関係で取得不可なLambda Layerを参照してしまい実行以前の状態で失敗してしまいます。 これを1.119.0のものにすると正常に自アカウントを参照するようになるのでレイヤーの読み込みおよび実行に成功するようになります。処理上で自動的に読み込むため設定変更等をせずとも利用できるので非常に良さそうです。 認証情報がない場合 アカウントIDはgetCallerIdentityの結果から取得しますがこれの実行のためにAWSのアカウントのが今後必須となる…というわけではございませんのでご安心ください。 認証情報がない状態で実行すると現行のようにダミー値123456789012が利用される現行の状態が維持されます。 終わりに 地味ながら必要としていた環境は結構ありそうなのでよさげなアップデートですね。 知らずとも上手く取り回すことでなんとかできる部分ではありますが、パラメータの指定量を減らしてシンプルにしたり複数環境間での取り回しが良くなるため該当するような環境の方はぜひ一度コードを整理してみてはいかがでしょうか。
[アップデート]AWS SAM CLIがLambda関数のコンテナイメージ(ImageUrl)の指定にローカルのパスをサポートしました
https://dev.classmethod.jp/articles/aws-sam-support-local-container-image/
Lambda+Glue+Step Functionsの構成をServerless FrameworkとAWS SAMのそれぞれでデプロイしてみた
https://dev.classmethod.jp/articles/etl-workflow-sls-sam-deploy/
#dev_classmethod #Serverless_Framework #AWS_SAM #AWS_SAM_CLI #AWS_SAM_Template #AWS_Glue #AWS_Lambda #AWS_Step_Functions #AWS
複数のLambda Layersに同じ名前のフォルダがある場合の動作を確認してみた
https://dev.classmethod.jp/articles/multiple-lambda-layers-have-folders-with-the-same-name/
AWS SAM CLIで「Unable to upload artifact HelloWorldFunction referenced by CodeUri parameter of HelloWorldFunction resource.」エラーを解決する方法
https://qiita.com/YSasago/items/4bc3d2cf4061ddae4685?utm_campaign=popular_items&utm_medium=feed&utm_source=popular_items