sam remote invoke - AWS Serverless Application Model

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

sam remote invoke

此頁面提供 AWS Serverless Application Model 命令列介面的參考資訊 (AWS SAM CLI) sam remote invoke命令。

sam remote invoke 命令會叫用 中支援的資源 AWS 雲端。

用量

$ sam remote invoke <arguments> <options>

引數

資源 ID

要叫用之受支援資源的 ID。

此引數接受下列值:

  • Amazon Resource Name (ARN) – 資源ARN的 。

    提示

    使用 sam list stack-outputs --stack-name <stack-name>取得 資源ARN的 。

  • 邏輯 ID – 資源的邏輯 ID。您還必須使用 --stack-name選項提供 AWS CloudFormation 堆疊名稱。

  • 實體 ID – 資源的實體 ID。當您使用 部署資源時,會建立此 ID AWS CloudFormation。

    提示

    使用 sam list resources --stack-name <stack-name>取得 資源的實體 ID。

當您提供 ARN或 實體 ID 時:

如果您提供 ARN或 實體 ID,請勿提供堆疊名稱。使用 --stack-name選項提供堆疊名稱時,或在組態檔案中定義堆疊名稱時, AWS SAM CLI 會自動將資源 ID 作為邏輯 ID 值從 AWS CloudFormation 堆疊處理。

當您不提供資源 ID 時:

如果您未提供資源 ID,但提供包含 --stack-name選項的堆疊名稱, AWS SAM CLI將嘗試使用以下邏輯自動調用 AWS CloudFormation 堆疊中的資源:

  1. 的 AWS SAM CLI 會依下列順序識別資源類型,並在堆疊中找到資源類型後移至下一個步驟:

    1. Lambda

    2. Step Functions

    3. Amazon SQS

    4. Kinesis Data Streams

  2. 如果資源類型在堆疊中具有單一資源,則 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佇列。

選項

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

允許或拒絕 Beta 功能。

--config-env TEXT

從 指定要使用的環境 AWS SAM CLI 組態檔案。

預設default

--config-file FILENAME

指定組態檔案的路徑和檔案名稱。

如需關於組態檔案的詳細資訊,請參閱 配置 AWS SAMCLI

預設:在專案目錄根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'

如需每個參數的說明,請參閱下列內容:

Amazon Simple Queue Service (Amazon 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.start_execution。

--profile TEXT

從您的憑證檔案中取得 AWS 憑證的特定設定檔。

--region TEXT

資源 AWS 區域 的 。例如:us-east-1

--stack-name TEXT

資源所屬的 AWS CloudFormation 堆疊名稱。

--test-event-name NAME

要傳遞至 Lambda 函數的可共用測試事件名稱。

注意

此選項僅支援 Lambda 函數。