

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

# 第 1 步：创建 Lambda 函数
<a name="agent-tutorial-step1"></a>

首先，创建一个 Lambda 函数，您的代理将调用函数来执行操作。在此过程中，您将创建一个 Python Lambda 函数，在调用该函数时将返回当前日期和时间。您使用基本权限设置该函数，添加必要的代码来处理 Amazon Bedrock 代理发出的请求，并部署该函数，以便它可以连接到您的代理。

有关更多信息，请参阅《AWS Lambda 开发人员指南》**中的[创建第一个 Lambda 函数](https://docs.aws.amazon.com/lambda/latest/dg/getting-started.html)。

**创建 Lambda 函数**

1. 登录 AWS 管理控制台，然后通过以下网址打开 Lambda 控制台：[https://console.aws.amazon.com/lambda/](https://console.aws.amazon.com/lambda/)。

1. 选择**创建函数**。

1. 选择**从头开始编写**。

1. 在 **Basic information (基本信息)** 部分中：
   + 对于**函数名称**，输入函数的名称（例如 `DateTimeFunction`）。记下函数的名称，您在[步骤 2：创建 Amazon Bedrock 代理](agent-tutorial-step2.md)的第 15 步中需要该名称。
   + 对于**运行时**，选择 **Python 3.9**（或您的首选版本）。
   + 对于**架构**，请保持不变。
   + 在**权限**中，选择**更改默认执行角色**，然后选择**创建具有基本 Lambda 权限的新角色**。

1. 选择**创建函数**。

1. 在**函数概览**中的**函数 ARN** 下，记下该函数的 Amazon 资源名称（ARN）。您在[步骤 2：创建 Amazon Bedrock 代理](agent-tutorial-step2.md)的第 24 步中需要此名称。

1. 在**代码**选项卡中，使用以下内容替换现有代码：

   ```
   # Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
   # SPDX-License-Identifier: Apache-2.0
   import datetime
   import json
   
   
   def lambda_handler(event, context):
       now = datetime.datetime.now()
   
       response = {"date": now.strftime("%Y-%m-%d"), "time": now.strftime("%H:%M:%S")}
   
       response_body = {"application/json": {"body": json.dumps(response)}}
   
       action_response = {
           "actionGroup": event["actionGroup"],
           "apiPath": event["apiPath"],
           "httpMethod": event["httpMethod"],
           "httpStatusCode": 200,
           "responseBody": response_body,
       }
   
       session_attributes = event["sessionAttributes"]
       prompt_session_attributes = event["promptSessionAttributes"]
   
       return {
           "messageVersion": "1.0",
           "response": action_response,
           "sessionAttributes": session_attributes,
           "promptSessionAttributes": prompt_session_attributes,
       }
   ```

1. 选择**部署**以部署您的函数。

1. 选择**配置**选项卡。

1. 选择**权限**。

1. 在**基于资源的策略声明**下，选择**添加权限**。

1. 在**编辑策略声明**中，执行以下操作：

   1. 选择 **AWS 服务**

   1. 在**服务**中选择**其他**。

   1. 对于**声明 ID**，输入唯一标识符（例如，`AllowBedrockInvocation`）。

   1. 对于**主体**，输入 `bedrock.amazonaws.com`。

   1. 对于**资源 ARN**，输入 `arn:aws:bedrock:region:AWS account ID:agent/*`

      将 `region` 替换为您正在使用的 AWS 区域，例如 `us-east-1`。将 `AWS account ID` 替换为您的 AWS 账户 ID。

   1. 对于**操作**，选择 `lambda:InvokeFunction`。

1. 选择**保存**。