

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

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

このページでは、 AWS Serverless Application Model コマンドラインインターフェイス (AWS SAM CLI) `sam build` コマンドのリファレンス情報を提供します。
+ の概要については AWS SAM CLI、「」を参照してください。 [とは AWS SAM CLI](what-is-sam-overview.md#what-is-sam-cli)
+ `sam build` コマンドの使用に関するドキュメントについては、 AWS SAM CLI「」を参照してください[を使用した の構築の概要 AWS SAM](using-sam-cli-build.md)。

`sam build` コマンドは、ローカルテストや AWS クラウドへのデプロイなど、開発者ワークフローの後続のステップに備えてアプリケーションを準備します。

## Usage
<a name="ref-sam-cli-build-usage"></a>

```
$ sam build <arguments> <options>
```

## 引数
<a name="ref-sam-cli-build-args"></a>

**Resource ID (リソース ID)**  <a name="ref-sam-cli-build-args-resource-id"></a>
オプション。[AWS SAM テンプレート](what-is-sam-overview.md#what-is-sam-template)で宣言された単一のリソースを構築する AWS SAM ように に指示します。指定されたリソースのビルドアーティファクトは、ワークフローの後続コマンド (つまり、`sam package` と `sam deploy`) に使用できる唯一のアーティファクトになります。

## オプション
<a name="ref-sam-cli-build-options"></a>

`--base-dir, -s DIRECTORY`  <a name="ref-sam-cli-build-options-base-dir"></a>
関数またはレイヤーのソースコードへの相対パスを、このディレクトリを基準にして解決します。このオプションは、ソースコードフォルダへの相対パスの解決方法を変更したい場合に使用します。デフォルトで、相対パスは AWS SAM テンプレートの場所を基準にして解決されます。  
このオプションは、構築しているルートアプリケーションまたはスタックのリソースに加えて、ネストされたアプリケーションまたはスタックにも適用されます。  
このオプションは、以下のリソースタイプとプロパティに適用されます。  
+ リソースタイプ: `AWS::Serverless::Function` プロパティ: `CodeUri`
+ リソースタイプ: `AWS::Serverless::Function` リソース属性: `Metadata` エントリ: `DockerContext`
+ リソースタイプ: `AWS::Serverless::LayerVersion` プロパティ: `ContentUri`
+ リソースタイプ: `AWS::Lambda::Function` プロパティ: `Code`
+ リソースタイプ: `AWS::Lambda::LayerVersion` プロパティ: `Content`

`--beta-features | --no-beta-features`  <a name="ref-sam-cli-build-options-beta-features"></a>
ベータ機能を許可または拒否します。

`--build-dir, -b DIRECTORY`  <a name="ref-sam-cli-build-options-build-dir"></a>
ビルドアーティファクトが保存されているディレクトリへのパスです。このオプションを使用すると、このディレクトリとそのコンテンツのすべてが削除されます。

`--build-image TEXT`  <a name="ref-sam-cli-build-options-build-image"></a>
ビルド用にプルするコンテナイメージの URI です。デフォルトで、 AWS SAM は Amazon ECR Public からコンテナイメージをプルします。このオプションは、別の場所からイメージをプルするために使用します。  
このオプションは複数回指定できます。このオプションの各インスタンスには、文字列またはキーバリューペアを使用できます。文字列を指定する場合は、アプリケーション内のすべてのリソースに使用するコンテナイメージの URI になります。例えば、`sam build --use-container --build-image amazon/aws-sam-cli-build-image-python3.8`。キーバリューペアを指定する場合、キーはリソース名で、値はそのリソースに使用するコンテナイメージの URI です。例えば、`sam build --use-container --build-image Function1=amazon/aws-sam-cli-build-image-python3.8` です。キーバリューペアを使用すると、異なるリソースに異なるコンテナイメージを指定できます。  
このオプションは、`--use-container` オプションが指定されている場合のみに適用され、指定されていない場合はエラーが発生します。

`--build-in-source | --no-build-in-source`  <a name="ref-sam-cli-build-options-build-in-source"></a>
ソースフォルダにプロジェクトを直接構築するには `--build-in-source` を指定します。  
`--build-in-source` オプションは、次のランタイムとビルドメソッドをサポートします:  
+ **ランタイム** – `sam init --runtime` オプションでサポートされている Node.js ランタイム。
+ **ビルドメソッド** – `Makefile`、`esbuild`。
`--build-in-source` オプションは、次のオプションとは互換性がありません:  
+ `--hook-name`
+ `--use-container `
*デフォルト*: `--no-build-in-source`

`--cached | --no-cached`  <a name="ref-sam-cli-build-options-cached"></a>
キャッシュされたビルドを有効または無効にします。このオプションを使用して、以前の builds から変更されていないビルドアーティファクトを再利用します。 AWS SAM は、プロジェクトディレクトリ内のファイルを変更したかどうかを評価します。デフォルトでは、ビルドはキャッシュされません。`--no-cached` オプションが呼び出されると、samconfig.toml の `cached = true` 設定が上書きされます。  
AWS SAM は、特定のバージョンが提供されていない場合、プロジェクトが依存するサードパーティーモジュールが変更されたかどうかを評価しません。たとえば、Python 関数にエントリ を持つ`requirements.txt`ファイルが含まれており`requests=1.x`、最新のリクエストモジュールのバージョンが から `1.1`に変わった場合`1.2`、 AWS SAM はキャッシュされていないビルドを実行するまで最新バージョンをプルしません。

`--cache-dir`  <a name="ref-sam-cli-build-options-cached-dir"></a>
`--cached` が指定されている場合にキャッシュアーティファクトが保存されるディレクトリです。デフォルトのキャッシュディレクトリは `.aws-sam/cache` です。

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

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

`--container-env-var, -e TEXT`  <a name="ref-sam-cli-build-options-container-env-var"></a>
ビルドコンテナに渡す環境変数です。このオプションは複数回指定できます。このオプションの各インスタンスは、キーバリューペアを使用します。このペアのキーはリソースと環境変数で、値は環境変数の値です。例: `--container-env-var Function1.GITHUB_TOKEN=TOKEN1 --container-env-var Function2.GITHUB_TOKEN=TOKEN2`。  
このオプションは、`--use-container` オプションが指定されている場合のみに適用され、指定されていない場合はエラーが発生します。

`--container-env-var-file, -ef PATH`  <a name="ref-sam-cli-build-options-container-env-var-file"></a>
コンテナの環境変数の値が含まれる JSON ファイルのパスとファイル名です。コンテナ環境変数ファイルの詳細については、「[コンテナ環境変数ファイル](serverless-sam-cli-using-build.md#serverless-sam-cli-using-container-environment-file)」を参照してください。  
このオプションは、`--use-container` オプションが指定されている場合のみに適用され、指定されていない場合はエラーが発生します。

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

`--docker-network TEXT`  <a name="ref-sam-cli-build-options-docker-network"></a>
デフォルトのブリッジネットワークと共に、Lambda Docker コンテナが接続する必要がある既存の Docker ネットワークの名前または ID を指定します。指定されていない場合、Lambda コンテナはデフォルトのブリッジ Docker ネットワークのみに接続します。

`--exclude, -x`  <a name="ref-sam-cli-build-options-exclude"></a>
`sam build` から除外するリソースの名前。例えば、テンプレートに `Function1`、`Function2`、`Function3` が含まれていて、`sam build --exclude Function2` を実行する場合、`Function1` および `Function3` だけが構築されます。

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

`--hook-name TEXT`  <a name="ref-sam-cli-build-options-hook-name"></a>
 AWS SAM CLI 機能の拡張に使用されるフックの名前。  
許容値: `terraform`。

`--manifest , -m PATH`  <a name="ref-sam-cli-build-options-manifest"></a>
デフォルトの代わりに使用する、カスタム依存関係のマニフェストファイル (package.json など) へのパスです。

`--mount-symlinks`  <a name="ref-sam-cli-build-options-mount-symlinks"></a>
 AWS SAM CLI が常にファイル内のシンボリックリンクをマウントして構築または呼び出しを行うようにします。これは、最上位ディレクトリのシンボリックリンク (つまり、関数のルートに直接あるシンボリックリンク) にのみ適用されます。デフォルトで、NodeJS で `node_modules` に `build-in-source` を使用するために必要なシンボリックリンク以外はマウントされません。

`--no-use-container`  <a name="ref-sam-cli-build-options-no-use-container"></a>
デフォルトの動作の設定に IDE ツールキットを使用できるようにするオプションです。`sam build --no-use-container` を使用して、Docker コンテナの代わりにローカルマシンでビルドを実行することもできます。

`--parallel`  <a name="ref-sam-cli-build-options-parallel"></a>
並列ビルドを有効にします。このオプションを使用して、 AWS SAM テンプレートの関数とレイヤーを並行して構築します。デフォルトで、関数とレイヤーは順番に構築されます。

`--parameter-overrides`  <a name="ref-sam-cli-build-options-parameter-overrides"></a>
(オプション) キーと値のペアとしてエンコードされた CloudFormation パラメータオーバーライドを含む文字列。 AWS Command Line Interface () と同じ形式を使用しますAWS CLI。例えば、「`ParameterKey`=`KeyPairName`, `ParameterValue`=`MyKey` `ParameterKey`=`InstanceType`, `ParameterValue`=`t1.micro`」などです。このオプションは `--hook-name` と互換性がありません。

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

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

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

`--skip-prepare-infra`  <a name="ref-sam-cli-build-options-skip-prepare-infra"></a>
インフラストラクチャに変更が加えられていない場合は、準備段階をスキップします。`--hook-name` オプションと合わせて使用します。

`--skip-pull-image`  <a name="ref-sam-cli-build-options-skip-pull-image"></a>
コマンドが Lambda ランタイム用の最新 Docker イメージのプルダウンをスキップするべきかどうかを指定します。

`--template-file, --template, -t PATH`  <a name="ref-sam-cli-build-options-template-file"></a>
 AWS SAM テンプレートファイル のパスとファイル名`[default: template.[yaml|yml]]`。このオプションは `--hook-name` と互換性がありません。

`--terraform-project-root-path`  <a name="ref-sam-cli-build-options-terraform-project-root-path"></a>
Terraform設定ファイルまたは関数ソースコードを含む最上位ディレクトリへの相対パスまたは絶対パス。Terraformこれらのファイルがルートモジュールを含むディレクトリの外部にある場合は、このオプションを使用して絶対パスまたは相対パスを指定します。このオプションは `--hook-name` を `terraform` に設定する必要があります。

`--use-container`, `-u`  <a name="ref-sam-cli-build-options-use-container"></a>
関数がネイティブにコンパイルされた依存関係を持つパッケージに依存する場合は、このオプションを使用して、Lambda に似た Docker コンテナ内で関数を構築します。

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

`sam build` サブコマンドの使用での、詳細な例と詳しいチュートリアルについては、「[を使用した の構築の概要 AWS SAM](using-sam-cli-build.md)」を参照してください。