翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
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-envTEXT-
使用する設定ファイル内のデフォルトパラメータ値を指定する環境名です。デフォルト値は「default」です。設定ファイルの詳細については、「AWS SAM CLI 設定ファイル」を参照してください。
--config-filePATH-
使用するデフォルトのパラメータ値が含まれる設定ファイルのパスとファイル名です。デフォルト値は、プロジェクトディレクトリのルートにある「samconfig.toml」です。設定ファイルの詳細については、「AWS SAM CLI 設定ファイル」を参照してください。
--debug-
デバッグロギングをオンにして、AWS SAM CLI が生成するデバッグメッセージを出力表示し、タイムスタンプを表示します。
--force-upload-
Amazon S3 バケット内の既存のファイルを上書きします。このフラグを指定して、アーティファクトが Amazon S3 バケット内の既存のアーティファクトと一致する場合でも、それらをアップロードします。
--help-
このメッセージを表示して終了します。
--image-repositoryTEXT-
このコマンドが関数のイメージをアップロードする Amazon Elastic Container Registry (Amazon ECR) リポジトリの URI です。
Imageパッケージタイプで宣言された関数に必要です。 --kms-key-idTEXT-
Amazon S3 バケットに保管されているアーティファクトの暗号化に使用される AWS Key Management Service (AWS KMS) キーの ID です。このオプションを指定しない場合、AWS SAM は Amazon S3 マネージド暗号化キーを使用します。
--metadata-
(オプション) テンプレートで参照されるすべてのアーティファクトにアタッチするメタデータのマップです。
--no-progressbar-
Amazon S3 へのアーティファクトのアップロード時に、進行状況バーを表示しません。
--output-template-filePATH-
コマンドがパッケージ化されたテンプレートを書き込むファイルへのパス。パスを指定しない場合、コマンドはテンプレートを標準出力に書き込みます。
--profileTEXT-
AWS 認証情報を取得する、認証情報ファイルから特定のプロファイルです。
--regionTEXT-
デプロイ先の AWS リージョンです。例えば、us-east-1 などです。
--resolve-s3-
パッケージ化に使用する Amazon S3 バケットを自動的に作成します。
--s3-bucketおよび--resolve-s3オプションの両方を指定すると、エラーが発生します。 --s3-bucketTEXT-
このコマンドがアーティファクトをアップロードする Amazon S3 バケットの名前です。アーティファクトが 51,200 バイトより大きい場合には、
--s3-bucketまたは--resolve-s3オプションは必須です。--s3-bucketおよび--resolve-s3オプションの両方を指定すると、エラーが発生します。 --s3-prefixTEXT-
Amazon S3 バケットにアップロードされるアーティファクト名に追加されたプレフィックスです。プレフィックス名は、Amazon S3 バケットのパス名 (フォルダ名) です。これは、
Zipパッケージタイプで宣言された関数のみに適用されます。 --save-params-
コマンドラインで指定したパラメータを AWS SAM 設定ファイルに保存します。
--signing-profilesLIST-
(オプション) デプロイパッケージに署名するための署名プロファイルのリストです。このパラメータはキーバリューペアのリストを使用します。このペアのキーは署名する関数またはレイヤーの名前、値は署名プロファイルで、オプションのプロファイル所有者は
:で区切られます。例えば、FunctionNameToSign=SigningProfileName1 LayerNameToSign=SigningProfileName2:SigningProfileOwner。 --template-file, --template, -tPATH-
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-bucketamzn-s3-demo-bucket