

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

# 了解 Lambda 函數調用方法
<a name="lambda-invocation"></a>

部署 Lambda 函數之後，可以透過多種方式調用它：
+ [Lambda 主控台](testing-functions.md)：使用 Lambda 主控台快速建立測試事件以調用函數。
+ SDK [AWS](https://aws.amazon.com/developer/tools/) – 使用 AWS SDK 以程式設計方式叫用您的 函數。
+ [調用](https://docs.aws.amazon.com/lambda/latest/api/API_Invoke.html) API：使用 Lambda 調用 API 以直接調用您的 函數。
+ [AWS Command Line Interface (AWS CLI)](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/lambda/invoke.html) – 使用 `aws lambda invoke` AWS CLI 命令直接從命令列叫用函數。
+ [函數 URL HTTP(S) 端點](urls-configuration.md)：使用函數 URL 建立專用 HTTP(S) 端點，可用來調用函數。

所有這些方法都是調用函數的*直接*方式。在 Lambda 中，常見的使用案例是根據應用程式中其他位置發生的事件調用函數。有些服務可以調用 Lambda 函數來處理每個新事件。這稱為[觸發條件](lambda-services.md)。對於串流和佇列型服務，Lambda 會調用函數來處理批次記錄。這稱為[事件來源映射](invocation-eventsourcemapping.md)。

當您調用函式時，您可以選擇以同步或非同步方式進行調用。使用[同步調用](invocation-sync.md)，您會等待函式處理事件並傳回回應。使用[非同步](invocation-async.md)調用，Lambda 會將事件排入佇列以進行處理，並立即傳回回應。[調用 API 中的 `InvocationType` 請求參數](https://docs.aws.amazon.com/lambda/latest/api/API_Invoke.html#API_Invoke_RequestParameters)決定 Lambda 如何調用函數。值 `RequestResponse` 表示同步調用，值 `Event` 表示非同步調用。

若要透過 IPv6 調用您的函數，請使用 Lambda 的公有[雙堆疊端點](https://docs.aws.amazon.com/general/latest/gr/rande.html#dual-stack-endpoints)。雙堆疊端點可同時支援 IPv4 和 IPv6。Lambda 雙堆疊端點使用下列語法：

```
{{protocol}}://lambda.{{us-east-1}}.api.aws
```

也可以使用 [Lambda 函數 URL](urls-configuration.md) 透過 IPv6 來調用函數。函數 URL 端點的格式如下：

```
https://{{url-id}}.lambda-url.{{us-east-1}}.on.aws
```

如果函數調用導致錯誤，則對於同步調用，請檢視回應中的錯誤訊息，並手動重試調用。對於非同步調用，Lambda 會自動處理重試，並可將調用記錄傳送至[目的地](invocation-async-retain-records.md#invocation-async-destinations)。