פרסום הודעות ב-Pub/Sub מהמחשב המרכזי

‫Mainframe Connector מאפשר לכם לפרסם הודעות ב-Pub/Sub ממחשב מרכזי. לדוגמה, אפשר להשתמש בתכונה הזו כדי לשלב את המחשב המרכזי עם BigQuery או Cloud Storage, להוסיף נתונים להודעות באמצעות Dataflow או להפעיל פונקציות של Cloud Run.

לפני שמתחילים

פרסום הודעה בנושא Pub/Sub

כדי לפרסם הודעה לא מובנית ב-Pub/Sub מהמחשב המרכזי, משתמשים בפקודה pubsub topics publish באופן הבא:

//STEP01 EXEC BQSH
//STDIN DD *
pubsub topics publish TOPIC --data="Hello,World"
/*

מחליפים את TOPIC בשם של נושא Pub/Sub. הפורמט הנדרש הוא projects/{project}/topics/{topic}.

פרסום הודעות בנושא Pub/Sub

‫Mainframe Connector מאפשר לכם לפרסם הודעות מובנות ממחשב מרכזי לנושא ב-Pub/Sub. לדוגמה, אתם יכולים להשתמש ביכולת הזו כדי להעביר רשומות של שיטת גישה רציפה בתור (QSAM) מהמחשב המרכזי שלכם אל BigQuery באמצעות Pub/Sub. היתרונות של השיטה הזו כוללים:

  • אפשר לבצע טרנספורמציה של נתונים או להוסיף נתונים באמצעות AI דרך Dataflow או דרך Pub/Sub באמצעות ריבוי תהליכים סימולטני (SMT).
  • אפשר להעביר רשומות ממחשב מרכזי ל-Cloud Storage.
  • אפשר לסנכרן עדכונים של אפליקציות במחשב מרכזי למערכות מבוססות-ענן, בדומה ללכידת נתוני שינוי (CDC).

כדי לפרסם הודעות מובנות מהמחשב המרכזי לנושא ב-Pub/Sub, צריך לבצע את השלבים הבאים:

  1. יוצרים נושא Pub/Sub לפרסום הודעות. אפשר גם ליצור נושא עם סכימה כדי להוסיף הגבלות. מידע נוסף מופיע במאמרים בנושא יצירת נושא או יצירה ושיוך של סכימה כשיוצרים נושא.
  2. יוצרים נושא Pub/Sub כדי לתעד מידע על רשומות שלא הצליחו לעבור טרנסקוד. הנושא הזה נקרא נושא שמתפרץ. מידע על יצירת נושא Pub/Sub זמין במאמר יצירת נושא.
  3. (אופציונלי) כדי להמיר את הרשומות ל-JSON לפני ששולחים אותן ל-Pub/Sub, מגדירים את קובץ ההגדרות בפורמט JSON. אם לא מספקים קובץ הגדרות, נעשה שימוש בהגדרות ברירת המחדל בפורמט JSON.
  4. (אופציונלי) כברירת מחדל, הודעות Pub/Sub לא מכילות מפתחות סדר ומאפיינים. הודעות שגולשות מעבר למכסה נשלחות לנושא הגלישה מעבר למכסה עם הסיומת _spillover. כדי לשנות את ברירות המחדל, אפשר להגדיר את קובץ ההגדרות של פרסום ב-Pub/Sub. לדוגמה, אפשר להשתמש בהגדרה הבאה:

    {
      "spillover-configuration": {
        "name": SPILLOVER_TOPIC_NAME
      }
    }
    

    מחליפים את SPILLOVER_TOPIC_NAME בשם של נושא הגיבוי שיצרתם בשלב 2. הפורמט הנדרש הוא projects/{project}/topics/{topic}. מידע על הודעות שלא פוענחו בצורה תקינה נשמר בנושא הזה של עודפים.

  5. כדי לפרסם רשומות של מחשב מרכזי ב-Pub/Sub באמצעות הפקודה qsam decode, מריצים את ה-JCL הבא:

    //STEP01 EXEC BQSH
    //STDIN DD *
    qsam decode INPUT OUTPUT \
     --copybook COPYBOOK
     --transcode-configuration TRANSCODE-CONFIG
         --output-format=JSONL
         --input-parameter=json-dialect=JSON_CONFIGURATION
         --input-parameter=pubsub-publish-configuration=PUBSUB_CONFIGURATION
    /*
    

    מחליפים את מה שכתוב בשדות הבאים: