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

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

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

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

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

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

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

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

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

  • יצירת סכימה: pubsub.schemas.create
  • צירוף סכימה לנושא: pubsub.schemas.attach
  • ביצוע Commit של גרסת סכימה: 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. לוחצים על מזהה הסכימה של סכימה קיימת.

    ייפתח הדף Schema details של הסכימה.

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

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

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

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

  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: קובץ שמכיל את הגדרת הסכימה.

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