

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Étape 1 : créer une fonction Lambda
<a name="agent-tutorial-step1"></a>

Commencez par créer une fonction Lambda que votre agent invoquera pour effectuer des actions. Dans cette procédure, vous allez créer une fonction Lambda Python qui renvoie la date et l’heure actuelles lorsqu’elle est invoquée. Vous configurerez la fonction avec les autorisations de base, ajouterez le code nécessaire pour traiter les demandes provenant de votre agent Amazon Bedrock, puis déploierez la fonction afin qu’elle soit prête à être connectée à votre agent.

Pour plus d’informations, consultez [Création de votre première fonction Lambda](https://docs.aws.amazon.com/lambda/latest/dg/getting-started.html) dans le *Guide du développeur AWS Lambda*.

**Création d’une fonction Lambda**

1. Connectez-vous à la console de gestion AWS et ouvrez la console Lambda à l’adresse [https://console.aws.amazon.com/lambda/](https://console.aws.amazon.com/lambda/).

1. Choisissez **Créer une fonction**.

1. Sélectionnez **Créer à partir de zéro**.

1. Dans la section **Informations de base** :
   + Dans **Nom de la fonction**, entrez un nom de fonction (par exemple `DateTimeFunction`). Notez le nom de la fonction, vous en aurez besoin à l’étape 15 de l’[Étape 2 : création d’un agent Amazon Bedrock](agent-tutorial-step2.md).
   + Pour **Exécution**, sélectionnez **Python 3.9** (ou votre version préférée).
   + Pour **Architecture**, ne modifiez rien.
   + Dans **Autorisations**, sélectionnez **Modifier le rôle d’exécution par défaut**, puis sélectionnez **Créer un nouveau rôle avec des autorisations Lambda de base**.

1. Choisissez **Créer une fonction**.

1. Dans **Présentation de la fonction**, sous **ARN de la fonction**, notez l’Amazon Resource Name (ARN) de la fonction. Vous en avez besoin pour l’étape 24 de l’[Étape 2 : création d’un agent Amazon Bedrock](agent-tutorial-step2.md). 

1. Dans l’onglet **Code**, remplacez le code existant par le code suivant :

   ```
   # 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. Pour déployer votre fonction, choisissez **Déployer**.

1. Cliquez sur l’onglet **Configuration**.

1. Choisissez **Autorisations**.

1. Sous **Déclarations de stratégie basées sur les ressources**, choisissez **Ajouter des autorisations**.

1. Dans **Modifier la déclaration de politique**, procédez comme suit :

   1. Choisissez **Service AWS**.

   1. Dans **Service**, sélectionnez **Autre**.

   1. Dans **ID de déclaration**, entrez un identifiant unique (par exemple, `AllowBedrockInvocation`).

   1. Pour **Principal**, entrez `bedrock.amazonaws.com`.

   1. Pour **ARN source**, entrez `arn:aws:bedrock:region:AWS account ID:agent/*`

      Remplacez `region` par la région AWS que vous utilisez, telle que `us-east-1`. Remplacez `AWS account ID` par votre ID de compte AWS.

   1. Pour **Action**, sélectionnez `lambda:InvokeFunction`.

1. Choisissez **Enregistrer**.