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 deploy が sam 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 を使用したサーバーレスアプリケーションの公開」を参照してください。