Configurer la sortie JSON
Le tableau suivant présente le modèle d'opération et de ligne
| Modèle | Forme | Conseils |
|---|---|---|
op |
Métadonnées au niveau de l'enregistrement et valeurs de colonne sous les objets before et after. |
Recommandé pour le CDC car il préserve une sémantique d'image explicite. |
row |
Valeurs de colonne au niveau de l'enregistrement plutôt qu'objets image imbriqués. | A utiliser uniquement lorsque le contrat en aval attend une ligne à plat. Le schéma d'exécution propre à la table définit l'image représentée pour chaque opération. |
op avec flatten=true |
Les noms d'image imbriquée sont concaténés avec les noms de colonne, par exemple before.STATUS et after.STATUS lorsque le délimiteur est .. |
Utile pour les éviers plats qui ont encore besoin de distinction avant/après. |
Propriétés JSON principales
| Propriété | Par défaut / limites | Description |
|---|---|---|
$schema |
ogg:outputFormatJson |
Identificateur de schéma de configuration de sortie JSON. |
model |
op ; op ou row |
Modèle d'enregistrement. |
beforeImageName |
before ; 1 à 32 caractères |
Nom de l'objet before-image dans le modèle d'opération. |
afterImageName |
after ; 1 à 32 caractères |
Nom de l'objet après image dans le modèle d'opération. |
omitNullColumnValues |
false |
Omet les colonnes dont la valeur est NULL. Cela rend les champs manquants et NULL indiscernables pour les champs omis. |
treatAllColumnsAsStrings |
false |
Ecrit toutes les valeurs de colonne en tant que chaînes au lieu des primitives JSON natives. |
flatten |
false |
Aplatit les colonnes d'image avant et après dans le modèle de fonctionnement. |
flattenDelimiter |
0-32 caractères | Délimiteur entre le nom d'image et le nom de colonne lorsqu'il est mis à plat. |
delimiter |
0-32 caractères | Délimiteur d'enregistrement de formateur. Les consommateurs WebSocket doivent normalement conserver le contrat de tableau par défaut décrit par le YAML AsyncAPI. |
staticFields |
Objet / aucun | Ajoute des champs avec des valeurs constantes aux enregistrements de sortie. |
operationStrings |
INSÉRER, METTRE À JOUR, SUPPRIMER, TRONQUER, UPSERT, DDL | Personnalise les étiquettes d'opération. Coordonnez-vous avec chaque consommateur avant de changer. |
Émission de schémas et de métadonnées
| Propriété | Valeur par défaut | Effet |
|---|---|---|
includeJSONSchemaRecord |
true |
Emet des enregistrements de schéma JSON pour les métadonnées de flux, les métadonnées d'objet, les instructions LMD et les enregistrements LDD. |
includeObjectMetadataRecords |
true |
Emet les métadonnées de colonne de table. |
includeStreamMetadataRecord |
true |
Emet les métadonnées de la base de données source et du producteur. |
Recommandé : conservez les trois paramètres activés, sauf si un registre de schéma externe régi les remplace. La désactivation des enregistrements de schéma ou de métadonnées réduit le volume réseau, mais transfère la responsabilité de gestion des versions et de repérage à la plate-forme destinataire.
Contrôles de taille et de grande valeur
| Propriété | Valeur par défaut | Minimum | Maximum | Comportement |
|---|---|---|---|---|
maxLobSize |
64 000 | 1 | 18 446 744 073 709 552 000 | Les données LOB sont tronquées au-delà de cette taille en octets. |
maxDDLTextSize |
1 000 000 | 1 | 4 294 967 295 | Le texte de l'instruction LDD est tronqué au-delà de cette taille en octets. |
maxRecordSize |
1 048 576 | 131 072 | 10 485 760 | Un enregistrement dépassant la taille est tronqué ou tronqué. |
truncateOrChunk |
truncate |
- | truncate ou chunk |
Sélectionne la gestion des enregistrements surdimensionnés. |
Lorsque truncateOrChunk est défini sur chunk, utilisez les métadonnées de bloc exactement comme défini par le schéma d'exécution. N'inventez pas de contrat de réassemblage. Chargez les tailles LOB et DDL maximales de test car la bibliothèque WebSocket, le proxy et la plate-forme en aval peuvent imposer des limites de cadre ou de message supplémentaires.
Champs de métadonnées
La plupart des entrées metaFields acceptent une valeur booléenne ou une chaîne. true inclut le champ avec son nom de sortie par défaut, false l'ignore et une chaîne l'inclut sous ce nom personnalisé. env, sys et tokens acceptent des objets ou des valeurs spécialisés définis par le schéma REST.
| Propriété | Valeur par défaut | Signification |
|---|---|---|
qualifiedTable |
true |
Nom d'objet qualifié complet. Le champ Data Streams par défaut est normalement qual_table. |
opType |
true |
Type d'opération. Le champ par défaut est normalement op_type. |
opTs |
true |
Horodatage d'opération. Le champ par défaut est normalement op_ts. |
pos |
true |
Position opaque de récupération. Ne pas désactiver pour un consommateur récupérable. |
xid |
true |
Identifiant du mouvement d'origine. |
table |
false |
Nom de table non qualifié. |
schema |
false |
Nom de schéma ou de propriétaire. |
catalog |
false |
Nom du catalogue, si disponible. |
csn |
false |
Numéro de séquence de la validation source. |
opSeqno |
false |
Numéro de séquence d'enregistrement au sein de la transaction. |
transInd |
false |
Indicateur de transaction B, M, E ou W. |
primaryKeys |
false |
Noms ou valeurs de colonne de clé primaire selon le contrat de formateur configuré. |
opTsMicroSecs |
false |
Horodatage de l'opération en microsecondes après la période. |
currentTs |
false |
Horodatage du traitement en cours. |
currentTsMicroSecs |
false |
Horodatage de traitement en cours en microsecondes après la période. |
tokens |
null |
Jetons utilisateur, jetons GoldenGate, tous les jetons ou un sous-ensemble configuré. |
env |
null |
Valeurs d'environnement GoldenGate sélectionnées. |
sys |
null |
Valeurs d'environnement système sélectionnées. Évitez d'exposer des secrets. |
Configuration recommandée des métadonnées d'entreprise
"metaFields": {
"qualifiedTable": true,
"opType": true,
"opTs": true,
"pos": true,
"xid": true,
"csn": "csn",
"opSeqno": "op_seqno",
"transInd": "trans_ind",
"primaryKeys": "primary_keys"
}
Les noms de chaîne explicites rendent le contrat de charge utile public clair et évitent de s'appuyer sur les noms par défaut du formateur pour les métadonnées facultatives.