Mainframe Connector vous permet de publier des messages dans Pub/Sub à partir de votre mainframe. Vous pouvez utiliser cette fonctionnalité, par exemple, pour intégrer votre mainframe à BigQuery ou Cloud Storage, enrichir les données de message avec Dataflow ou déclencher des fonctions Cloud Run.
Avant de commencer
- Si ce n'est pas déjà fait, installez Mainframe Connector sur votre mainframe.
- Pour exécuter des commandes Pub/Sub, vérifiez que vous attribuez le rôle Éditeur Pub/Sub à votre compte utilisateur. Pour en savoir plus sur l'attribution de rôles à un compte utilisateur, consultez Gérer les accès à l'aide d'IAM.
- Configurez les identifiants par défaut de l'application.
Publier un message dans un sujet Pub/Sub
Pour publier un message Pub/Sub non structuré à partir de votre mainframe, utilisez la commande pubsub topics publish comme suit:
//STEP01 EXEC BQSH //STDIN DD * pubsub topics publish TOPIC --data="Hello,World" /*
Remplacez TOPIC par le nom du sujet Pub/Sub. Le format requis est projects/{project}/topics/{topic}.
Publier des messages dans un sujet Pub/Sub
Le connecteur mainframe vous permet de publier des messages structurés à partir d'un mainframe dans un sujet Pub/Sub. Par exemple, vous pouvez utiliser cette fonctionnalité pour transférer des enregistrements QSAM (Queued Sequential Access Method) de votre mainframe vers BigQuery à l'aide de Pub/Sub. Voici quelques-uns des avantages de cette approche:
- Vous pouvez transformer ou enrichir des données avec l'IA via Dataflow ou via le multithreading simultané (SMT) de Pub/Sub.
- Vous pouvez déplacer des enregistrements d'un mainframe vers Cloud Storage.
- Vous pouvez synchroniser les mises à jour des applications mainframe avec des systèmes cloud, comme la capture des données modifiées (CDC).
Pour publier des messages structurés à partir de votre mainframe dans un sujet Pub/Sub, procédez comme suit:
- Créez un sujet Pub/Sub pour publier des messages. Vous pouvez également créer un sujet avec un schéma pour appliquer des restrictions supplémentaires. Pour en savoir plus, consultez les sections Créer un sujet ou Créer et associer un schéma lorsque vous créez un sujet.
- Créez un sujet Pub/Sub pour capturer des informations sur les enregistrements qui ne sont pas transcodés. Ce sujet est appelé "sujet de débordement". Pour savoir comment créer un sujet Pub/Sub, consultez la section Créer un sujet.
- (Facultatif) Pour convertir les enregistrements au format JSON avant de les envoyer à Pub/Sub, configurez le fichier de configuration JSON. Si vous ne fournissez pas de fichier de configuration, la configuration JSON par défaut est utilisée.
(Facultatif) Par défaut, les messages Pub/Sub ne contiennent pas de clés de tri ni d'attributs. Les messages de débordement sont envoyés au sujet de débordement avec le suffixe
_spillover. Pour modifier les valeurs par défaut, vous pouvez configurer le fichier de configuration de publication Pub/Sub. Par exemple, vous pouvez utiliser la configuration suivante:{ "spillover-configuration": { "name": SPILLOVER_TOPIC_NAME } }Remplacez
SPILLOVER_TOPIC_NAMEpar le nom du sujet de débordement que vous avez créé à l'étape 2. Le format requis estprojects/{project}/topics/{topic}. Les informations sur les messages qui ne sont pas décodés correctement sont enregistrées dans ce sujet de débordement.Pour publier des enregistrements de mainframe dans Pub/Sub à l'aide de la commande
qsam decode, exécutez le JCL suivant://STEP01 EXEC BQSH //STDIN DD * qsam decode
INPUTOUTPUT\ --copybookCOPYBOOK--transcode-configurationTRANSCODE-CONFIG--output-format=JSONL --input-parameter=json-dialect=JSON_CONFIGURATION--input-parameter=pubsub-publish-configuration=PUBSUB_CONFIGURATION/*Remplacez les éléments suivants :
INPUT: chemin d'accès aux données du fichier QSAM.OUTPUT: chemin de données du sujet Pub/Sub que vous avez créé à l'étape 1. Le format requis estpubsub:projects/{project}/topics/{topic}.TRANSCODE-CONFIG: chemin d'accès aux données du fichier contenant la configuration de transcodage. Pour en savoir plus sur le format de configuration du transcodeur, consultez la section Configuration du transcodeur.JSON_CONFIGURATION: (facultatif) chemin d'accès aux données du fichier de configuration JSON. Si vous ne fournissez pas de fichier de configuration, la configuration JSON par défaut est utilisée.PUBSUB_CONFIGURATION: (facultatif) chemin d'accès aux données du fichier de configuration de publication Pub/Sub. Si vous ne spécifiez pas de fichier de configuration, la configuration Pub/Sub par défaut est utilisée.