Utiliser Google Antigravity pour transcoder et migrer des données

Cette page explique comment utiliser les capacités agentiques de Mainframe Connector pour transcoder et migrer automatiquement vos données de mainframe.

Principaux avantages de l'intégration agentique

Mainframe Connector est compatible avec une surface agentique que vous pouvez utiliser pour la modernisation des données. Vous pouvez utiliser des agents en combinaison avec Mainframe Connector pour moderniser vos données de mainframe existantes sur Cloud Storage et en local. Vous pouvez également utiliser des environnements agentiques tels que Google Antigravity pour créer les configurations Mainframe Connector requises pour transcoder et migrer vos données de mainframe.

Automatiser le transcodage et la migration des données

L'écriture manuelle des configurations de transcodage peut être source d'erreurs et complexe en raison de l'incompatibilité entre les structures COBOL héritées (telles que REDEFINES, COMP-3 et PIC X) et les bases de données cloud modernes (telles que BigQuery). Cette complexité entraîne souvent des erreurs dans le mappage des types de données, l'alignement des octets et la traduction des décimaux compressés.

Pour simplifier ce processus, Mainframe Connector est compatible avec les fonctionnalités agentiques, une suite d'outils ciblés (points de terminaison d'API et de CLI) et un fichier de compétences dédié, conçus pour être utilisés par des agents basés sur des LLM tels que Google Antigravity. Cette intégration permet à un agent de rédiger, de valider de manière stricte, de corriger automatiquement et de tester les fichiers de configuration de transcodage. L'agent peut ensuite migrer vos données existantes de Cloud Storage ou d'un stockage local vers BigQuery ou d'autres bases de données à l'aide des configurations générées.

L'utilisation des fonctionnalités agentiques dans Mainframe Connector présente les avantages suivants :

  • Rédaction automatisée : Google Antigravity peut générer la configuration initiale en fonction d'un copybook COBOL et de règles métier définies par l'utilisateur.
  • Boucles de rétroaction rapides : les outils de validation intégrés permettent à l'agent de tester rapidement les configurations et de corriger automatiquement les erreurs avant de traiter les données.
  • Inspection au niveau des octets : l'agent peut inspecter les données binaires brutes pour diagnostiquer les problèmes d'alignement et d'encodage.
  • Tests déterministes : les commandes légères à thread unique fournissent un environnement de test fiable pour le processus de raisonnement de l'agent.

Avant de commencer

  • Pour utiliser les capacités agentiques, vous devez installer la dernière version de Mainframe Connector. Les fonctionnalités agentiques sont disponibles à partir de la version 5.20.
  • Pour exécuter les compétences de l'agent, vous devez installer une CLI ou un environnement agentique tel que Google Antigravity sur la même machine que celle sur laquelle vous avez installé Mainframe Connector.
  • Extrayez le fichier de compétences de l'agent dans le dossier de compétences de votre environnement à l'aide de la commande suivante :

    java -jar mainframe-connector.jar agent skill-file --output-dir SKILLS_FOLDER_PATH
    

Fonctionnement de l'intégration agentique

Le fichier de compétences Mainframe Connector contient toutes les informations nécessaires pour permettre à un agent de créer, de valider et de tester le copybook de mainframe et les fichiers de données de configuration de transcodage. Il abstrait les commandes CLI Mainframe Connector sous-jacentes et fournit une interface simplifiée permettant à l'agent d'interagir avec le produit.

Lorsque vous invitez l'agent à utiliser le fichier de compétences, vous lui permettez d'exécuter des versions optimisées par l'IA des commandes Mainframe Connector. Si vous fournissez le copybook et des exemples de données, l'agent peut créer le fichier de configuration de transcodage et le valider par rapport à des données réelles. Dans votre invite, veillez à fournir à l'agent le contexte et les règles spéciales à appliquer lors du transcodage.

Workflow agentique

Le workflow agentique comporte cinq phases, ce qui permet à l'agent de passer de la requête initiale de l'utilisateur à une configuration fonctionnelle et validée. Après l'invite de l'utilisateur, l'agent peut effectuer les étapes suivantes de manière autonome.

Phase Description
Lancement L'utilisateur invite l'agent à créer un fichier de configuration de transcodage. L'utilisateur peut éventuellement fournir un copybook COBOL, des règles métier personnalisées (telles que "supprimer tous les champs FILLER"), et des exemples de données EBCDIC facultatifs.
Rédaction L'agent lit la référence configuration-doc pour comprendre les règles de mise en forme, puis génère le fichier de configuration brouillon.
Validation L'agent valide la syntaxe et la structure du brouillon en exécutant validate-configuration, en corrigeant les erreurs et en vérifiant le plan structurel.
Test Si des exemples de données sont fournis, l'agent teste la configuration en exécutant simple-encode ou simple-decode, et utilise inspect-data pour vérifier que la sortie correspond aux attentes.
Finalisation L'agent génère le LDD cible à l'aide de generate-target-ddl, puis présente la configuration et le LDD fonctionnels à l'utilisateur.

Cas d'utilisation

Les exemples suivants montrent comment utiliser les capacités agentiques pour transcoder et migrer vos données.

Exemple 1 : Générer des schémas de données pour BigQuery à l'aide d'un copybook

L'exemple de prompt suivant montre comment utiliser les capacités agentiques pour transcoder les données d'un copybook de mainframe et générer une table BigQuery.

Exemple d'invite

Your task is to produce a transcode configuration file and target DDL for a
mainframe dataset using the Mainframe Connector skill.

You are migrating a master file from a European subsidiary's mainframe into
BigQuery. Each record holds a customer name, a city, and a price.
The source is an EBCDIC extract from a German z/OS system; the system metadata
gives its CCSID as 1140.

The data is staged here in this directory:

- `copybook.cpy`: the COBOL layout.
- `input.dat`: the binary extract itself (CCSID 1140 - the German Euro-enabled
  EBCDIC code page).

Produce two artifacts here:

1. `config.json`: the transcode configuration that correctly decodes this file.
2. `schema.sql`: the BigQuery `CREATE TABLE` DDL for the destination.

Exemple 2 : Importer les données dans BigQuery après le transcodage

L'invite suivante montre comment utiliser les capacités agentiques pour importer les données transcodées de l'exemple précédent dans BigQuery.

Exemple d'invite

Using the Mainframe Connector skill and the config.json and schema.sql files
you created before, migrate the data to BigQuery at
`table_name.dataset_name.project_id`.

Exemple 3 : Déployer dans une base de données PostgreSQL avec des contrôles de confidentialité

L'invite suivante montre comment utiliser les fonctionnalités agentiques pour déployer les données transcodées de l'exemple précédent dans PostgreSQL, tout en supprimant les données PII.

Exemple d'invite

Using the Mainframe Connector skill, migrate the data to Cloud SQL for
PostgreSQL at `table_name.schema_name.host_name`.

Compliance constraint: `CUST-NAME` and `CITY` are classified as
personally identifying or residency restricted information. They must NOT
appear in the PostgreSQL CSV staging file, must NOT decode into a JSM
string at any point, and must NOT appear in the Postgres table DDL.
Only `PRICE-TEXT` should appear.

Deliverables in the current working directory:

1. `config-postgres.json`: a NEW transcode configuration (do not overwrite
the BigQuery config.json).
2. `schema-postgres.sql`: the PostgreSQL `CREATE TABLE` DDL for the
   destination.
3. `copy-postgres.sql`: the PostgreSQL `COPY FROM` command to load the
   data into the table.

Suite de commandes agentiques

Les commandes suivantes sont conçues pour les agents LLM.

agent configuration-doc

Affiche le document de configuration des agents LLM sur stdout.

Synopsis

agent configuration-doc [-h]

Options et arguments

La commande agent configuration-doc utilise les options et arguments suivants :

--help ou -h
(Facultatif) Affiche ce message d'aide.

agent inspect-data

Lit un seul enregistrement logique à partir d'un décalage d'octet spécifique, puis affiche son vidage hexadécimal et sa représentation textuelle.

Synopsis

agent inspect-data [-h] [--byte-offset=BYTEOFFSET]
                          --input=INPUTPATH

Options et arguments

La commande agent inspect-data utilise les options et arguments suivants :

--byte-offset=BYTEOFFSET
(Facultatif) Spécifie le décalage d'octet absolu dans le fichier à partir duquel commencer la lecture. La valeur par défaut est 0.
--help ou -h
(Facultatif) Affiche ce message d'aide.
--input=INPUTPATH : DataPath
Spécifie le chemin d'accès aux données d'entrée.

agent simple-decode

Décode quelques lignes d'un fichier de mainframe sur stdout pour le débogage de l'agent.

Synopsis

agent simple-decode [-h] [--byte-offset=BYTEOFFSET]
                           --copybook=COPYBOOKPATH
                           --input=INPUTPATH
                           [--limit=LIMIT]
                           [--output=OUTPUTPATH]
                           --transcode-configuration=CONFIGPATH

Options et arguments

La commande agent simple-decode utilise les options et arguments suivants :

--byte-offset=BYTEOFFSET
(Facultatif) Spécifie le décalage d'octet absolu dans le fichier d'entrée à partir duquel commencer la lecture. La valeur par défaut est 0.
--copybook=COPYBOOKPATH : DataPath
Spécifie le chemin d'accès aux données du copybook.
--help ou -h
(Facultatif) Affiche ce message d'aide.
--input=INPUTPATH : DataPath
Spécifie le chemin d'accès aux données d'entrée.
--limit=LIMIT
(Facultatif) Spécifie le nombre maximal d'enregistrements à tenter de décoder. Les enregistrements supprimés par record_filter_condition sont toujours comptabilisés dans cette limite. La valeur par défaut est 5.
--output=OUTPUTPATH : DataPath
(Facultatif) Spécifie la destination de la sortie JSON décodée. Si aucune valeur n'est fournie, la valeur par défaut est stdout.
--transcode-configuration=CONFIGPATH : DataPath
Spécifie le chemin d'accès aux données de la configuration de transcodage. Pour en savoir plus sur le format de configuration du transcodeur, consultez la section Configuration du transcodeur.

agent simple-encode

Encode un fichier JSON en données binaires EBCDIC de mainframe.

Synopsis

agent simple-encode [-h] --copybook=COPYBOOKPATH
                           --input=INPUTPATH
                           --output=OUTPUTPATH
                           --transcode-configuration=CONFIGPATH

Options et arguments

La commande agent simple-encode utilise les options et arguments suivants :

--copybook=COPYBOOKPATH : DataPath
Spécifie le chemin d'accès aux données du copybook.
--help ou -h
(Facultatif) Affiche ce message d'aide.
--input=INPUTPATH : DataPath
Spécifie le chemin d'accès aux données JSON d'entrée.
--output=OUTPUTPATH : DataPath
Spécifie le chemin d'accès aux données binaires de sortie.
--transcode-configuration=CONFIGPATH : DataPath
Spécifie le chemin d'accès aux données de la configuration de transcodage. Pour en savoir plus sur le format de configuration du transcodeur, consultez la section Configuration du transcodeur.

agent validate-configuration

Valide une configuration de transcodeur par rapport à un copybook et à des règles de base de données.

Synopsis

agent validate-configuration [-h] --copybook=COPYBOOKPATH
                                    --database=DATABASE
                                    --transcode-configuration=CONFIGPATH

Options et arguments

La commande agent validate-configuration utilise les options et arguments suivants :

--copybook=COPYBOOKPATH : DataPath
Spécifie le chemin d'accès aux données du copybook.
--database=DATABASE
Spécifie la base de données cible (par exemple, BIGQUERY, POSTGRES, MYSQL).
--help ou -h
(Facultatif) Affiche ce message d'aide.
--transcode-configuration=CONFIGPATH : DataPath
Spécifie le chemin d'accès aux données contenant la configuration de transcodage brouillon. Pour en savoir plus sur le format de configuration du transcodeur, consultez la section Configuration du transcodeur.