

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# ステップ 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. [**基本的な情報**] セクションで、以下の操作を行います。
   + **[関数名]** に、関数の名前を入力します (`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` は、`us-east-1` など、現在使用している AWS リージョンに置き換えます。`AWS account ID` は、使用する AWS アカウント ID に置き換えます。

   1. **[アクション]** で、`lambda:InvokeFunction` を選択します。

1. **[保存]** を選択します。