יצירת מאגר סכימות

מאגר סכימות הוא מאגר לניהול סכימות שמשמשות את הצרכנים והיוצרים של Kafka.

במאמר הזה מוסבר איך ליצור משאב של מאגר סכימות בתוך שירות מנוהל ל-Apache Kafka באמצעותGoogle Cloud המסוף, Google Cloud CLI או Managed Kafka API.

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

לפני שיוצרים מאגר סכימות, צריך לבצע את הפעולות הבאות:

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

כדי לקבל את ההרשאות שנדרשות ליצירת מאגר סכימות, צריך לבקש מהאדמין להקצות לכם את תפקיד ה-IAM‏ Managed Kafka Schema Registry Editor (roles/managedkafka.schemaRegistryEditor) בפרויקט. כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.

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

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

כדי ליצור מאגר סכימות, צריך את ההרשאות הבאות:

  • צריך להעניק את ההרשאה הזו במיקום ההורה: managedkafka.schemaRegistries.create

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

יצירת מאגר סכימות

המסוף

  1. נכנסים לדף Schema registries במסוף Google Cloud .

    מעבר למרשמי סכימות

    ייפתח הדף Schema registries.

  2. בדף Schema registries, לוחצים על Create.

    ייפתח הדף Create Schema registry.

  3. בשדה Schema registry name (שם מאגר הסכימות), מזינים מזהה ייחודי למאגר.

    השם צריך להתחיל באות, להכיל רק אותיות (a-z, A-Z), מספרים (0-9) וקווים תחתונים (_), ולא יכול להיות ארוך מ-63 תווים.

  4. בוחרים או מזינים אזור מהתפריט.

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

    רשימת המיקומים הנתמכים זמינה במאמר בנושא מיקומים של שירות מנוהל ל-Apache Kafka.

  5. לוחצים על יצירה.

gcloud

  1. התקינו את ה-CLI של Google Cloud. אחר כך, מאתחלים את ה-CLI של Google Cloud באמצעות הפקודה הבאה:

    gcloud init

    אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.

  2. משתמשים בפקודה gcloud beta managed-kafka schema-registries create כדי ליצור מאגר סכימות:

    gcloud beta managed-kafka schema-registries create SCHEMA_REGISTRY_ID \
        --location=LOCATION \

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

    • ‫SCHEMA_REGISTRY_ID (חובה): מזהה ייחודי של מאגר הסכימות החדש. החלק הזה הוא חלק משם המשאב של המרשם. השם צריך להתחיל באות, להכיל רק אותיות (a-z, A-Z), מספרים (0-9) וקווים תחתונים (_), ולא יכול להיות ארוך מ-63 תווים.
    • ‫LOCATION (חובה): Google Cloud האזור שבו ייווצר מאגר הסכימות. המיקום הזה צריך להיות זהה לאזור של האשכול או האשכולות של השירות המנוהל ל-Apache Kafka שמשתמשים במאגר הזה. מידע על מיקומים נתמכים זמין במאמר מיקומים של שירות מנוהל ל-Apache Kafka.

    כדי ליצור מאגר סכימות בשם test_schema_registry באזור us-central1, מריצים את הפקודה הבאה:

    gcloud beta managed-kafka schema-registries create test_schema_registry \
        --location=us-central1

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

REST

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

  1. שולחים בקשת POST שדומה לבקשה הבאה:
  2. POST https://managedkafka.googleapis.com/v1main/projects/PROJECT_ID/locations/LOCATION/schemaRegistries
    Authorization: Bearer $(gcloud auth application-default print-access-token)
    Content-Type: application/json --data @response-body.json
    
  3. יוצרים קובץ JSON request-body.json עם המבנה הבא:
  4. {
      "schemaRegistryId": "SCHEMA_REGISTRY_ID"
    }

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

    • ‫SCHEMA_REGISTRY_ID (חובה): מזהה ייחודי של מאגר הסכימות החדש. החלק הזה הוא חלק משם המשאב של המרשם. השם צריך להתחיל באות, להכיל רק אותיות (a-z, A-Z), מספרים (0-9) וקווים תחתונים (_), ולא יכול להיות ארוך מ-63 תווים.

    מריצים את הבקשה POST עם ה-URI, הכותרות והגוף שנוצרו. אם הפעולה מצליחה, ה-API מחזיר קוד סטטוס 200 OK וגוף תגובה שמכיל את ייצוג ה-JSON של משאב SchemaRegistry שנוצר.

    זוהי דוגמה לתגובה מוצלחת.

    {
      "name": "projects/testing-311516/locations/us-central1/schemaRegistries/test",
      "contexts": [
        "projects/testing-311516/locations/us-central1/schemaRegistries/test/contexts/."
      ]
    }

    ‫projects/testing-311516/locations/us-central1/schemaRegistries/test/contexts/. מייצג את הקשר שמוגדר כברירת מחדל. כשמשתמשים במשאבים בהקשר ברירת המחדל, לא צריך לציין הקשר.

    מידע נוסף מופיע במאמרי העזרה של ה-API בארכיטקטורת REST.

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

‫Apache Kafka®‎ הוא סימן מסחרי רשום של The Apache Software Foundation או של השותפים העצמאיים שלה בארצות הברית או במדינות אחרות.