

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

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

本页提供 AWS Serverless Application Model 命令行界面 (AWS SAMCLI) `sam remote invoke` 命令的参考信息。
+ 有关简介 AWS SAMCLI，请参阅 [那是什么 AWS SAMCLI？](what-is-sam-overview.md#what-is-sam-cli)
+ 有关使用该 AWS SAMCLI`sam remote invoke`命令的文档，请参阅[使用 sam remote invoke 在云中测试简介](using-sam-cli-remote-invoke.md)。

`sam remote invoke` 命令调用 AWS 云中支持的资源。

## 用法
<a name="sam-cli-command-reference-remote-invoke-usage"></a>

```
$ sam remote invoke <arguments> <options>
```

## 参数
<a name="sam-cli-command-reference-remote-invoke-args"></a>

**Resource ID**  <a name="sam-cli-command-reference-remote-invoke-args-resource-id"></a>
要调用的支持资源的 ID。  
此参数接受以下值：  
+ **Amazon 资源名称（ARN）** – 资源的 ARN。
**提示**  
使用 `sam list stack-outputs --stack-name <stack-name>` 获取资源的 ARN。
+ **逻辑 ID** – 资源的逻辑 ID。您还必须使用`--stack-name`选项提供 AWS CloudFormation 堆栈名称。
+ **物理 ID** – 资源的物理 ID。此 ID 是在您使用部署资源时创建的 CloudFormation。
**提示**  
使用 `sam list resources --stack-name <stack-name>` 获取资源的物理 ID。  
**当您提供 ARN 或物理 ID 时：**  
如果您提供 ARN 或物理 ID，请不要提供堆栈名称。如果使用`--stack-name`选项提供堆栈名称，或者在配置文件中定义堆栈名称，则 AWS SAM CLI会自动将您的资源 ID 作为 CloudFormation 堆栈中的逻辑 ID 值进行处理。  
**当您不提供资源 ID 时：**  
如果您没有提供资源 ID，但确实提供了带有`--stack-name`选项的堆栈名称，则 AWS SAM CLI 将尝试使用以下逻辑自动调用 CloudFormation 堆栈中的资源：  

1.  AWS SAM CLI将按以下顺序识别资源类型，并在堆栈中找到资源类型后进入下一步：

   1. Lambda

   1. Step Functions

   1. Amazon SQS

   1. Kinesis Data Streams

1. 如果资源类型在您的堆栈中只有一个资源，则 AWS SAM CLI会调用它。如果您的堆栈中存在多个该资源类型的资源，则 AWS SAM CLI会返回错误。
以下是遗 AWS SAM CLI嘱的例子：  
+ **包含两个 Lambda 函数和一个 Amazon SQS 队列的堆栈** — AWS SAM CLI 由于堆栈包含多个 Lambda 函数，因此将找到 Lambda 资源类型并返回错误。
+ **包含一个 Lambda 函数和两个 Amazon Kinesis Data Streams 应用程序**的堆栈 — 由于堆栈包含单个 Lambda 资源，因此将 AWS SAM CLI找到 Lambda 函数并将其调用。
+ **包含单个 Amazon SQS 队列和两个 Kinesis Data Streams 应用程序的堆栈** — 由于该堆栈包含单个亚马逊 SQS 队列，因此 AWS SAM CLI将找到亚马逊 SQS 队列并调用该队列。

## 选项
<a name="sam-cli-command-reference-remote-invoke-options"></a>

`--beta-features | --no-beta-features`  <a name="sam-cli-command-reference-remote-invoke-options-beta-features"></a>
允许或拒绝测试版功能。

`--config-env TEXT`  <a name="sam-cli-command-reference-remote-invoke-options-config-env"></a>
从 AWS SAM CLI 配置文件中指定要使用的环境。  
*默认值*：`default`

`--config-file FILENAME`  <a name="sam-cli-command-reference-remote-invoke-options-config-file"></a>
指定配置文件的路径和文件名。  
有关配置文件的详细信息，请参阅 [配置 AWS SAM CLI](using-sam-cli-configure.md)。  
*默认*：`samconfig.toml` 位于项目目录的根目录。

`--debug`  <a name="sam-cli-command-reference-remote-invoke-options-debug"></a>
启用调试登入 这将打印由 AWS SAM CLI 生成的调试消息和时间戳。

`--event, -e TEXT`  <a name="sam-cli-command-reference-remote-invoke-options-event"></a>
要发送到目标资源的事件。

`--event-file FILENAME`  <a name="sam-cli-command-reference-remote-invoke-options-event-file"></a>
包含要发送到目标资源的事件的文件路径。

`--help, -h`  <a name="sam-cli-command-reference-remote-invoke-options-help"></a>
显示帮助消息并退出。

`--output [ text | json ]`  <a name="sam-cli-command-reference-remote-invoke-options-output"></a>
以特定的输出格式输出调用结果。  
`json` – 请求元数据和资源响应以 JSON 结构返回。响应包含完整的 SDK 输出。  
`text` – 请求元数据以文本结构返回。资源响应以被调用资源的输出格式返回。

`--parameter`  <a name="sam-cli-command-reference-remote-invoke-options-parameter"></a>
您可以传递给正在调用的资源的其他 [https://boto3.amazonaws.com/v1/documentation/api/latest/index.html](https://boto3.amazonaws.com/v1/documentation/api/latest/index.html) 参数。    
**Amazon Kinesis Data Streams**  <a name="sam-cli-command-reference-remote-invoke-options-parameter-kinesis"></a>
以下附加参数可用于将记录放入 Kinesis 数据流：  
+ `ExplicitHashKey='string'`
+ `PartitionKey='string'`
+ `SequenceNumberForOrdering='string'`
+ `StreamARN='string'`
有关每个参数的描述，请参阅 [Kinesis.Client.put\$1record](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/kinesis/client/put_record.html)。  
**AWS Lambda**  <a name="sam-cli-command-reference-remote-invoke-options-parameter-lambda"></a>
以下附加参数可用于调用 Lambda 资源并接收缓冲响应：  
+ `ClientContext='base64-encoded string'`
+ `InvocationType='[ DryRun | Event | RequestResponse ]'`
+ `LogType='[ None | Tail ]'`
+ `Qualifier='string'`
以下附加参数可用于通过响应流式处理调用 Lambda 资源：  
+ `ClientContext='base64-encoded string'`
+ `InvocationType='[ DryRun | RequestResponse ]'`
+ `LogType='[ None | Tail ]'`
+ `Qualifier='string'`
有关每个参数的说明，请参阅以下内容：  
+ 带有缓冲响应的 Lambda – [Lambda.Client.invoke](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/lambda/client/invoke.html)
+ 带响应流式处理的 Lambda – [Lambda.Client.invoke\$1with\$1response\$1stream](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/lambda/client/invoke_with_response_stream.html)  
**Amazon Simple Queue Service (Amazon SQS)**  <a name="sam-cli-command-reference-remote-invoke-options-parameter-sqs"></a>
以下附加参数可用于向 Amazon SQS 队列发送消息：  
+ `DelaySeconds=integer`
+ `MessageAttributes='json string'`
+ `MessageDeduplicationId='string'`
+ `MessageGroupId='string'`
+ `MessageSystemAttributes='json string'`
有关每个参数的描述，请参阅 [SQS.Client.send\$1message](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sqs/client/send_message.html)。  
**AWS Step Functions**  <a name="sam-cli-command-reference-remote-invoke-options-parameter-sf"></a>
以下附加参数可用于启动状态机执行：  
+ `name='string'`
+ `traceHeader='string'`
有关每个参数的描述，请参阅 [SFN.Client.start\$1execution](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/stepfunctions/client/start_execution.html)。

`--profile TEXT`  <a name="sam-cli-command-reference-remote-invoke-options-profile"></a>
从您的凭证文件中获取 AWS 凭证的特定个人资料。

`--region TEXT`  <a name="sam-cli-command-reference-remote-invoke-options-region"></a>
 AWS 区域 资源的。例如 `us-east-1`。

`--stack-name TEXT`  <a name="sam-cli-command-reference-remote-invoke-options-stack-name"></a>
资源所属 CloudFormation 堆栈的名称。

`--tenant-id TEXT`  <a name="ref-sam-cli-local-invoke-options-tenancyconfig"></a>
多租户 Lambda 函数的租户 ID。用于确保不同租户之间的计算隔离。在调用配置了租户隔离模式的函数时为必填项。

`--test-event-name NAME`  <a name="sam-cli-command-reference-remote-invoke-options-test-event-name"></a>
要传递给 Lambda 函数的可共享测试事件的名称。  
此选项仅支持 Lambda 函数。

## 示例
<a name="sam-cli-command-reference-remote-invoke-examples"></a>

以下示例调用 AWS 云中支持的资源并激活调试日志记录，调试日志记录会打印由生成的调试消息和时间戳： AWS SAMCLI

```
$ sam remote invoke--debug
```