本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
sam remote invoke
此页面提供了 Amazon Serverless Application Model 命令行界面(Amazon SAM CLI) sam remote invoke
命令的参考信息。
-
有关 Amazon SAM CLI 的简介,请参阅 那是什么 Amazon SAMCLI?。
-
有关使用 Amazon SAM CLI
sam remote invoke
命令的文档,请参阅 使用 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
获取资源的 ARN。<stack-name>
-
逻辑 ID – 资源的逻辑 ID。您还必须使用
--stack-name
选项提供 Amazon CloudFormation 堆栈名称。 -
物理 ID – 资源的物理 ID。此 ID 是在您使用 Amazon CloudFormation 部署资源时创建的。
提示
使用
sam list resources --stack-name
获取资源的物理 ID。<stack-name>
- 当您提供 ARN 或物理 ID 时:
-
如果您提供 ARN 或物理 ID,请不要提供堆栈名称。如果使用
--stack-name
选项提供堆栈名称,或者在配置文件中定义堆栈名称,则 Amazon SAM CLI 会自动将资源 ID 作为 Amazon CloudFormation 堆栈中的逻辑 ID 值进行处理。 - 当您不提供资源 ID 时:
-
如果您没有提供资源 ID,但使用
--stack-name
选项提供了堆栈名称,则 Amazon SAM CLI 将尝试使用以下逻辑自动调用 Amazon CloudFormation 堆栈中的资源:-
Amazon SAM CLI 将按以下顺序识别资源类型,并且一旦在堆栈中找到资源类型,则进入下一步:
-
Lambda
-
Step Functions
-
Amazon SQS
-
Kinesis Data Streams
-
-
如果堆栈中只有一个该资源类型的资源,则 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
'
有关每个参数的说明,请参阅以下内容:
-
带有缓冲响应的 Lambda – Lambda.Client.invoke
-
带响应流式处理的 Lambda – Lambda.Client.invoke_with_response_stream
-
- 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 函数。