web-dev-qa-db-ja.com

最初にダウンロードせずに、AWS Lambda関数間でコードをコピーすることはできますか?

そのため、現在AWS Lambda関数のデプロイヤーの構築に取り組んでいます。

AWSバージョンはすべて設定を共有するため、I wantのようなエイリアスを使用する代わりに、コードのさまざまなバージョンである複数の関数(foo_prod、foo_staging、foo_whatever)が必要です。

だから私の質問は:

1)コードを再デプロイする健全な方法があるかどうか。 (IE:Staging to Prod)最初にデスクトップにダウンロードしてから再アップロードする必要はありません。

2)その共有構成ビットが間違っているかどうか、または実際のLambdaで関数が実行されているエイリアスの下で、各環境に複数の環境変数を作成できるかどうかを確認できるかどうか。

11
Kevin Meyer

ラムダ関数は、コードのダウンロードや再アップロードを必要としないさまざまな方法でデプロイできます。 SAM( http://docs.aws.Amazon.com/lambda/latest/dg/with-s3-example-use-app-spec.html )のようなものを使用する場合は、コードを保持し、そこから関数を構築するS3バケットに。 CloudFormationをGithubやAWS CodeCommitなどのgitリポジトリにフックして、コミットをリポジトリにプッシュするときに関数を自動的に更新することもできます。そして、Severless( https://serverless.com )のような他のシステムがあり、展開を抽象化して自動化し、繰り返し可能で管理しやすい方法があります。

Lambdaのバージョンは、コンテキストオブジェクトで使用できます。 ARNを見ると、どのエイリアスが呼び出されているかを確認できるはずです。 ARNには、次のようなサフィックスとしてエイリアスがあります。

arn:aws:lambda:aws-region:acct-id:function:helloworld:PROD    

ここの情報: http://docs.aws.Amazon.com/lambda/latest/dg/python-context-object.html

8
Mark Meyer