sam package - AWS Serverless Application Model

sam package

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

使用:

sam package [OPTIONS] [ARGS]...

オプション:

オプション 説明
-t, --template-file, --template PATH AWS SAM テンプレートが置かれているパスとファイルの名前です。

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

--s3-bucket TEXT このコマンドが AWS CloudFormation テンプレートをアップロードする Amazon S3 バケットの名前です。テンプレートが 51,200 バイトより大きい場合は、--s3-bucket または --resolve-s3 オプションは必須です。--s3-bucket および --resolve-s3 オプションの両方を指定すると、エラーが発生します。
--s3-prefix TEXT Amazon S3 バケットにアップロードされるアーティファクト名に追加されたプレフィックスです。プレフィックス名は、Amazon S3 バケットのパス名 (フォルダ名) です。これは、Zip パッケージタイプで宣言された関数のみに適用されます。
--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 マネージド暗号化キーを使用します。
--signing-profiles LIST (オプション) デプロイパッケージに署名するための署名プロファイルのリストです。このパラメータはキーバリューペアのリストを使用します。このペアのキーは署名する関数またはレイヤーの名前、値は署名プロファイルで、オプションのプロファイル所有者は : で区切られます。例えば、FunctionNameToSign=SigningProfileName1 LayerNameToSign=SigningProfileName2:SigningProfileOwner です。
--output-template-file PATH コマンドがパッケージ化されたテンプレートを書き込むファイルへのパス。パスを指定しない場合、コマンドはテンプレートを標準出力に書き込みます。
--use-json AWS CloudFormation テンプレートの JSON を出力します。デフォルトでは、YAML が使用されます。
--resolve-s3 パッケージ化に使用する Amazon S3 バケットを自動的に作成します。--s3-bucket および --resolve-s3 オプションの両方を指定すると、エラーが発生します。
--force-upload Amazon S3 バケット内の既存のファイルを上書きします。このフラグを指定して、アーティファクトが Amazon S3 バケット内の既存のアーティファクトと一致する場合でも、それらをアップロードします。
--metadata (オプション) テンプレートで参照されるすべてのアーティファクトにアタッチするメタデータのマップです。
--profile TEXT AWS 認証情報を取得する、認証情報ファイルから特定のプロファイルです。
--region TEXT デプロイ先の AWS リージョンです。例えば、us-east-1 などです。
--config-file PATH 使用するデフォルトのパラメータ値が含まれる設定ファイルのパスとファイル名です。デフォルト値は、プロジェクトディレクトリのルートにある「samconfig.toml」です。設定ファイルの詳細については、「AWS SAM CLI 設定ファイル」を参照してください。
--config-env TEXT 使用する設定ファイル内のデフォルトパラメータ値を指定する環境名です。デフォルト値は「default」です。設定ファイルの詳細については、「AWS SAM CLI 設定ファイル」を参照してください。
--no-progressbar Amazon S3 へのアーティファクトのアップロード時に、進行状況バーを表示しません。
--debug デバッグロギングをオンにして、AWS SAM CLI が生成するデバッグメッセージを出力表示し、タイムスタンプを表示します。
--help このメッセージを表示して終了します。
注記

AWS SAM テンプレートに ServerlessRepo の Metadata セクションが含まれており、LicenseUrl または ReadmeUrl プロパティにローカルファイルへの参照が含まれている場合は、AWS CLI をバージョン 1.16.77 以降に更新する必要があります。AWS SAM テンプレートの Metadata セクションと、AWS SAM CLI を使用したアプリケーションの公開に関する詳細については、「AWS SAM CLI を使用したサーバーレスアプリケーションの公開」を参照してください。