sam package - AWS Serverless Application Model

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

sam package

AWS Serverless Application Model コマンドラインインターフェイス (AWS SAMCLI) は、AWS SAM アプリケーションをパッケージ化します。

このコマンドは、コードと依存関係の .zip ファイルを作成し、そのファイルを Amazon Simple Storage Service (Amazon S3) にアップロードします。AWS SAM はAmazon S3 に保存されているすべてのファイルの暗号化を有効にします。次に、AWS SAM テンプレートのコピーを返し、ローカルのアーティファクトへの参照を、コマンドがアーティファクトをアップロードした Amazon S3 の場所に置き換えます。

このコマンドを使用する場合、AWS SAM CLI はデフォルトで、現在の作業ディレクトリがプロジェクトのルートディレクトリであると想定します。AWS SAM CLI はまず、sam build コマンドを使用して構築されたテンプレートファイルを見つけようとします。これは .aws-sam サブフォルダにあり、template.yaml と命名されています。AWS SAM CLI は次に、現在の作業ディレクトリで、template.yaml または template.yml と命名されているテンプレートファイルを見つけようとします。--template オプション指定すると、AWS SAM CLI のデフォルト動作が上書きされ、その AWS SAM テンプレートと、それがポイントするローカルリソースだけがパッケージ化されます。

注記

sam deploy が の機能を暗黙的に実行するようになりました。sam packagesam deploy コマンドを直接使用して、アプリケーションをパッケージ化およびデプロイできます。

使用

$ sam package <arguments> <options>

引数

リソース ID

パッケージ化する Lambda 関数の ID です。

この引数はオプションです。アプリケーションに Lambda 関数が 1 つ含まれている場合、AWS SAM CLI によりそれがパッケージ化されます。アプリケーションに複数の関数が含まれている場合は、関数の ID を 1 つ指定してパッケージ化します。

有効な値: リソースの論理 ID またはリソース ARN。

オプション

--config-env TEXT

使用する設定ファイル内のデフォルトパラメータ値を指定する環境名です。デフォルト値は「default」です。設定ファイルの詳細については、「AWS SAM CLI 設定ファイル」を参照してください。

--config-file PATH

使用するデフォルトのパラメータ値が含まれる設定ファイルのパスとファイル名です。デフォルト値は、プロジェクトディレクトリのルートにある「samconfig.toml」です。設定ファイルの詳細については、「AWS SAM CLI 設定ファイル」を参照してください。

--debug

デバッグロギングをオンにして、AWS SAM CLI が生成するデバッグメッセージを出力表示し、タイムスタンプを表示します。

--force-upload

Amazon S3 バケット内の既存のファイルを上書きします。このフラグを指定して、アーティファクトが Amazon S3 バケット内の既存のアーティファクトと一致する場合でも、それらをアップロードします。

--help

このメッセージを表示して終了します。

--image-repository TEXT

このコマンドが関数のイメージをアップロードする Amazon Elastic Container Registry (Amazon ECR) リポジトリの URI です。Image パッケージタイプで宣言された関数に必要です。

--kms-key-id TEXT

Amazon S3 バケットに保管されているアーティファクトの暗号化に使用される AWS Key Management Service (AWS KMS) キーの ID です。このオプションを指定しない場合、AWS SAM は Amazon S3 マネージド暗号化キーを使用します。

--metadata

(オプション) テンプレートで参照されるすべてのアーティファクトにアタッチするメタデータのマップです。

--no-progressbar

Amazon S3 へのアーティファクトのアップロード時に、進行状況バーを表示しません。

--output-template-file PATH

コマンドがパッケージ化されたテンプレートを書き込むファイルへのパス。パスを指定しない場合、コマンドはテンプレートを標準出力に書き込みます。

--profile TEXT

AWS 認証情報を取得する、認証情報ファイルから特定のプロファイルです。

--region TEXT

デプロイ先の AWS リージョンです。例えば、us-east-1 などです。

--resolve-s3

パッケージ化に使用する Amazon S3 バケットを自動的に作成します。--s3-bucket および --resolve-s3 オプションの両方を指定すると、エラーが発生します。

--s3-bucket TEXT

このコマンドがアーティファクトをアップロードする Amazon S3 バケットの名前です。アーティファクトが 51,200 バイトより大きい場合には、--s3-bucket または --resolve-s3 オプションは必須です。--s3-bucket および --resolve-s3 オプションの両方を指定すると、エラーが発生します。

--s3-prefix TEXT

Amazon S3 バケットにアップロードされるアーティファクト名に追加されたプレフィックスです。プレフィックス名は、Amazon S3 バケットのパス名 (フォルダ名) です。これは、Zip パッケージタイプで宣言された関数のみに適用されます。

--save-params

コマンドラインで指定したパラメータを AWS SAM 設定ファイルに保存します。

--signing-profiles LIST

(オプション) デプロイパッケージに署名するための署名プロファイルのリストです。このパラメータはキーバリューペアのリストを使用します。このペアのキーは署名する関数またはレイヤーの名前、値は署名プロファイルで、オプションのプロファイル所有者は : で区切られます。例えば、FunctionNameToSign=SigningProfileName1 LayerNameToSign=SigningProfileName2:SigningProfileOwner

--template-file, --template, -t PATH

AWS SAM テンプレートが置かれているパスとファイルの名前です。

注記

このオプションを指定すると、 AWS SAM テンプレートとそれがポイントするローカルリソースのみをパッケージ化します。

--use-json

CloudFormation テンプレートの JSON を出力します。デフォルトでは、YAML が使用されます。

次の例では、Lambda 関数と CodeDeploy アプリケーションのために、アーティファクトを作成しパッケージ化します。アーティファクトは Amazon S3 バケットにアップロードされます。コマンドの出力は、package.yml という新しいファイルです。

$ sam package \ --template-file template.yml \ --output-template-file package.yml \ --s3-bucket amzn-s3-demo-bucket