翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
sam build
このページでは、 AWS Serverless Application Model コマンドラインインターフェイス (AWS SAM CLI) sam build
コマンド。
-
の概要 AWS SAM CLI、「」を参照してください。 AWS SAMCLI とは?
-
の使用に関するドキュメントについては、 AWS SAM CLI
sam build
コマンド、「」を参照してくださいAWS SAM を使用した構築の概要。
sam build
コマンドは、ローカルテストや AWS クラウドへのデプロイなど、開発者ワークフローの後続のステップに備えてアプリケーションを準備します。
使用方法
$
sam build
<arguments>
<options>
引数
- リソース ID
-
オプション。AWS SAM テンプレート で宣言された単一のリソースを構築する AWS SAM ように指示します。指定されたリソースのビルドアーティファクトは、ワークフローの後続コマンド (つまり、
sam package
とsam deploy
) に使用できる唯一のアーティファクトになります。
オプション
--base-dir, -s
DIRECTORY
-
関数またはレイヤーのソースコードへの相対パスを、このディレクトリを基準にして解決します。このオプションは、ソースコードフォルダへの相対パスの解決方法を変更したい場合に使用します。デフォルトで、相対パスは 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
-
ベータ機能を許可または拒否します。
--build-dir, -b
DIRECTORY
-
ビルドアーティファクトが保存されているディレクトリへのパスです。このオプションを使用すると、このディレクトリとそのコンテンツのすべてが削除されます。
--build-image
TEXT
-
ビルド用にプルするコンテナイメージURIの 。デフォルトでは、 は Amazon ECR Public からコンテナイメージを AWS SAM プルします。このオプションは、別の場所からイメージをプルするために使用します。
このオプションは複数回指定できます。このオプションの各インスタンスには、文字列またはキーバリューペアを使用できます。文字列を指定すると、アプリケーション内のすべてのリソースに使用するコンテナイメージ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
-
ソースフォルダにプロジェクトを直接構築するには
--build-in-source
を指定します。--build-in-source
オプションは、次のランタイムとビルドメソッドをサポートします:-
ランタイム – すべて Node.js ランタイムは
sam init --runtime
オプションでサポートされています。 -
ビルドメソッド –
Makefile
、esbuild
。
--build-in-source
オプションは、次のオプションとは互換性がありません:-
--hook-name
-
--use-container
デフォルト:
--no-build-in-source
-
--cached | --no-cached
-
キャッシュされたビルドを有効または無効にします。このオプションを使用して、以前の builds から変更されていないビルドアーティファクトを再利用します。 AWS SAM は、プロジェクトディレクトリ内のファイルを変更したかどうかを評価します。デフォルトでは、ビルドはキャッシュされません。この
--no-cached
オプションが呼び出されると、samcofig.toml のcached = true
設定が上書きされます。注記
AWS SAM は、特定のバージョンが提供されていない場合、プロジェクトが依存するサードパーティーモジュールが変更されたかどうかを評価しません。例えば、Python 関数にエントリ を含む
requirements.txt
ファイルが含まれておりrequests=1.x
、最新のリクエストモジュールバージョンが から1.1
に変更された場合1.2
、 AWS SAM はキャッシュされていないビルドを実行するまで最新バージョンをプルしません。 --cache-dir
-
--cached
が指定されている場合にキャッシュアーティファクトが保存されるディレクトリです。デフォルトのキャッシュディレクトリは.aws-sam/cache
です。 --config-env
TEXT
-
使用する設定ファイル内のデフォルトパラメータ値を指定する環境名です。デフォルト値は「default」です。設定ファイルの詳細については、「AWS SAM CLI 設定ファイル」を参照してください。
--config-file
PATH
-
使用するデフォルトのパラメータ値が含まれる設定ファイルのパスとファイル名です。デフォルト値は、プロジェクトディレクトリのルートにある「
samconfig.toml
」です。設定ファイルの詳細については、「AWS SAM CLI 設定ファイル」を参照してください。 --container-env-var, -e
TEXT
-
ビルドコンテナに渡す環境変数です。このオプションは複数回指定できます。このオプションの各インスタンスは、キーバリューペアを使用します。このペアのキーはリソースと環境変数で、値は環境変数の値です。例:
--container-env-var Function1.GITHUB_TOKEN=TOKEN1 --container-env-var Function2.GITHUB_TOKEN=TOKEN2
。このオプションは、
--use-container
オプションが指定されている場合のみに適用され、指定されていない場合はエラーが発生します。 --container-env-var-file, -ef
PATH
-
コンテナの環境変数の値を含むJSONファイルのパスとファイル名。コンテナ環境変数ファイルの詳細については、「コンテナ環境変数ファイル」を参照してください。
このオプションは、
--use-container
オプションが指定されている場合のみに適用され、指定されていない場合はエラーが発生します。 --debug
-
デバッグログ記録を有効にして、 AWS SAM CLI は を生成し、 はタイムスタンプを表示します。
--docker-network
TEXT
-
既存の の名前または ID を指定します。Docker Lambda が Docker コンテナは、デフォルトのブリッジネットワークとともに に接続する必要があります。指定しない場合、Lambda コンテナはデフォルトのブリッジにのみ接続されます。Docker ネットワーク。
--exclude, -x
-
sam build
から除外するリソースの名前。例えば、テンプレートにFunction1
、Function2
、Function3
が含まれていて、sam build --exclude Function2
を実行する場合、Function1
およびFunction3
だけが構築されます。 --help
-
このメッセージを表示して終了します。
--hook-name
TEXT
-
拡張に使用されるフックの名前 AWS SAM CLI 機能。
許容値:
terraform
。 --manifest , -m
PATH
-
デフォルトの代わりに使用する、カスタム依存関係のマニフェストファイル (package.json など) へのパスです。
--parallel
-
並列ビルドを有効にします。このオプションを使用して、 AWS SAM テンプレートの関数とレイヤーを並列に構築します。デフォルトで、関数とレイヤーは順番に構築されます。
--parameter-overrides
-
(オプション) キーと値のペアとしてエンコードされた AWS CloudFormation パラメータオーバーライドを含む文字列。() と同じ形式を使用します AWS Command Line Interface AWS CLI。例えば、「
ParameterKey
=KeyPairName
,ParameterValue
=MyKey
ParameterKey
=InstanceType
,ParameterValue
=t1.micro
」などです。このオプションは--hook-name
と互換性がありません。 --profile
TEXT
-
認証情報を取得する AWS 認証情報ファイルからの特定のプロファイル。
--region
TEXT
-
デプロイ AWS リージョン 先の 。例えば、us-east-1 などです。
--save-params
-
コマンドラインで指定したパラメータを設定 AWS SAM ファイルに保存します。
--skip-prepare-infra
-
インフラストラクチャに変更が加えられていない場合は、準備段階をスキップします。
--hook-name
オプションと合わせて使用します。 --skip-pull-image
-
コマンドが Lambda ランタイム用の最新 Docker イメージのプルダウンをスキップするべきかどうかを指定します。
--template-file, --template, -t
PATH
-
AWS SAM テンプレートファイル のパスとファイル名
[default: template.[yaml|yml]]
。このオプションは--hook-name
と互換性がありません。 --terraform-project-root-path
-
を含む最上位ディレクトリへの相対パスまたは絶対パス Terraform 設定ファイルまたは関数ソースコード。これらのファイルが を含むディレクトリの外部にある場合 Terraform ルートモジュール。このオプションを使用して、絶対パスまたは相対パスを指定します。このオプションは
--hook-name
をterraform
に設定する必要があります。 --use-container
,-u
-
関数がネイティブにコンパイルされた依存関係を持つパッケージに依存する場合は、このオプションを使用して、Lambda に似た Docker コンテナ内で関数を構築します。
例
sam build
サブコマンドの使用での、詳細な例と詳しいチュートリアルについては、「AWS SAM を使用した構築の概要」を参照してください。