

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

# 步驟 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 管理主控台，並開啟位於 [https://console.aws.amazon.com/lambda/](https://console.aws.amazon.com/lambda/) 的 Lambda 主控台。

1. 選擇**建立函數** 。

1. 選取**從頭開始撰寫**。

1. 在 **Basic information (基本資訊)** 區段中：
   + 在**函數名稱**中，輸入函數名稱 (例如 `DateTimeFunction`)。請注意函數的名稱，您需要在[步驟 2：建立 Amazon Bedrock 代理程式](agent-tutorial-step2.md) 的步驟 15 中使用它。
   + 針對**執行時期**，選取 **Python 3.9** (或您偏好的版本)。
   + 對於**架構**，請保持不變。
   + 在**許可**中，選取**變更預設執行角色**，然後選取**使用基本 Lambda 許可建立新角色**。

1. 選擇**建立函數** 。

1. 在**函數概觀**的**函數 ARN** 下，記下函數的 Amazon Resource Name (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. 選擇 **Configuration** (組態) 索引標籤。

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. 選擇**儲存**。