Vous pouvez utiliser l'API Data Engineering Agent, accessible via geminidataanalytics.googleapis.com, pour créer, modifier et gérer des pipelines de données afin de charger et de traiter des données dans BigQuery. L'API utilise le protocole
A2A qui vous permet d'utiliser des prompts en langage naturel
pour générer et modifier des pipelines de données en fonction de vos besoins en ingénierie des données.
Pour en savoir plus sur l'agent d'ingénierie des données, consultez Utiliser l'agent d'ingénierie des données pour créer et modifier des pipelines de données.
Découvrez comment et quand Gemini pour Google Cloud utilise vos données.
Avant de commencer
Avant d'utiliser l'API Data Engineering Agent, suivez les étapes décrites dans ces sections.
Activer les API
Assurez-vous d'avoir activé les API requises et de disposer des autorisations nécessaires. Pour en savoir plus, consultez Activer les API requises.
Installer les bibliothèques clientes
Installez les bibliothèques clientes suivantes :
Pour en savoir plus, consultez Protocole Agent2Agent (A2A).
Extensions A2A compatibles
L'agent d'ingénierie des données est compatible avec les extensions A2A suivantes, dont certaines sont requises lors de l'interaction avec l'agent d'ingénierie des données.
| Nom d'extension | Exigence | Description | URI |
|---|---|---|---|
GcpResource |
Obligatoire | ID de ressource sur laquelle l'agent opère. Google Cloud Cette valeur est requise pour chaque requête. | https://geminidataanalytics.googleapis.com/a2a/extensions/gcpresource/v1 |
ConversationToken |
Facultatif | Extension pour l'historique des conversations multitours sous forme de jeton de conversation opaque. Cette extension est requise pour que les conversations multitours puissent reprendre à partir d'un état précédent. Pour continuer, copiez la valeur du jeton de conversation dans le champ de métadonnées de la réponse précédente de l'agent, puis incluez-la dans le champ de métadonnées de la requête suivante adressée à l'agent. |
https://geminidataanalytics.googleapis.com/a2a/extensions/conversationtoken/v1 |
MessageLevel |
Facultatif | Niveau de message pour le contrôle de la visibilité des mises à jour des messages par le client. L'agent compatible avec cette extension associe le messageLevel à chaque message pour contrôler la visibilité du client. |
https://geminidataanalytics.googleapis.com/a2a/extensions/messagelevel/v1 |
Finish Reason |
Facultatif | Extension qui indique la raison pour laquelle l'agent s'est arrêté. Lorsque DEADLINE_EXCEEDED est renvoyé, le client reprend la tâche là où il l'avait laissée avec le jeton de conversation renvoyé dans la réponse dans les métadonnées. |
https://geminidataanalytics.googleapis.com/a2a/extensions/finishreason/v1 |
Activer l'extension A2A
Pour activer l'extension A2A, votre client doit inclure l'en-tête A2A-Extensions dans la requête HTTP adressée à l'agent. La valeur est une liste d'URI d'extension séparés par une virgule pour l'activation.
L'extension GcpResource doit être activée pour interagir avec l'API A2A de l'agent d'ingénierie des données.
L'exemple suivant montre une requête HTTP permettant d'activer l'extension A2A.
POST /v1/a2a/projects/{project}/locations/{location}/agents/dataengineeringagent/v1/message:stream HTTP/1.1 Host: geminidataanalytics.googleapis.com Content-Type: application/json Authorization: Bearer $(gcloud auth print-access-token) A2A-Extensions: https://geminidataanalytics.googleapis.com/a2a/extensions/messagelevel/v1, https://geminidataanalytics.googleapis.com/a2a/extensions/instruction/v1, https://geminidataanalytics.googleapis.com/a2a/extensions/gcpresource/v1, https://geminidataanalytics.googleapis.com/a2a/extensions/pipelinecontext/v1, https://geminidataanalytics.googleapis.com/a2a/extensions/conversationtoken/v1, https://geminidataanalytics.googleapis.com/a2a/extensions/finishreason/v1 Content-Length: 869 { "request": { "messageId": "0ad14bfa-8d17-48ce-8669-52a856129a66", "role": "ROLE_USER", "contextId": "test-context-id", "content": [{ "text": "hi" }] }, "metadata": { "https://geminidataanalytics.googleapis.com/a2a/extensions/conversationtoken/v1": "cmVxdWVzdGNvbnZlcnNhdGlvbnRva2Vu", "https://geminidataanalytics.googleapis.com/a2a/extensions/gcpresource/v1": { "gcpResourceId": "projects/{project}/locations/{location}/repositories/{repository}/workspaces/{workspace}" }, "https://geminidataanalytics.googleapis.com/a2a/extensions/instruction/v1": { "agentInstructions": [{ "definition": "Always use uppercase for SQL keywords.", "name": "style_guide.md" }] } }, "tenant": "projects/{project}/locations/{location}/agents/dataengineeringagent" }
La réponse peut être semblable à la suivante.
HTTP/1.1 200 OK Content-Type: application/json A2A-Extensions: https://geminidataanalytics.googleapis.com/a2a/extensions/messagelevel/v1, https://geminidataanalytics.googleapis.com/a2a/extensions/instruction/v1, https://geminidataanalytics.googleapis.com/a2a/extensions/gcpresource/v1, https://geminidataanalytics.googleapis.com/a2a/extensions/pipelinecontext/v1, https://geminidataanalytics.googleapis.com/a2a/extensions/conversationtoken/v1, https://geminidataanalytics.googleapis.com/a2a/extensions/finishreason/v1 Transfer-Encoding: chunked { "statusUpdate": { "status": { "state": "TASK_STATE_COMPLETED", "timestamp": "example-timestamp" }, "final": true, "metadata": { "https://geminidataanalytics.googleapis.com/a2a/extensions/conversationtoken/v1": "Y29udmVyc2F0aW9udG9rZW4=", "https://geminidataanalytics.googleapis.com/a2a/extensions/finishreason/v1": "FINISHED" } } }
Principales opérations d'API
L'API fournit les principaux points de terminaison suivants pour utiliser l'agent d'ingénierie des données :
| Opération | Méthode HTTP | Point de terminaison | Description |
|---|---|---|---|
| Obtenir la carte de l'agent | GET | /v1/a2a/{tenant=projects/*/locations/*/agents/dataengineeringagent}/v1/card |
Récupère les informations de la carte de l'agent. |
| Envoyer un message en streaming | POST | /v1/a2a/{tenant=projects/*/locations/*/agents/dataengineeringagent}/v1/message:stream |
Méthode de streaming permettant d'envoyer un prompt à l'agent et de recevoir des réponses en streaming. L'autorisation suivante est requise : geminidataanalytics.locations.useDataEngineeringAgent. |
| Envoyer un message | POST | /v1/a2a/{tenant=projects/*/locations/*/agents/dataengineeringagent}/v1/message:send |
Méthode unaire permettant d'envoyer un prompt à l'agent et de recevoir une réponse synchrone. Cela peut être utile pour une validation rapide ou des questions à un seul tour. L'autorisation suivante est requise : geminidataanalytics.locations.useDataEngineeringAgent. |
Autres ressources
Pour obtenir des descriptions détaillées des méthodes, des points de terminaison et des définitions de type pour les structures des requêtes et des réponses, consultez la documentation de référence REST de l'APIData Engineering Agent.