

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

# AWS SAM CLI
<a name="using-sam-cli"></a>

AWS Serverless Application Model コマンドラインインターフェイス (AWS SAM CLI) は、サーバーレスアプリケーションのローカル開発とテストのためのコマンドラインツールです。 AWS SAM CLI を使用すると、クラウドにデプロイする前に、サーバーレスアプリケーションをローカルで構築、変換、デプロイ、デバッグ、パッケージ化、初期化、同期できます。

AWS SAM CLI は、さまざまなフレームワークとInfrastructure as Code (IaC) ツールを使用して定義されたサーバーレスアプリケーションで動作し、さまざまなレベルのサポートを提供します。
+ **AWS SAM テンプレート** – ローカルテスト、デバッグ、パッケージング、デプロイ機能など、完全な機能セットでネイティブサポートを提供します。
+ **AWS CDK アプリケーション** – cdk synth コマンドを使用して AWS CDK アプリケーションを CloudFormation テンプレートに合成した後、Lambda 関数のローカルテストをサポートします。
+ **CloudFormation テンプレート** – は AWS SAM を拡張し CloudFormation、標準 CloudFormation テンプレートで定義されているサーバーレスリソースをサポートするため、直接的な互換性を提供します。
+ **Terraform アプリケーション** – Lambda 関数の構築とローカルテストに対する限定的なサポートを提供します。Terraform で定義された Lambda 関数を表す AWS SAM テンプレートアーティファクトを生成する必要があります。

最も包括的な機能サポートと効率的な開発者エクスペリエンスを得るには、ネイティブ AWS SAM テンプレートを使用することをお勧めします。

**Topics**
+ [AWS SAM CLI コマンドを文書化する方法](#using-sam-cli-documentation)
+ [AWS SAM CLI の設定](using-sam-cli-configure.md)
+ [AWS SAM CLI コアコマンド](using-sam-cli-corecommands.md)
+ [AWS SAM CLI によるローカルテスト](using-sam-cli-local-testing.md)

## AWS SAM CLI コマンドを文書化する方法
<a name="using-sam-cli-documentation"></a>

AWS SAM CLI コマンドは、次の形式で文書化されています。
+ **プロンプト** – Linux プロンプトはデフォルトで文書化され、(`$ `) として表示されます。Windows 固有のコマンドの場合、(`> `) がプロンプトとして使用されます。コマンドを入力した場合はプロンプトを含めないでください。
+ **ディレクトリ** – 特定のディレクトリからコマンドを実行する必要がある場合は、プロンプト記号の前にディレクトリ名が表示されます。
+ **ユーザー入力** – コマンドラインに入力するコマンドテキストは、**user input** としてフォーマットされます。
+ **置換可能なテキスト** – ファイル名やパラメータなどの可変テキストは、{{replaceable text}} としてフォーマットされます。複数行のコマンドまたは特定のキーボード入力が必要なコマンドの場合、キーボード入力も置き換え可能なテキストとして表示できます。例えば {{ENTER}} のようになります。
+ **出力** – コマンドに対するレスポンスとして返される出力は、`computer output` としてフォーマットされます。

次の `sam deploy` コマンドと出力は例です。

```
$ sam deploy --guided --template {{template.yaml}}

Configuring SAM deploy
======================

    Looking for config file [samconfig.toml] :  Found
    Reading default arguments  :  Success

    Setting default arguments for 'sam deploy'
    =========================================
    Stack Name [sam-app]: {{ENTER}}
    AWS Region [us-west-2]: {{ENTER}}
    #Shows you resources changes to be deployed and require a 'Y' to initiate deploy
    Confirm changes before deploy [y/N]: {{ENTER}}
    #SAM needs permission to be able to create roles to connect to the resources in your template
    Allow SAM CLI IAM role creation [Y/n]: {{ENTER}}
    #Preserves the state of previously provisioned resources when an operation fails
    Disable rollback [y/N]: {{ENTER}}
    HelloWorldFunction may not have authorization defined, Is this okay? [y/N]: {{y}}
    Save arguments to configuration file [Y/n]: {{ENTER}}
    SAM configuration file [samconfig.toml]: {{ENTER}}
    SAM configuration environment [default]: {{ENTER}}
```

1. `sam deploy --guided --template template.yaml` は、コマンドラインで入力するコマンドです。

1. **sam deploy --guided --template** はそのまま指定する必要があります。

1. {{template.yaml}} は、特定のファイル名に置き換えることができます。

1. 出力は `Configuring SAM deploy` から始まります。

1. 出力では、{{ENTER}} と {{y}} は、指定した置換可能な値を示します。