翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
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, -sDIRECTORY-
関数またはレイヤーのソースコードへの相対パスを、このディレクトリを基準にして解決します。このオプションは、ソースコードフォルダへの相対パスの解決方法を変更したい場合に使用します。デフォルトで、相対パスは 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, -bDIRECTORY-
ビルドアーティファクトが保存されているディレクトリへのパスです。このオプションを使用すると、このディレクトリとそのコンテンツのすべてが削除されます。
--build-imageTEXT-
ビルド用にプルするコンテナイメージの 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-
ソースフォルダにプロジェクトを直接構築するには
--build-in-sourceを指定します。--build-in-sourceオプションは、次のランタイムとビルドメソッドをサポートします:-
ランタイム –
sam init --runtimeオプションでサポートされている Node.js ランタイム。 -
ビルドメソッド –
Makefile、esbuild。
--build-in-sourceオプションは、次のオプションとは互換性がありません:-
--hook-name -
--use-container
[Default] (デフォルト):
--no-build-in-source -
--cached | --no-cached-
キャッシュされたビルドを有効または無効にします。このオプションは、以前のビルドから変更されていないビルドアーティファクトを再利用するために使用します。AWS SAM は、プロジェクトディレクトリ内のファイルが変更されたかどうかを評価します。デフォルトでは、ビルドはキャッシュされません。
--no-cachedオプションが呼び出されると、samconfig.toml のcached = true設定が上書きされます。注記
AWS SAM は、特定のバージョンが提供されていない場合、プロジェクトが依存するサードパーティーモジュールが変更されたかどうかを評価しません。例えば、Python 関数に
requests=1.xエントリがあるrequirements.txtファイルが含まれていて、リクエストモジュールの最新バージョンが1.1から1.2に変更される場合、AWS SAM はキャッシュされていないビルドが実行されるまで最新バージョンをプルしません。 --cache-dir-
--cachedが指定されている場合にキャッシュアーティファクトが保存されるディレクトリです。デフォルトのキャッシュディレクトリは.aws-sam/cacheです。 --config-envTEXT-
使用する設定ファイル内のデフォルトパラメータ値を指定する環境名です。デフォルト値は「default」です。設定ファイルの詳細については、「AWS SAM CLI 設定ファイル」を参照してください。
--config-filePATH-
使用するデフォルトのパラメータ値が含まれる設定ファイルのパスとファイル名です。デフォルト値は、プロジェクトディレクトリのルートにある「
samconfig.toml」です。設定ファイルの詳細については、「AWS SAM CLI 設定ファイル」を参照してください。 --container-env-var, -eTEXT-
ビルドコンテナに渡す環境変数です。このオプションは複数回指定できます。このオプションの各インスタンスは、キーバリューペアを使用します。このペアのキーはリソースと環境変数で、値は環境変数の値です。例:
--container-env-var Function1.GITHUB_TOKEN=TOKEN1 --container-env-var Function2.GITHUB_TOKEN=TOKEN2。このオプションは、
--use-containerオプションが指定されている場合のみに適用され、指定されていない場合はエラーが発生します。 --container-env-var-file, -efPATH-
コンテナの環境変数の値が含まれる JSON ファイルのパスとファイル名です。コンテナ環境変数ファイルの詳細については、「コンテナ環境変数ファイル」を参照してください。
このオプションは、
--use-containerオプションが指定されている場合のみに適用され、指定されていない場合はエラーが発生します。 --debug-
デバッグロギングをオンにして、AWS SAM CLI が生成するメッセージを出力表示し、タイムスタンプを表示します。
--docker-networkTEXT-
デフォルトのブリッジネットワークと共に、Lambda Docker コンテナが接続する必要がある既存の Docker ネットワークの名前または ID を指定します。指定されていない場合、Lambda コンテナはデフォルトのブリッジ Docker ネットワークのみに接続します。
--exclude, -x-
sam buildから除外するリソースの名前。例えば、テンプレートにFunction1、Function2、Function3が含まれていて、sam build --exclude Function2を実行する場合、Function1およびFunction3だけが構築されます。 --help-
このメッセージを表示して終了します。
--hook-nameTEXT-
AWS SAM CLI 機能の拡張に使用されるフックの名前。
許容値:
terraform。 --manifest , -mPATH-
デフォルトの代わりに使用する、カスタム依存関係のマニフェストファイル (package.json など) へのパスです。
--mount-symlinks-
AWS SAM CLI が常にファイル内のシンボリックリンクをマウントして構築または呼び出しを行うようにします。これは、最上位ディレクトリのシンボリックリンク (つまり、関数のルートに直接作成されたシンボリックリンク) にのみ適用されます。デフォルトで、NodeJS で
node_modulesにbuild-in-sourceを使用するために必要なシンボリックリンク以外はマウントされません。 --no-use-container-
デフォルトの動作の設定に IDE ツールキットを使用できるようにするオプションです。
sam build --no-use-containerを使用して、Docker コンテナの代わりにローカルマシンでビルドを実行することもできます。 --parallel-
並列ビルドを有効にします。このオプションを使用して、AWS SAM テンプレートの関数とレイヤーを並列的に作成します。デフォルトで、関数とレイヤーは順番に構築されます。
--parameter-overrides-
(オプション) キーバリューペアとしてエンコードされた、CloudFormation パラメータオーバーライドが含まれる文字列です。AWS Command Line Interface (AWS CLI) と同じ形式を使用します。例えば、「
ParameterKey=KeyPairName,ParameterValue=MyKeyParameterKey=InstanceType,ParameterValue=t1.micro」などです。このオプションは--hook-nameと互換性がありません。 --profileTEXT-
AWS 認証情報を取得する、認証情報ファイルから特定のプロファイルです。
--regionTEXT-
デプロイ先の AWS リージョン です。例えば、us-east-1 などです。
--save-params-
コマンドラインで指定したパラメータを AWS SAM 設定ファイルに保存します。
--skip-prepare-infra-
インフラストラクチャに変更が加えられていない場合は、準備段階をスキップします。
--hook-nameオプションと合わせて使用します。 --skip-pull-image-
コマンドが Lambda ランタイム用の最新 Docker イメージのプルダウンをスキップするべきかどうかを指定します。
--template-file, --template, -tPATH-
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 を使用した構築の概要」を参照してください。