sam remote invoke - Amazon Serverless Application Model
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

sam remote invoke

此页面提供了 Amazon Serverless Application Model 命令行界面(Amazon SAM CLI) sam remote invoke 命令的参考信息。

sam remote invoke 命令调用 Amazon Web Services 云 中支持的资源。

使用量

$ sam remote invoke <arguments> <options>

参数

资源 ID

要调用的支持资源的 ID。

此参数接受以下值:

  • Amazon 资源名称(ARN) – 资源的 ARN。

    提示

    使用 sam list stack-outputs --stack-name <stack-name> 获取资源的 ARN。

  • 逻辑 ID – 资源的逻辑 ID。您还必须使用 --stack-name 选项提供 Amazon CloudFormation 堆栈名称。

  • 物理 ID – 资源的物理 ID。此 ID 是在您使用 Amazon CloudFormation 部署资源时创建的。

    提示

    使用 sam list resources --stack-name <stack-name> 获取资源的物理 ID。

当您提供 ARN 或物理 ID 时:

如果您提供 ARN 或物理 ID,请不要提供堆栈名称。如果使用 --stack-name 选项提供堆栈名称,或者在配置文件中定义堆栈名称,则 Amazon SAM CLI 会自动将资源 ID 作为 Amazon CloudFormation 堆栈中的逻辑 ID 值进行处理。

当您不提供资源 ID 时:

如果您没有提供资源 ID,但使用 --stack-name 选项提供了堆栈名称,则 Amazon SAM CLI 将尝试使用以下逻辑自动调用 Amazon CloudFormation 堆栈中的资源:

  1. Amazon SAM CLI 将按以下顺序识别资源类型,并且一旦在堆栈中找到资源类型,则进入下一步:

    1. Lambda

    2. Step Functions

    3. Amazon SQS

    4. Kinesis Data Streams

  2. 如果堆栈中只有一个该资源类型的资源,则 Amazon SAM CLI 会调用它。如果堆栈中存在多个该资源类型的资源,则 Amazon SAM CLI 会返回错误。

以下是 Amazon SAM CLI 将执行操作的示例:

  • 包含两个 Lambda 函数和一个 Amazon SQS 队列的堆栈 – Amazon SAM CLI 由于堆栈包含多个 Lambda 函数,因此将查找 Lambda 资源类型并返回错误。

  • 包含一个 Lambda 函数和两个 Amazon Kinesis Data Streams 应用程序的堆栈 – 由于堆栈包含单个 Lambda 资源,因此 Amazon SAM CLI 将查找 Lambda 函数并将其调用。

  • 包含单个 Amazon SQS 队列和两个 Kinesis Data Streams 应用程序的堆栈 – 由于堆栈包含单个 Amazon SQS 队列,因此 Amazon SAM CLI 将查找并调用该队列。

Options

--beta-features | --no-beta-features

允许或拒绝测试版功能。

--config-env TEXT

从 Amazon SAM CLI 配置文件中指定要使用的环境。

默认值default

--config-file FILENAME

指定配置文件的路径和文件名。

有关配置文件的详细信息,请参阅 配置 Amazon SAM CLI

默认samconfig.toml 位于项目目录的根目录。

--debug

启用调试登入 这将打印由 Amazon SAM CLI 生成的调试消息和时间戳。

--event, -e TEXT

要发送到目标资源的事件。

--event-file FILENAME

包含要发送到目标资源的事件的文件路径。

--help, -h

显示帮助消息并退出。

--output [ text | json ]

以特定的输出格式输出调用结果。

json – 请求元数据和资源响应以 JSON 结构返回。响应包含完整的 SDK 输出。

text – 请求元数据以文本结构返回。资源响应以被调用资源的输出格式返回。

--parameter

您可以传递给正在调用的资源的其他 Boto3 参数。

Amazon Kinesis Data Streams

以下附加参数可用于将记录放入 Kinesis 数据流:

  • ExplicitHashKey='string'

  • PartitionKey='string'

  • SequenceNumberForOrdering='string'

  • StreamARN='string'

有关每个参数的描述,请参阅 Kinesis.Client.put_record

Amazon Lambda

以下附加参数可用于调用 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'

有关每个参数的说明,请参阅以下内容:

Amazon Simple Queue Service(Amazon SQS)

以下附加参数可用于向 Amazon SQS 队列发送消息:

  • DelaySeconds=integer

  • MessageAttributes='json string'

  • MessageDeduplicationId='string'

  • MessageGroupId='string'

  • MessageSystemAttributes='json string'

有关每个参数的描述,请参阅 SQS.Client.send_message

Amazon Step Functions

以下附加参数可用于启动状态机执行:

  • name='string'

  • traceHeader='string'

有关每个参数的描述,请参阅 SFN.Client.start_execution

--profile TEXT

您的凭证文件中用于获取 Amazon 凭证的特定配置文件。

--region TEXT

资源的 Amazon Web Services 区域。例如,us-east-1

--stack-name TEXT

资源所属的 Amazon CloudFormation 堆栈的名称。

--test-event-name NAME

要传递给 Lambda 函数的可共享测试事件的名称。

注意

此选项仅支持 Lambda 函数。