本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
sam remote invoke
本页提供 AWS Serverless Application Model 命令行界面的参考信息 (AWS SAM CLI) sam remote invoke
命令。
-
有关简介 AWS SAM CLI,请参阅 什么是 AWS SAMCLI?
-
有关使用方法的文档 AWS SAM CLI
sam remote invoke
命令,请参阅云端测试简介 sam remote invoke。
sam remote invoke
命令调用 AWS Cloud中支持的资源。
使用量
$
sam remote invoke
<arguments> <options>
参数
- 资源 ID
-
要调用的支持资源的 ID。
此参数接受以下值:
-
Amazon 资源名称 (ARN)-资源的名称。ARN
提示
sam list stack-outputs --stack-name
用于获取您的资源。ARN<stack-name>
-
逻辑 ID – 资源的逻辑 ID。您还必须使用
--stack-name
选项提供 AWS CloudFormation 堆栈名称。 -
物理 ID – 资源的物理 ID。此 ID 是在您使用部署资源时创建的 AWS CloudFormation。
提示
使用
sam list resources --stack-name
获取资源的物理 ID。<stack-name>
- 当您提供ARN或实物身份证时:
-
如果您提供ARN或物理 ID,请不要提供堆栈名称。当使用
--stack-name
选项提供堆栈名称时,或者当堆栈名称是在配置文件中定义时, AWS SAM CLI 会自动将您的资源 ID 作为 AWS CloudFormation 堆栈中的逻辑 ID 值进行处理。 - 当您不提供资源 ID 时:
-
如果您没有提供资源 ID,但确实提供了带有
--stack-name
选项的堆栈名称,则 AWS SAM CLI将尝试使用以下逻辑自动调用 AWS CloudFormation 堆栈中的资源:-
的 AWS SAM CLI 将按以下顺序识别资源类型,并在堆栈中找到资源类型后进入下一步:
-
Lambda
-
Step Functions
-
Amazon SQS
-
Kinesis Data Streams
-
-
如果资源类型的堆栈中只有一个资源,则 AWS SAM CLI 会调用它。如果您的堆栈中存在多个该资源类型的资源,则 AWS SAM CLI 将返回错误。
以下是一些示例 AWS SAM CLI 会做的:
-
包含两个 Lambda 函数和一个 Amazon SQS 队列的堆栈 — AWS SAM CLI 将找到 Lambda 资源类型并返回错误,因为堆栈包含多个 Lambda 函数。
-
包含一个 Lambda 函数和两个 Amazon Kinesis Data Streams 应用程序的堆栈 — AWS SAM CLI 将找到 Lambda 函数并将其调用,因为堆栈包含单个 Lambda 资源。
-
包含单个 Amazon SQS 队列和两个 Kinesis Data Streams 应用程序的堆栈 — AWS SAM CLI 将找到 Amazon SQS 队列并调用它,因为该堆栈包含单个 Amazon SQS 队列。
-
-
Options
--beta-features | --no-beta-features
-
允许或拒绝测试版功能。
--config-env
TEXT
-
从您的环境中指定要使用的环境 AWS SAM CLI 配置文件。
默认值:
default
--config-file
FILENAME
-
指定配置文件的路径和文件名。
有关配置文件的详细信息,请参阅 配置 AWS SAM CLI。
默认:
samconfig.toml
位于项目目录的根目录。 --debug
-
启用调试登入 这将打印由生成的调试消息和时间戳 AWS 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
。 -
- AWS 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
'
有关每个参数的说明,请参阅以下内容:
-
带有缓冲响应的 Lambda – Lambda.Client.invoke
-
带响应流式处理的 Lambda – Lambda.Client.invoke_with_response_stream
-
- 亚马逊简单队列服务(亚马逊SQS)
-
以下附加参数可用于向 Amazon SQS 队列发送消息:
-
DelaySeconds=
integer
-
MessageAttributes='
json string
' -
MessageDeduplicationId='
string
' -
MessageGroupId='
string
' -
MessageSystemAttributes='
json string
'
有关每个参数的描述,请参阅 SQS.client.send
_Message。 -
- AWS Step Functions
-
以下附加参数可用于启动状态机执行:
-
name='
string
' -
traceHeader='
string
'
有关每个参数的描述,请参阅 SFN.client.st
art_Execution。 -
--profile
TEXT
-
从您的凭证文件中获取 AWS 凭证的特定个人资料。
--region
TEXT
-
AWS 区域 资源的。例如,
us-east-1
。 --stack-name
TEXT
-
资源所属 AWS CloudFormation 堆栈的名称。
--test-event-name
NAME
-
要传递给 Lambda 函数的可共享测试事件的名称。
注意
此选项仅支持 Lambda 函数。
示例
以下示例调用云中支持的资源并激活调试日志记录,该日志会打印由 AWS 云端生成的调试消息和时间戳 AWS SAM CLI:
$
sam remote invoke--debug