選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

非同步調用 Lambda 函數

焦點模式
非同步調用 Lambda 函數 - AWS Lambda

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

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

數個 AWS 服務,例如 Amazon Simple Storage Service (Amazon S3) 和 Amazon Simple Notification Service (Amazon SNS),以非同步方式叫用函數來處理事件。您也可以使用 AWS Command Line Interface (AWS CLI) 或其中一個 AWS SDKs 以非同步方式叫用 Lambda 函數。當您以非同步方式呼叫函數時,您不需要等待來自函數程式碼的回應。您可以將事件傳遞給 Lambda,而 Lambda 會處理其餘的工作。您可以設定 Lambda 處理錯誤的方式,且可將調用記錄傳送至 Amazon Simple Queue Service (Amazon SQS) 或 Amazon EventBridge (EventBridge) 這類下游資源,以便將您應用程式的元件鏈結在一起。

下圖顯示以非同步方式來調用 Lambda 函數的用戶端。Lambda 會先將事件排入佇列,再將事件傳送到函數。

用戶端以非同步方式調用函數。Lambda 會先將事件排入佇列,再將事件傳送到函數

針對非同步調用,Lambda 會將事件置放在佇列中,並傳回成功回應,其中不包含其他資訊。單獨的程序會從佇列讀取事件,並將事件傳送到您的函數。

若要使用 AWS Command Line Interface (AWS CLI) 或其中一個 AWS SDKs 非同步叫用 Lambda 函數,請將 InvocationType 參數設定為 Event。下列範例顯示 AWS CLI 命令來叫用 函數。

aws lambda invoke \ --function-name my-function \ --invocation-type Event \ --cli-binary-format raw-in-base64-out \ --payload '{ "key": "value" }' response.json

您應該會看到下列輸出:

{
    "StatusCode": 202
}

如果您使用的是第 2 AWS CLI 版,則 cli-binary-format選項為必要項目。若要讓此成為預設的設定,請執行 aws configure set cli-binary-format raw-in-base64-out。若要取得更多資訊,請參閱《AWS Command Line Interface 使用者指南第 2 版》AWS CLI 支援的全域命令列選項

輸出檔 (response.json) 不包含任何資訊,但仍會在您執行此命令時建立。如果 Lambda 無法將事件新增到佇列,錯誤訊息就會顯示在命令輸出中。

下一個主題:

錯誤處理

上一個主題:

同步調用函數
隱私權網站條款Cookie 偏好設定
© 2025, Amazon Web Services, Inc.或其附屬公司。保留所有權利。