2017-05-16 6 views
0

S3からラムダ関数をAWSにデプロイしようとしています。S3バケットサブディレクトリにラムダ関数をデプロイ

現在のところ、私の組織では、S3バケットのルートにファイルをアップロードする機能はありませんが、フォルダ(例:s3:// application-code-bucket/Application1 /)にしかアップロードできません。

バケットルート以外のディレクトリから、S3を通じてLambda関数コードを展開する方法はありますか?私はLambdaのCreateFunction AWSコマンドのドキュメントをチェックして、何も明らかではありませんでした。

+0

ラムダ文書で言及する理由はありません。引数はファイル名ではなく、オブジェクトキーです(http://docs.aws.amazon.com/lambda/latest/dg/API_FunctionCode.html#SSS-Type-FunctionCode-S3Key)。この事実には、それがどんな「フォルダー」にもあり得るという事実が暗黙のはずです。 –

+0

Michael-回答を作成しますか?あなたは正しいです。私はS3Keyが 'オブジェクトキー'と呼ばれることを認識しませんでした。ありがとう –

答えて

0
  1. ラムダパッケージを圧縮して任意のフォルダのS3にアップロードする必要があります。
  2. ラムダ 機能にアップロードするファイルのhttps S3 URLを指定することができます。
  3. S3バケットは、ラムダ の機能と同じ領域にある必要があります。
  4. パッケージが解凍されていることを確認してください。つまり、パッケージが解凍されている場合は、 ファイルをunzip コマンドと同じディレクトリに展開する必要があります。
0

ラムダの導入を自動化するために使用したこの古いスクリプトがあります。 少しリファクタリングする必要がありますが、それでも使用できます。

PCにローカルにあるラムダ名とzipファイルパスを入力として取得します。

S3にアップロードし、AWSラムダに公開します。

  • S3のアップロード許可
  • AWSラムダ更新許可
  • をあなたはバケット名とパスあなたを変更する必要があります:あなたが可能にIAMロールをAWSの資格情報を設定する必要が

    • あなたのジップをアップロードしたい(36~37行目)。

    これだけです。

  • 関連する問題