

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

# sam package
<a name="sam-cli-command-reference-sam-package"></a>

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

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

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

**注記**  
[sam deploy](sam-cli-command-reference-sam-deploy.md) が `sam package` の機能を暗黙的に実行するようになりました。[sam deploy](sam-cli-command-reference-sam-deploy.md) コマンドを直接使用して、アプリケーションをパッケージ化およびデプロイできます。

## 使用方法
<a name="sam-cli-command-reference-sam-package-usage"></a>

```
$ sam package <arguments> <options>
```

## 引数
<a name="sam-cli-command-reference-sam-package-args"></a>

**Resource ID (リソース ID)**  <a name="sam-cli-command-reference-sam-package-args-resource-id"></a>
パッケージ化する Lambda 関数の ID です。  
この引数はオプションです。アプリケーションに 1 つの Lambda 関数が含まれている場合、CLI AWS SAM はその関数をパッケージ化します。アプリケーションに複数の関数が含まれている場合は、関数の ID を 1 つ指定してパッケージ化します。  
有効な値: リソースの論理 ID またはリソース ARN。

## オプション
<a name="sam-cli-command-reference-sam-package-options"></a>

`--config-env TEXT`  <a name="sam-cli-command-reference-sam-package-options-config-env"></a>
使用する設定ファイル内のデフォルトパラメータ値を指定する環境名です。デフォルト値は「default」です。設定ファイルの詳細については、「[AWS SAM CLI 設定ファイル](serverless-sam-cli-config.md)」を参照してください。

`--config-file PATH`  <a name="sam-cli-command-reference-sam-package-options-config-file"></a>
使用するデフォルトのパラメータ値が含まれる設定ファイルのパスとファイル名です。デフォルト値は、プロジェクトディレクトリのルートにある「samconfig.toml」です。設定ファイルの詳細については、「[AWS SAM CLI 設定ファイル](serverless-sam-cli-config.md)」を参照してください。

`--debug`  <a name="sam-cli-command-reference-sam-package-options-debug"></a>
デバッグロギングをオンにして、 AWS SAM CLI が生成するデバッグメッセージを出力表示し、タイムスタンプを表示します。

`--force-upload`  <a name="sam-cli-command-reference-sam-package-options-force-upload"></a>
Amazon S3 バケット内の既存のファイルを上書きします。このフラグを指定して、アーティファクトが Amazon S3 バケット内の既存のアーティファクトと一致する場合でも、それらをアップロードします。

`--help`  <a name="sam-cli-command-reference-sam-package-options-help"></a>
このメッセージを表示して終了します。

`--image-repository TEXT`  <a name="sam-cli-command-reference-sam-package-options-image-repository"></a>
このコマンドが関数のイメージをアップロードする Amazon Elastic Container Registry (Amazon ECR) リポジトリの URI です。`Image` パッケージタイプで宣言された関数に必要です。

`--kms-key-id TEXT`  <a name="sam-cli-command-reference-sam-package-options-kms-key-id"></a>
Amazon S3 バケットに保管されているアーティファクトを暗号化するために使用される AWS Key Management Service (AWS KMS) キーの ID。このオプションを指定しない場合、 は Amazon S3-managed暗号化キー AWS SAM を使用します。

`--metadata`  <a name="sam-cli-command-reference-sam-package-options-metadata"></a>
(オプション) テンプレートで参照されるすべてのアーティファクトにアタッチするメタデータのマップです。

`--no-progressbar`  <a name="sam-cli-command-reference-sam-package-options-no-progressbar"></a>
Amazon S3 へのアーティファクトのアップロード時に、進行状況バーを表示しません。

`--output-template-file PATH`  <a name="sam-cli-command-reference-sam-package-options-output-template-file"></a>
コマンドがパッケージ化されたテンプレートを書き込むファイルへのパス。パスを指定しない場合、コマンドはテンプレートを標準出力に書き込みます。

`--profile TEXT`  <a name="sam-cli-command-reference-sam-package-options-profile"></a>
認証情報を取得する AWS 認証情報ファイルからの特定のプロファイル。

`--region TEXT`  <a name="sam-cli-command-reference-sam-package-options-region"></a>
デプロイ先の AWS リージョン。例えば、us-east-1 などです。

`--resolve-s3`  <a name="sam-cli-command-reference-sam-package-options-resolve-s3"></a>
パッケージ化に使用する Amazon S3 バケットを自動的に作成します。`--s3-bucket` および `--resolve-s3` オプションの両方を指定すると、エラーが発生します。

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

`--s3-prefix TEXT`  <a name="sam-cli-command-reference-sam-package-options-s3-prefix"></a>
Amazon S3 バケットにアップロードされるアーティファクト名に追加されたプレフィックスです。プレフィックス名は、Amazon S3 バケットのパス名 (フォルダ名) です。これは、`Zip` パッケージタイプで宣言された関数のみに適用されます。

`--save-params`  <a name="sam-cli-command-reference-sam-package-options-save-params"></a>
コマンドラインで指定したパラメータを設定 AWS SAM ファイルに保存します。

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

`--template-file, --template, -t PATH`  <a name="sam-cli-command-reference-sam-package-options-template-file"></a>
 AWS SAM テンプレートがあるパスとファイル名。  
このオプションを指定すると、 はテンプレートとそれが指すローカルリソースのみを AWS SAM パッケージ化します。

`--use-json`  <a name="sam-cli-command-reference-sam-package-options-use-json"></a>
 CloudFormation テンプレートの JSON を出力します。デフォルトでは、YAML が使用されます。

## 例
<a name="sam-cli-command-reference-sam-package-examples"></a>

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

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