

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

部署 Lambda 函数后，可以通过多种方式调用函数：
+ [Lambda 控制台](testing-functions.md)：使用 Lambda 控制台快速创建测试事件来调用函数。
+ [AWS SDK](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)。