אימות הודעה לסכימה

במאמר הזה מוסבר איך לאמת סכימות של נושאים ב-Pub/Sub.

אתם יכולים לוודא שההודעות תואמות לסכימה מסוימת, לפני או אחרי שאתם יוצרים משאב סכימה. השלב הזה מבטיח שההודעות שאתם מתכוונים לשלוח דרך נושא שמשויך לסכימה אכן תואמות לפני שמחילים את הסכימה.

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

התפקידים וההרשאות הנדרשים

כדי לקבל את ההרשאות שנדרשות לאימות הודעות סכימה ולניהול שלהן, צריך לבקש מהאדמין להקצות לכם ב-IAM את התפקיד עריכה ב-Pub/Sub (roles/pubsub.editor) בפרויקט. כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.

התפקיד המוגדר מראש הזה כולל את ההרשאות שנדרשות כדי לאמת הודעות סכימה ולנהל אותן. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:

ההרשאות הנדרשות

כדי לאמת הודעות סכימה ולנהל אותן, נדרשות ההרשאות הבאות:

  • יצירת סכימה: pubsub.schemas.create
  • צירוף סכימה לנושא: pubsub.schemas.attach
  • אישור שינוי בסכימה: pubsub.schemas.commit
  • מחיקת סכימה או עדכון של סכימה: pubsub.schemas.delete
  • קבלת סכימה או עדכונים בסכימה: pubsub.schemas.get
  • רשימת סכימות: pubsub.schemas.list
  • רשימת שינויים בסכימה: pubsub.schemas.listRevisions
  • החזרה של סכימה למצב קודם: pubsub.schemas.rollback
  • כדי לאמת הודעה: pubsub.schemas.validate
  • קבלת מדיניות IAM עבור סכימה: pubsub.schemas.getIamPolicy
  • מגדירים את מדיניות IAM לסכימה: pubsub.schemas.setIamPolicy

יכול להיות שתקבלו את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.

אתם יכולים להעניק תפקידים והרשאות לחשבונות ראשיים כמו משתמשים, קבוצות, דומיינים או חשבונות שירות. אפשר ליצור סכימה בפרויקט אחד ולצרף אותה לנושא שנמצא בפרויקט אחר. מוודאים שיש לכם את ההרשאות הנדרשות לכל פרויקט.

אימות הודעה לסכימה

המסוף

  1. נכנסים לדף Pub/Sub schemas במסוף Google Cloud .

    כניסה לדף Schemas

    תוצג רשימת הסכימות.

  2. לוחצים על מזהה הסכימה של סכימה קיימת.

    ייפתח הדף פרטי הסכימה של הסכימה.

  3. בקטע Revisions, לוחצים על הגרסה שרוצים לאמת את ההודעה שלה.

  4. בקטע פרטים, לוחצים על הודעת בדיקה.

  5. בחלון Test message (הודעת בדיקה), בוחרים סוג של Message encoding (קידוד הודעה).

  6. כותבים הודעה לבדיקה בגוף ההודעה.

  7. לוחצים על בדיקה.

gcloud

  1. במסוף Google Cloud , מפעילים את Cloud Shell.

    הפעלת Cloud Shell

    בחלק התחתון של Google Cloud המסוף יתחיל סשן של Cloud Shell ותופיע הודעה של שורת הפקודה. Cloud Shell היא סביבת מעטפת שבה ה-CLI של Google Cloud מותקן ומוגדרים ערכים לפרויקט הקיים. הסשן יופעל תוך כמה שניות.

  2. כדי לאמת הודעה מול סכימה, משתמשים בפקודה gcloud pubsub schemas validate-message.

    gcloud pubsub schemas validate-message --message=MESSAGE \
        --message-encoding=MESSAGE_ENCODING \
        (--schema-name=SCHEMA_NAME | \
        --type=TYPE \
        (--definition=DEFINITION | \
        --definition-file=DEFINITION_FILE))
    

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

    • MESSAGE: הודעה לאימות מול הסכימה

    • MESSAGE_ENCODING: הקידוד של ההודעה. מציינים אחד מהערכים הבאים: binary או json.

    • SCHEMA_NAME: השם או הנתיב המלא של סכימה קיימת.

    • TYPE: סוג הסכימה המוטבעת. מציינים אחד מהערכים הבאים: avro או protocol-buffer.

    • DEFINITION: הגדרת סכימה מוטמעת.

    • DEFINITION_FILE: קובץ שמכיל את הגדרת הסכימה.

המאמרים הבאים