

 CodeCatalyst Amazon 不再向新买家开放。现有客户可以继续正常使用该服务。有关更多信息，请参阅 [如何从中迁移 CodeCatalyst](migration.md)。

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 使用工作流调用 Lambda 函数
<a name="lam-invoke-action"></a>

本节介绍如何使用 CodeCatalyst 工作流程调用 AWS Lambda 函数。为此，您必须将 **AWS Lambda 调用**操作添加到工作流中。**AWS Lambda 调用**操作会调用您指定的 Lambda 函数。

除了调用您的函数之外，**AWS Lambda 调用**操作还会将从 Lambda 函数收到的响应有效载荷中的每个顶级密钥转换为[工作流输出变量](workflows-working-with-variables.md)。之后，可以在后续工作流操作中引用这些变量。如果您不想将所有顶级密钥都转换为变量，则可以使用筛选条件来指定确切的密钥。有关更多信息，请参阅[“AWS Lambda 调用”操作 YAML](lam-invoke-action-ref.md) 中的 [ResponseFilters](lam-invoke-action-ref.md#lam.invoke.response.filters) 属性描述。

**Topics**
+ [何时使用此操作](#lam-invoke-action-when-to-use)
+ ['使用的运行时镜像AWS Lambda “调用” 操作](#lam-invoke-action-runtime)
+ [示例：调用 Lambda 函数](lam-invoke-action-example-workflow.md)
+ [添加 'AWS Lambda “调用” 操作](lam-invoke-action-add.md)
+ ['AWS Lambda “调用” 变量](lam-invoke-action-variables.md)
+ [“AWS Lambda 调用”操作 YAML](lam-invoke-action-ref.md)

## 何时使用此操作
<a name="lam-invoke-action-when-to-use"></a>

如果您想向工作流中添加封装在 Lambda 函数中并由 Lambda 函数执行的功能，请使用此操作。

例如，您可能希望工作流在开始构建应用程序之前向 Slack 频道发送 `Build started` 通知。在此情况下，您的工作流将包括一个 **AWS Lambda 调用**操作（用于调用 Lambda 以发出 Slack 通知）和一个[构建操作](build-add-action.md)（用于构建应用程序）。

再举一个例子，您可能希望工作流在部署应用程序之前对其进行漏洞扫描。在此情况下，您将使用构建操作来构建应用程序，使用 **AWS Lambda 调用**操作来调用 Lambda 以扫描漏洞，并使用部署操作来部署已扫描的应用程序。

## '使用的运行时镜像AWS Lambda “调用” 操作
<a name="lam-invoke-action-runtime"></a>

**AWS Lambda 调用**操作在 [2022 年 11 月版映像](build-images.md#build.previous-image)上运行。有关更多信息，请参阅 [活动映像](build-images.md#build-curated-images)。