sam build - AWS Serverless Application Model

sam build

AWS Serverless Application Model コマンドラインインターフェイス (AWS SAM CLI) sam build コマンドのオプションです。

  • AWS SAM CLI の概要については、「AWS SAMCLI とは?」を参照してください。

  • AWS SAM CLI sam build コマンドの使用に関するドキュメントについては、「sam build を使用する」を参照してください。

使用方法

$ sam build <arguments> <options>

引数

引数 説明
RESOURCE_LOGICAL_ID オプション。AWS SAM テンプレートで宣言された単一のリソースを構築するよう AWS SAM に指示します。指定されたリソースのビルドアーティファクトは、ワークフローの後続コマンド (つまり、sam packagesam deploy) に使用できる唯一のアーティファクトになります。

オプション

オプション 説明
--hook-name TEXT

AWS SAM CLI 機能の拡張に使用されるフックの名前。

許容値: terraform

--terraform-project-root-path

Terraform設定ファイルまたは関数ソースコードを含む最上位ディレクトリへの相対パスまたは絶対パス。Terraformこれらのファイルがルートモジュールを含むディレクトリの外部にある場合は、このオプションを使用して絶対パスまたは相対パスを指定します。このオプションは --hook-nameterraform に設定する必要があります。

--skip-prepare-infra インフラストラクチャに変更が加えられていない場合は、準備段階をスキップします。--hook-name オプションと合わせて使用します。
-b, --build-dir DIRECTORY ビルドアーティファクトが保存されているディレクトリへのパスです。このオプションを使用すると、このディレクトリとそのコンテンツのすべてが削除されます。
-s, --base-dir DIRECTORY 関数またはレイヤーのソースコードへの相対パスを、このディレクトリを基準にして解決します。このオプションは、ソースコードフォルダへの相対パスの解決方法を変更したい場合に使用します。デフォルトで、相対パスは AWS SAM テンプレートの場所を基準にして解決されます。

このオプションは、構築しているルートアプリケーションまたはスタックのリソースに加えて、ネストされたアプリケーションまたはスタックにも適用されます。

このオプションは、以下のリソースタイプとプロパティに適用されます。

  • リソースタイプ: AWS::Serverless::Function プロパティ: CodeUri

  • リソースタイプ: AWS::Serverless::Function リソース属性: Metadata エントリ: DockerContext

  • リソースタイプ: AWS::Serverless::LayerVersion プロパティ: ContentUri

  • リソースタイプ: AWS::Lambda::Function プロパティ: Code

  • リソースタイプ: AWS::Lambda::LayerVersion プロパティ: Content

-u, --use-container 関数がネイティブにコンパイルされた依存関係を持つパッケージに依存する場合は、このオプションを使用して、Lambda に似た Docker コンテナ内で関数を構築します。
-e, --container-env-var TEXT ビルドコンテナに渡す環境変数です。このオプションは複数回指定できます。このオプションの各インスタンスは、キーバリューペアを使用します。このペアのキーはリソースと環境変数で、値は環境変数の値です。例: --container-env-var Function1.GITHUB_TOKEN=TOKEN1 --container-env-var Function2.GITHUB_TOKEN=TOKEN2

このオプションは、--use-container オプションが指定されている場合のみに適用され、指定されていない場合はエラーが発生します。

-ef, --container-env-var-file PATH コンテナの環境変数の値が含まれる JSON ファイルのパスとファイル名です。コンテナ環境変数ファイルの詳細については、「コンテナ環境変数ファイル」を参照してください。

このオプションは、--use-container オプションが指定されている場合のみに適用され、指定されていない場合はエラーが発生します。

--build-image TEXT

ビルド用にプルするコンテナイメージの 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 オプションが指定されている場合のみに適用され、指定されていない場合はエラーが発生します。

-m, --manifest PATH デフォルトの代わりに使用する、カスタム依存関係のマニフェストファイル (package.json など) へのパスです。
-t, --template-file, --template PATH AWS SAM テンプレートファイル [default: template.[yaml|yml]] のパスと名前です。このオプションは --hook-name と互換性がありません。
--parameter-overrides (オプション) キーバリューペアとしてエンコードされた、AWS CloudFormation パラメータオーバーライドが含まれる文字列です。AWS Command Line Interface (AWS CLI) と同じ形式を使用します。例えば、「ParameterKey=KeyPairName, ParameterValue=MyKey ParameterKey=InstanceType, ParameterValue=t1.micro」などです。このオプションは --hook-name と互換性がありません。
--skip-pull-image コマンドが Lambda ランタイム用の最新 Docker イメージのプルダウンをスキップするべきかどうかを指定します。
--docker-network TEXT デフォルトのブリッジネットワークと共に、Lambda Docker コンテナが接続する必要がある既存の Docker ネットワークの名前または ID を指定します。指定されていない場合、Lambda コンテナはデフォルトのブリッジ Docker ネットワークのみに接続します。
--beta-features | --no-beta-features ベータ機能を許可または拒否します。
--parallel 並列ビルドを有効にします。このオプションを使用して、AWS SAM テンプレートの関数とレイヤーを並列的に作成します。デフォルトで、関数とレイヤーは順番に構築されます。
--cached | --no-cached キャッシュされたビルドを有効または無効にします。このオプションは、以前のビルドから変更されていないビルドアーティファクトを再利用するために使用します。AWS SAM は、プロジェクトディレクトリ内のファイルが変更されたかどうかを評価します。デフォルトでは、ビルドはキャッシュされません。この --no-cached オプションが呼び出されると、samcofig.toml の cached = true 設定が上書きされます。注意: AWS SAM は、特定のバージョンが提供されていない場合、プロジェクトが依存するサードパーティーモジュールが変更されたかどうかを評価しません。例えば、Python 関数に requests=1.x エントリがある requirements.txt ファイルが含まれていて、リクエストモジュールの最新バージョンが 1.1 から 1.2 に変更される場合、AWS SAM はキャッシュされていないビルドが実行されるまで最新バージョンをプルしません。
--cache-dir --cached が指定されている場合にキャッシュアーティファクトが保存されるディレクトリです。デフォルトのキャッシュディレクトリは .aws-sam/cache です。
-x, --exclude SAM CLI ビルドから除外するリソースの名前。例えば、テンプレートに Function1Function2Function3 が含まれていて、sam build --exclude Function2 を実行する場合、Function1 および Function3 だけが構築されます。
--profile TEXT AWS 認証情報を取得する、認証情報ファイルから特定のプロファイルです。
--region TEXT デプロイ先の AWS リージョンです。例えば、us-east-1 などです。
--config-file PATH 使用するデフォルトのパラメータ値が含まれる設定ファイルのパスとファイル名です。デフォルト値は、プロジェクトディレクトリのルートにある「samconfig.toml」です。設定ファイルの詳細については、「AWS SAM CLI 設定ファイル」を参照してください。
--config-env TEXT 使用する設定ファイル内のデフォルトパラメータ値を指定する環境名です。デフォルト値は「default」です。設定ファイルの詳細については、「AWS SAM CLI 設定ファイル」を参照してください。
--debug デバッグロギングをオンにして、AWS SAM CLI が生成するメッセージを出力表示し、タイムスタンプを表示します。
--help このメッセージを表示して終了します。