בדף הזה מוסבר איך להגדיר את הקטגוריה שלכם לשלוח התראות לגבי שינויים באובייקט לנושא Pub/Sub. למידע על ההרשמה לנושא Pub/Sub שמקבל התראות, ראו בחירת סוג מינוי.
לפני שמתחילים
לפני שמשתמשים בתכונה הזו, צריך לבצע את ההוראות הבאות.
הפעלת Pub/Sub API
להפעיל את ממשק ה-API של Pub/Sub בשביל הפרויקט שיקבל התראות.
לוודא שיש לכם נושא Pub/Sub קיים
אם עדיין לא עשיתם זאת, צרו נושא Pub/Sub שאליו אתם רוצים לשלוח התראות. אם אתם מתכננים להשתמש ב-Google Cloud CLI או ב-Terraform כדי לבצע את ההוראות שבדף הזה, אתם לא צריכים לבצע את השלב הזה.
קבלת התפקידים הנדרשים
הדרישות לתפקידי IAM משתנות בהתאם לפעולה שאתם מבצעים: הגדרת ההתראה או שליחת נתוני האירוע.
אם אתם משתמשים ב-Google Cloud CLI או ב-Terraform כדי להגדיר התראה, הזהות שלכם צריכה רק הרשאות לעדכון המטא-נתונים של הקטגוריה ולהצגת הנושא ב-Pub/Sub. כדי לקבל את כל ההרשאות הנדרשות, פועלים לפי ההוראות במאמר קבלת תפקידים לצפייה במטא-נתונים של קטגוריות ובנושא Pub/Sub.
אם סוכן השירות של Cloud Storage שולח התראות, צריך להיות לו התפקיד "פרסום הודעות ב-Pub/Sub" (
roles/pubsub.publisher) בנושא Pub/Sub. אחרי שמגדירים את התפקיד הזה לסוכן השירות, הוא פועל כ "עובד" ברקע כדי להעביר אירועים לנושא.כדי לתת לסוכן השירות את ההרשאות שנדרשות כדי לשלוח התראות על אירועים לנושא, פועלים לפי ההוראות במאמר הקצאת תפקידים לסוכן השירות של הפרויקט.
קבלת תפקידים לצפייה במטא-נתונים של הקטגוריה ובנושא Pub/Sub
כדי לקבל את ההרשאות שנדרשות להגדרה ולצפייה בהתראות Pub/Sub בקטגוריה, צריך לבקש מהאדמין להקצות לכם את התפקידים הבאים. התפקידים המוגדרים מראש האלה כוללים את ההרשאות שנדרשות כדי להגדיר התראות Pub/Sub ולצפות בהן.
התפקיד "אדמין של Storage" (
roles/storage.admin) בקטגוריה שבה רוצים להגדיר התראות Pub/Subהתפקיד "אדמין Pub/Sub" (
roles/pubsub.admin) בפרויקט שבו רוצים לקבל התראות Pub/Sub
יכול להיות שתוכלו לקבל את ההרשאות האלה גם בתפקידים מוגדרים מראש אחרים או בתפקידים בהתאמה אישית.
במאמר הגדרה וניהול של מדיניות IAM בקטגוריות מוסבר איך מקצים תפקידים בקטגוריות. במאמר שליטה בגישה מוסבר איך מקצים תפקידים בפרויקטים ומגדירים אמצעי בקרת גישה לנושאים ולמינויים.
הקצאת התפקיד הנדרש לסוכן השירות של הפרויקט
בקטע הזה מוסבר איך נותנים לסוכן השירות את ההרשאות שנדרשות כדי לשלוח התראות.
לקבל את כתובת האימייל של סוכן השירות שמשויך לפרויקט שמכיל את הקטגוריה של Cloud Storage. כתובת האימייל של סוכן השירות היא בפורמט הבא:
service-PROJECT_NUMBER@gs-project-accounts.iam.gserviceaccount.comמקצים לסוכן השירות את התפקיד "פרסום הודעות ב-Pub/Sub" (
roles/pubsub.publisher) בנושא הרלוונטי ב-Pub/Sub. במאמר שליטה בגישה מוסבר איך מקצים תפקידים לנושאים.
החלת הגדרה של התראה
באמצעות השלבים הבאים תוכלו להוסיף לקטגוריה שלכם הגדרת התראה, ששולחת התראות לכל האירועים הנתמכים.
המסוף
אי אפשר לנהל את התראות Pub/Sub באמצעות מסוףGoogle Cloud . במקום זאת, צריך להשתמש ב-CLI של gcloud או באחת מספריות הלקוח הזמינות.
שורת הפקודה
משתמשים בפקודה gcloud storage buckets notifications create:
gcloud storage buckets notifications create gs://BUCKET_NAME --topic=TOPIC_NAME
כאשר:
BUCKET_NAMEהוא שם הקטגוריה הרלוונטית. למשל,my-bucket.
TOPIC_NAMEהוא הנושא Pub/Sub שאליו צריך לשלוח את ההתראות. אם תציינו נושא שלא קיים בפרויקט שלכם, הפקודה תיצור בשבילכם נושא.
כדי לשלוח התראות לקבוצת משנה של אירועים, צריך לכלול את הדגל --event-types.
ספריות לקוח
C++
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage C++ API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
C#
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage C# API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Go
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Go API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Java
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Java API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Node.js
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Node.js API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
PHP
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage PHP API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
כדי ליצור הגדרה של התראה לקטגוריה באמצעות PHP, קראו את מאמרי העזרה של ספריית הלקוח של Google Cloud.Python
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Python API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Ruby
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Ruby API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Terraform
אתם יכולים להשתמש במשאב של Terraform כדי להוסיף הגדרה של התראה לקטגוריה.
ממשקי API בארכיטקטורת REST
API בפורמט JSON
להתקין ולהפעיל את ה-CLI של gcloud, כדי שתוכלו ליצור אסימון גישה לכותרת
Authorization.יוצרים קובץ JSON שמכיל את הפרטים הבאים:
{ "topic": "projects/PROJECT_ID/topics/TOPIC_NAME", "payload_format": "JSON_API_V1" }
כאשר:
PROJECT_IDהוא המזהה של הפרויקט שמשויך לנושא Pub/Sub שאליו רוצים לשלוח התראות. למשל,my-pet-project.
TOPIC_NAMEהוא הנושא Pub/Sub שאליו צריך לשלוח את ההתראות. לדוגמה,my-topic.
כדי לשלוח התראות לקבוצת משנה של אירועים, אתם צריכים לכלול את השדה
event_typesבגוף הבקשה ב-JSON.משתמשים ב-
cURLכדי לשלוח קריאה ל-API בפורמט JSON באמצעות בקשתPOST notificationConfigs:curl -X POST --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/notificationConfigs"
כאשר:
JSON_FILE_NAMEהוא הנתיב לקובץ שיצרתם בשלב 2.
BUCKET_NAMEהוא שם הקטגוריה שרוצים שהמערכת תיצור התראות בשבילה. למשל,my-bucket.
API בפורמט XML
אי אפשר לנהל את ההתראות של Pub/Sub באמצעות API בפורמט XML.
החלת הגדרה של התראה על פרויקטים שונים
יכול להיות שהקטגוריה שלכם נמצאת בפרויקט אחר מהנושא ב-Pub/Sub שאליו אתם רוצים לשלוח התראות. לדוגמה, יכול להיות שהקטגוריה נמצאת בפרויקט א' ונושא Pub/Sub נמצא בפרויקט ב'. במקרה כזה, חשוב לוודא את הדברים הבאים:
בפרויקט ב', מקצים לסוכן השירות של Cloud Storage בפרויקט א' את התפקיד "פרסום הודעות ב-Pub/Sub" (
roles/pubsub.publisher) בנושא היעד. למידע נוסף, קראו את המאמר מתן ההרשאה הנדרשת לסוכן השירות.כשיוצרים את הגדרת ההתראה בפרויקט א', צריך לציין את הנתיב המלא לנושא בפרויקט ב'. לדוגמה:
projects/PROJECT_B_ID/topics/TOPIC_NAME
אחזור הגדרה של התראה
כדי לאחזר הגדרה ספציפית של התראה שמשויכת לקטגוריה שלכם:
המסוף
אי אפשר לנהל את התראות Pub/Sub באמצעות מסוףGoogle Cloud . במקום זאת, צריך להשתמש ב-Google Cloud CLI או באחת מספריות הלקוח הזמינות.
שורת הפקודה
משתמשים בפקודה gcloud storage buckets notifications describe:
gcloud storage buckets notifications describe projects/_/buckets/BUCKET_NAME/notificationConfigs/NOTIFICATION_ID
כאשר:
BUCKET_NAMEהוא שם הקטגוריה שרוצים לאחזר את הגדרת ההתראה שלה. לדוגמה,my-bucket.
NOTIFICATION_IDהוא המספר המזהה של ההגדרה הרלוונטית. לדוגמה,5.
אם הפעולה בוצעה ללא שגיאות, התשובה נראית דומה לדוגמה הבאה:
etag: '132' id: '132' kind: storage#notification payload_format: JSON_API_V1 selfLink: https://www.googleapis.com/storage/v1/b/my-bucket/notificationConfigs/132 topic: //pubsub.googleapis.com/projects/my-project/topics/my-bucket
ספריות לקוח
C++
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage C++ API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
C#
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage C# API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Go
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Go API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Java
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Java API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Node.js
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Node.js API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
PHP
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage PHP API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
כדי לקבל הגדרה של התראה לקטגוריה באמצעות PHP, קראו את מאמרי העזרה של ספריית הלקוח של Google Cloud.Python
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Python API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Ruby
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Ruby API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
ממשקי API בארכיטקטורת REST
API בפורמט JSON
להתקין ולהפעיל את ה-CLI של gcloud, כדי שתוכלו ליצור אסימון גישה לכותרת
Authorization.משתמשים ב-
cURLכדי לשלוח קריאה ל-API בפורמט JSON באמצעות בקשתGET notificationConfigs:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/notificationConfigs/NOTIFICATION_ID"
כאשר:
BUCKET_NAMEהוא שם הקטגוריה שרוצים לאחזר את הגדרת ההתראה שלה. למשל,my-bucket.
NOTIFICATION_IDהוא המספר המזהה של הגדרת ההתראה שרוצים לאחזר. למשל,5.
API בפורמט XML
אי אפשר לנהל את ההתראות של Pub/Sub באמצעות API בפורמט XML.
הצגה של רשימת הגדרות של התראות לקטגוריה
כדי להציג רשימה של כל הגדרות ההתראות שמשויכות לקטגוריה מסוימת:
המסוף
אי אפשר לנהל את התראות Pub/Sub באמצעות מסוףGoogle Cloud . במקום זאת, צריך להשתמש ב-CLI של gcloud או באחת מספריות הלקוח הזמינות.
שורת הפקודה
משתמשים בפקודה gcloud storage buckets notifications list:
gcloud storage buckets notifications list gs://BUCKET_NAME
כאשר BUCKET_NAME הוא שם הקטגוריה שאתם רוצים להציג ברשימה את הגדרות ההתראות שלה. לדוגמה, my-bucket.
ספריות לקוח
C++
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage C++ API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
C#
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage C# API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Go
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Go API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Java
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Java API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Node.js
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Node.js API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
PHP
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage PHP API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
כדי להציג רשימת הגדרות של התראות שמשויכות לקטגוריה באמצעות PHP, קראו את מאמרי העזרה של ספריית הלקוח של Google Cloud.Python
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Python API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Ruby
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Ruby API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
ממשקי API בארכיטקטורת REST
API בפורמט JSON
להתקין ולהפעיל את ה-CLI של gcloud, כדי שתוכלו ליצור אסימון גישה לכותרת
Authorization.משתמשים ב-
cURLכדי לשלוח קריאה ל-API בפורמט JSON באמצעות בקשתGET notificationConfigs:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/notificationConfigs"
כאשר
BUCKET_NAMEהוא שם הקטגוריה שאתם רוצים להציג ברשימה את הגדרות ההתראות שלה. לדוגמה,my-bucket.
API בפורמט XML
אי אפשר לנהל את ההתראות של Pub/Sub באמצעות API בפורמט XML.
הסרת הגדרה של התראה
כדי להסיר הגדרת התראה קיימת מהקטגוריה:
המסוף
אי אפשר לנהל את התראות Pub/Sub באמצעות מסוףGoogle Cloud . במקום זאת, צריך להשתמש ב-CLI של gcloud או באחת מספריות הלקוח הזמינות.
שורת הפקודה
משתמשים בפקודה gcloud storage buckets notifications delete:
gcloud storage buckets notifications delete projects/_/buckets/BUCKET_NAME/notificationConfigs/NOTIFICATION_ID
כאשר:
BUCKET_NAMEהוא שם הקטגוריה שרוצים למחוק את הגדרת ההתראה שלה. לדוגמה,my-bucket.
NOTIFICATION_IDהוא המספר המזהה של ההגדרה שרוצים למחוק. למשל,5.
אם הפעולה בוצעה ללא שגיאות, התגובה תיראה דומה לדוגמה הבאה:
Completed 1
אחרי השליחה, יכול להיות שיעברו 30 שניות לכל היותר עד שיפסיקו כל ההתראות שהגדרת ההתראה הפעילה.
ספריות לקוח
C++
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage C++ API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
C#
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage C# API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Go
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Go API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Java
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Java API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Node.js
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Node.js API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
PHP
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage PHP API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
כדי למחוק הגדרה של התראה לקטגוריה באמצעות PHP, קראו את מאמרי העזרה של ספריית הלקוח של Google Cloud.Python
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Python API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Ruby
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Ruby API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Terraform
כדי להסיר את הגדרת ההתראה שיצרתם, מריצים את הפקודה terraform destroy מהתיקייה שמכילה את הקובץ של Terraform.
ממשקי API בארכיטקטורת REST
API בפורמט JSON
להתקין ולהפעיל את ה-CLI של gcloud, כדי שתוכלו ליצור אסימון גישה לכותרת
Authorization.משתמשים ב-
cURLכדי לשלוח קריאה ל-API בפורמט JSON באמצעות בקשתDELETE notificationConfigs:curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/notificationConfigs/NOTIFICATION_ID"
כאשר:
BUCKET_NAMEהוא שם הקטגוריה שרוצים למחוק את הגדרת ההתראה שלה. למשל,my-bucket.
NOTIFICATION_IDהוא המספר המזהה של הגדרת ההתראה שרוצים למחוק. למשל,5.
אחרי השליחה, יכול להיות שיעברו 30 שניות לכל היותר עד שיפסיקו כל ההתראות שהגדרת ההתראה הפעילה.
API בפורמט XML
אי אפשר לנהל את ההתראות של Pub/Sub באמצעות API בפורמט XML.
המאמרים הבאים
יצירת מינוי ב-Pub/Sub כדי לצפות בהתראות שנשלחו מ-Cloud Storage.
איך משתמשים בפונקציות Cloud Run כדי להעביר אירועים באמצעות טריגר של Cloud Storage.