אפשר להמיר נושא מיובא לנושא רגיל, או להפך.
המרת נושא מיובא לנושא רגיל
כדי להמיר נושא מיובא לנושא רגיל, צריך לנקות את הגדרות ההטמעה. כך עושים את זה:
המסוף
נכנסים לדף Topics במסוף Google Cloud .
לוחצים על הנושא לייבוא.
בדף הפרטים של הנושא, לוחצים על עריכה.
מבטלים את הסימון של האפשרות הפעלת הטמעה.
לוחצים על עדכון.
gcloud
במסוף Google Cloud , מפעילים את Cloud Shell.
בחלק התחתון של Google Cloud המסוף יתחיל סשן של Cloud Shell ותופיע הודעה של שורת הפקודה. Cloud Shell היא סביבת מעטפת שבה ה-CLI של Google Cloud מותקן ומוגדרים ערכים לפרויקט הקיים. הסשן יופעל תוך כמה שניות.
מריצים את הפקודה
gcloud pubsub topics update:gcloud pubsub topics update TOPIC_ID \ --clear-ingestion-data-source-settings
מחליפים את TOPIC_ID במזהה הנושא.
המרת נושא רגיל לנושא ייבוא של Amazon Kinesis Data Streams
כדי להמיר נושא רגיל לנושא ייבוא של Amazon Kinesis Data Streams, קודם צריך לוודא שאתם עומדים בכל הדרישות המוקדמות.
המסוף
-
נכנסים לדף Topics במסוף Google Cloud .
-
לוחצים על הנושא שרוצים להמיר לנושא מיובא.
-
בדף הפרטים של הנושא, לוחצים על עריכה.
-
בוחרים באפשרות הפעלת ההעברה.
-
בקטע 'מקור להעברה', בוחרים באפשרות Amazon Kinesis Data Streams.
-
מזינים את הפרטים הבאים:
-
Kinesis Stream ARN: ה-ARN של Kinesis Data Stream שאתם מתכננים להעביר ל-Pub/Sub. הפורמט של ARN הוא:
arn:${Partition}:kinesis:${Region}:${Account}:stream/${StreamName}. -
Kinesis Consumer ARN: ה-ARN של משאב הצרכן שרשום ב-AWS Kinesis Data Stream. הפורמט של ה-ARN הוא:
arn:${Partition}:kinesis:${Region}:${Account}:${StreamType}/${StreamName}/consumer/${ConsumerName}:${ConsumerCreationTimpstamp}. -
AWS Role ARN: ה-ARN של התפקיד ב-AWS. הפורמט של ה-ARN של התפקיד הוא:
arn:aws:iam::${Account}:role/${RoleName}. -
חשבון שירות: חשבון השירות שיצרתם.
-
-
לוחצים על עדכון.
gcloud
-
במסוף Google Cloud , מפעילים את Cloud Shell.
בחלק התחתון של Google Cloud המסוף יתחיל סשן של Cloud Shell ותופיע הודעה של שורת הפקודה. Cloud Shell היא סביבת מעטפת שבה ה-CLI של Google Cloud מותקן ומוגדרים ערכים לפרויקט הקיים. הסשן יופעל תוך כמה שניות.
מריצים את הפקודה
gcloud pubsub topics updateעם כל הדגלים שמוזכרים בדוגמה הבאה:gcloud pubsub topics update TOPIC_ID
--kinesis-ingestion-stream-arn KINESIS_STREAM_ARN
--kinesis-ingestion-consumer-arn KINESIS_CONSUMER_ARN
--kinesis-ingestion-role-arn KINESIS_ROLE_ARN
--kinesis-ingestion-service-account PUBSUB_SERVICE_ACCOUNTמחליפים את מה שכתוב בשדות הבאים:
-
TOPIC_ID הוא המזהה או השם של הנושא. אי אפשר לעדכן את השדה הזה.
-
KINESIS_STREAM_ARN הוא ה-ARN של Kinesis Data Streams שאתם מתכננים להעביר ל-Pub/Sub. הפורמט של ה-ARN הוא:
arn:${Partition}:kinesis:${Region}:${Account}:stream/${StreamName}. -
KINESIS_CONSUMER_ARN הוא ה-ARN של משאב הצרכן שנרשם ב-AWS Kinesis Data Streams. הפורמט של ה-ARN הוא:
arn:${Partition}:kinesis:${Region}:${Account}:${StreamType}/${StreamName}/consumer/${ConsumerName}:${ConsumerCreationTimpstamp}. -
KINESIS_ROLE_ARN הוא ה-ARN של תפקיד ה-AWS. הפורמט של ה-ARN של התפקיד הוא:
arn:aws:iam::${Account}:role/${RoleName}. -
PUBSUB_SERVICE_ACCOUNT הוא חשבון השירות שיצרתם.
-
המשך
בדוגמה הבאה נעשה שימוש בגרסה הראשית של ספריית הלקוח Go Pub/Sub (v2). אם אתם עדיין משתמשים בספרייה v1, כדאי לעיין במדריך להעברה לגרסה v2. כדי לראות רשימה של דוגמאות קוד מגרסה 1, אפשר לעיין ב דוגמאות הקוד שהוצאו משימוש.
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Go במאמר מדריך למתחילים: שימוש בספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Pub/Sub Go API.
Java
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Java במאמר התחלה מהירה: שימוש בספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Pub/Sub Java API.
Node.js
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Node.js במאמר הפעלה מהירה: שימוש בספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Pub/Sub Node.js API.
Python
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Python במאמר תחילת העבודה המהירה: שימוש בספריות לקוח. מידע נוסף מופיע במאמרי העזרה של ה-API בשפת Python של Pub/Sub.
C++
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של C++ במאמר תחילת העבודה המהירה: שימוש בספריות לקוח. מידע נוסף זמין במאמרי העזרה של Pub/Sub C++ API.
Node.js
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Node.js במאמר הפעלה מהירה: שימוש בספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Pub/Sub Node.js API.
מידע נוסף על שמות משאבים ב-Amazon (ARN) זמין במאמרים שמות משאבים ב-Amazon (ARN) ומזהים ב-IAM.
המרת נושא רגיל לנושא ייבוא של Cloud Storage
כדי להמיר נושא רגיל לנושא ייבוא של Cloud Storage, קודם צריך לוודא שאתם עומדים בכל הדרישות המוקדמות.
המסוף
-
נכנסים לדף Topics במסוף Google Cloud .
-
לוחצים על הנושא שרוצים להמיר לנושא ייבוא של Cloud Storage.
-
בדף הפרטים של הנושא, לוחצים על עריכה.
-
בוחרים באפשרות הפעלת ההעברה.
-
בקטע 'מקור ההטמעה', בוחרים באפשרות Google Cloud Storage.
-
בקטע קטגוריה של Cloud Storage, לוחצים על Browse.
נפתח הדף Select bucket. בוחרים באחת מהאפשרויות הבאות:
-
בוחרים דלי קיים מכל פרויקט מתאים.
-
לוחצים על סמל היצירה ופועלים לפי ההוראות במסך כדי ליצור מאגר חדש. אחרי שיוצרים את הקטגוריה, בוחרים אותה בנושא הייבוא של Cloud Storage.
-
-
כשמציינים את הקטגוריה, שירות Pub/Sub בודק אם לחשבון השירות של Pub/Sub יש את ההרשאות המתאימות בקטגוריה. אם יש בעיות בהרשאות, תוצג הודעת שגיאה שקשורה להרשאות.
אם יש בעיות בהרשאות, לוחצים על הגדרת הרשאות. מידע נוסף זמין במאמר מתן הרשאות Cloud Storage לחשבון השירות של Pub/Sub.
-
בשדה Object format, בוחרים באפשרות Text, Avro או Pub/Sub Avro.
אם בוחרים באפשרות טקסט, אפשר לציין תו מפריד שבאמצעותו יפוצלו האובייקטים להודעות.
מידע נוסף על האפשרויות האלה זמין במאמר בנושא פורמט קלט.
- זה שינוי אופציונלי. אפשר לציין זמן מינימלי ליצירת אובייקט לנושא. אם ההגדרה הזו מוגדרת, המערכת מבצעת המרה רק לאובייקטים שנוצרו אחרי הזמן המינימלי ליצירת אובייקט.
מידע נוסף זמין במאמר בנושא זמן מינימלי ליצירת אובייקט.
- צריך לציין תבנית Glob. כדי להטמיע את כל האובייקטים בקטגוריה, משתמשים ב-
**כדפוס glob. רק אובייקטים שתואמים לתבנית הנתונה ייכללו.מידע נוסף זמין במאמר בנושא התאמה לתבנית glob.
- משאירים את שאר הגדרות ברירת המחדל.
- לוחצים על עדכון הנושא.
gcloud
-
במסוף Google Cloud , מפעילים את Cloud Shell.
בחלק התחתון של Google Cloud המסוף יתחיל סשן של Cloud Shell ותופיע הודעה של שורת הפקודה. Cloud Shell היא סביבת מעטפת שבה ה-CLI של Google Cloud מותקן ומוגדרים ערכים לפרויקט הקיים. הסשן יופעל תוך כמה שניות.
כדי לא לאבד את ההגדרות של נושא הייבוא, חשוב לכלול את כל ההגדרות בכל פעם שמעדכנים את הנושא. אם משמיטים משהו, Pub/Sub מאפס את ההגדרה לערך ברירת המחדל המקורי שלה.
מריצים את הפקודה
gcloud pubsub topics updateעם כל הדגלים שמוזכרים בדוגמה הבאה:gcloud pubsub topics update TOPIC_ID \ --cloud-storage-ingestion-bucket=BUCKET_NAME\ --cloud-storage-ingestion-input-format=INPUT_FORMAT\ --cloud-storage-ingestion-text-delimiter=TEXT_DELIMITER\ --cloud-storage-ingestion-minimum-object-create-time=MINIMUM_OBJECT_CREATE_TIME\ --cloud-storage-ingestion-match-glob=MATCH_GLOB
מחליפים את מה שכתוב בשדות הבאים:
-
TOPIC_ID הוא המזהה או השם של הנושא. אי אפשר לעדכן את השדה הזה.
-
BUCKET_NAME: ציון השם של קטגוריה קיימת. לדוגמה,
prod_bucket. שם הקטגוריה לא יכול לכלול את מזהה הפרויקט. במאמר יצירת קטגוריות מוסבר איך ליצור קטגוריה. -
INPUT_FORMAT: מציין את הפורמט של האובייקטים שמועברים. הערך יכול להיות
text,avroאוpubsub_avro. מידע נוסף על האפשרויות האלה זמין במאמר בנושא פורמט קלט. -
TEXT_DELIMITER: מציין את התו המפריד שבו יש לפצל אובייקטים של טקסט להודעות Pub/Sub. התו המפריד חייב להיות תו יחיד, וצריך להגדיר אותו רק אם הערך של
INPUT_FORMATהואtext. ברירת המחדל היא תו השורה החדשה (\n).כשמשתמשים ב-CLI של gcloud כדי לציין את התו שמפריד בין הערכים, צריך לשים לב במיוחד לטיפול בתווים מיוחדים כמו מעבר שורה
\n. כדי לוודא שהתו המפריד יפורש בצורה נכונה, צריך להשתמש בפורמט'\n'. שימוש ב-\nבלי מרכאות או בלי escape יגרום להגדרת התו"n"כתו מפריד. -
MINIMUM_OBJECT_CREATE_TIME: מציין את הזמן המינימלי שחלף מאז שאובייקט נוצר, כדי שהוא ייכלל בתהליך ההטמעה. הערך צריך להיות בפורמט UTC
YYYY-MM-DDThh:mm:ssZ. לדוגמה,2024-10-14T08:30:30Z.כל תאריך, בעבר או בעתיד, מ-
0001-01-01T00:00:00Zעד9999-12-31T23:59:59Zכולל, הוא תקין. -
MATCH_GLOB: מציין את תבנית ה-glob להתאמה כדי שאובייקט ייקלט. כשמשתמשים ב-CLI של gcloud, אם מחפשים התאמה באמצעות glob עם התווים
*, צריך להוסיף לפני התו*את התו*כדי לבטל את המשמעות המיוחדת שלו, כלומר להשתמש בפורמט\*\*.txt, או להוסיף את כל ה-glob של ההתאמה במירכאות"**.txt"או'**.txt'. מידע על התחביר הנתמך של תבניות glob מופיע ב מאמרי העזרה של Cloud Storage.
-