בדף הזה מוסבר איך להשתמש ב-Pub/Sub כדי לקבל התראות כשמתרחש אירוע קליני במאגר FHIR.
אפשר להשתמש בהתראות Pub/Sub למגוון תרחישי שימוש, כולל הפעלה של עיבוד או ניתוח במורד הזרם של נתונים חדשים. לדוגמה, מודל של למידת מכונה יכול לקבל התראות כשנתונים חדשים זמינים לאימון, וליצור תובנות או תחזיות כדי לשפר את הטיפול בחולים.
סקירה כללית
אתם יכולים לקבל התראות Pub/Sub כשמשאב FHIR נוצר, מעודכן, מתוקן או נמחק במאגר FHIR. Cloud Healthcare API לא שולח התראות כשמייבאים משאב FHIR מ-Cloud Storage.
כדי לקבל התראות, צריך ליצור נושא Pub/Sub ומינוי, ואז להגדיר את מאגר ה-FHIR לשליחת התראות לנושא.
בתרשים הבא אפשר לראות איך נוצרות הודעות Pub/Sub ומועברות כשמשאב FHIR נוצר במאגר FHIR באמצעות השיטה fhir.create. השלבים זהים כשמעדכנים, מתקנים או מוחקים משאב FHIR.
איור 1. שימוש בהתראות Pub/Sub לשינויים במאגר FHIR.
איור 1 מציג את השלבים הבאים:
- מתקשר שולח בקשת
fhirStores.fhir.createליצירת משאב FHIR. - מאגר ה-FHIR מקבל את הבקשה, יוצר הודעת Pub/Sub ושולח אותה לנושא Pub/Sub שהוגדר במאגר ה-FHIR.
- Pub/Sub מעביר את ההודעה למינויים שמצורפים לנושא.
- המנויים מקבלים התראה מהמינוי שלהם, בצורה של הודעת Pub/Sub. כל מינוי יכול לכלול מנוי אחד או יותר כדי להגדיל את רמת המקביליות.
הגדרת התראות
אפשר להגדיר התראות ב-Pub/Sub ואת ההתנהגות שלהן באובייקט FhirNotificationConfig בחנות FHIR. כל מאגר FHIR יכול להכיל כמה FhirNotificationConfig
configured.
בטבלה הבאה מתוארים השדות באובייקט FhirNotificationConfig.
| שדה | תיאור | דוגמה |
|---|---|---|
pubsubTopic |
נושא Pub/Sub לצירוף למאגר FHIR. ההתראות נשלחות לנושא שצוין. | projects/my-project/topics/my-topic |
sendFullResource |
האם לכלול בהתראה את התוכן המלא של משאב FHIR שנוצר, עודכן או תוקן. לשדה הזה אין השפעה על ההתראות שנשלחות כשמשאבי FHIR נמחקים. כדי לכלול את כל התוכן של משאב שנמחק, מגדירים את sendPreviousResourceOnDelete ל-true. |
true |
sendPreviousResourceOnDelete |
האם לכלול בהתראה את התוכן המלא של משאב FHIR שנמחק. לשדה הזה אין השפעה על ההתראות שנשלחות כשמשאבי FHIR נוצרים, מתעדכנים או מתוקנים. | true |
פורמט ותוכן ההתראות
כל התראה ב-Pub/Sub מכילה אובייקט message עם מידע על האירוע הקליני. אובייקט message נראה כך:
{
"message": {
"attributes": {
"action": "ACTION",
"lastUpdatedTime": "RFC_1123_FORMAT_DATETIME",
"payloadType": "PAYLOAD_TYPE",
"resourceType": "FHIR_RESOURCE_TYPE",
"storeName": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID",
"versionId": "VERSION_ID"
},
"data": "BASE_64_ENCODED_DATA",
"messageId": "MESSAGE_ID",
"publishTime": "YYYY-MM-DDTHH:MM:SS+ZZ:ZZ"
}
}
מידע על שדות נוספים שכלולים בכל הודעת Pub/Sub זמין במאמרים ReceivedMessage וPubsubMessage.
בטבלה הבאה מתואר כל שדה באובייקט attributes:
| מאפיין | תיאור | דוגמה |
|---|---|---|
action |
הפעולה שהתרחשה במשאב FHIR. הערכים האפשריים כוללים:
|
CreateResource |
resourceType |
סוג משאב ה-FHIR ששונה. הערכים האפשריים כוללים כל סוג משאב FHIR נתמך ב-Cloud Healthcare API. | Patient |
payloadType |
סוג המטען הייעודי (Payload) של ההודעה, אחד מהערכים NameOnly או FullResource. |
FullResource |
storeName |
השם המלא של משאב מאגר FHIR שבו התרחשה הפעולה. | projects/my-project/locations/us/datasets/my-dataset/fhirStores/my-fhir-store |
lastUpdatedTime |
חותמת זמן של הפעם האחרונה שבה בוצע שינוי במשאב FHIR. חותמת הזמן היא בפורמט RFC 1123. | Mon, 01 Jan 2020 00:00:00 UTC |
versionId |
המזהה של הגרסה האחרונה של משאב ה-FHIR שבו התרחשה הפעולה. מידע נוסף על מזהי גרסאות זמין במאמר הצגת רשימת גרסאות של משאבי FHIR. | MTY4MzA2MDQzOTI5NjIxMDAwMA |
בטבלה הבאה מפורטים השדות שנותרו באובייקט message:
| שדה | תיאור | דוגמה |
|---|---|---|
data |
מחרוזת בקידוד Base64 של שם משאב FHIR או של תוכן משאב FHIR, בהתאם לערכים שצוינו ב-FhirNotificationConfig. |
|
messageId |
מזהה של הודעת Pub/Sub. | |
publishTime |
השעה שבה השרת של Pub/Sub פרסם את ההודעה. |
איך מציינים את המידע שרוצים לכלול בהתראות
ההתראות ב-Pub/Sub, כפי שמפורט במאמר פורמט ותוכן של התראות, כוללות קבוצה סטנדרטית של שדות. בכל הודעה אפשר לכלול את משאב ה-FHIR המלא או רק את השם שלו. שם המשאב מכיל את הנתיב המלא למשאב ואת מזהה המשאב בפורמט הבא:
projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/RESOURCE_TYPE/RESOURCE_ID
פרטי משאב FHIR מאוחסנים בשדה data כמחרוזת בקידוד Base64.
אם כוללים את התוכן המלא של משאב FHIR, לא צריך לבצע שאילתות נפרדות ב-Pub/Sub וב-Cloud Healthcare API כדי לקבל את פרטי המשאב.
אחזור שם משאב FHIR
כדי לכלול רק את השם של משאב FHIR כשיוצרים, מעדכנים או מתקנים את המשאב, מגדירים את sendFullResource ל-false.
כדי לכלול רק את השם כשמוחקים משאב FHIR, מגדירים את sendPreviousResourceOnDelete ל-false.
כשמציגים את ההתראה, אובייקט message נראה כך:
{
"message": {
"attributes": {
"action": "{CreateResource|PatchResource|UpdateResource|DeleteResource}",
"lastUpdatedTime": "RFC_1123_FORMAT_DATETIME",
"payloadType": "NameOnly",
"resourceType": "FHIR_RESOURCE_TYPE",
"storeName": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID",
"versionId": "VERSION_ID"
},
"data": "BASE64_ENCODED_FHIR_RESOURCE_NAME",
"messageId": "MESSAGE_ID",
"publishTime": "YYYY-MM-DDTHH:MM:SS+ZZ:ZZ"
}
}
שימו לב לפרטים הבאים בהתראה:
השדה
payloadTypeמוגדר ל-NameOnlyכדי לציין את הפרטים הבאים לגבי הבקשה:- בפעולות יצירה, עדכון ותיקון, הערך של
sendFullResourceהואfalse. - בפעולות מחיקה, הערך של
sendPreviousResourceOnDeleteהואfalse.
- בפעולות יצירה, עדכון ותיקון, הערך של
רק שם משאב FHIR נכלל בשדה
data. השם מקודד כמחרוזת בקידוד Base64.
קבלת תוכן של משאבי FHIR שנוצרו, עודכנו או תוקנו
כדי לכלול את כל התוכן של משאב FHIR כשיוצרים, מעדכנים או מתקנים את המשאב, מגדירים את sendFullResource לערך true.
ההתנהגות הזו לא מתרחשת אם מוחקים משאב FHIR. אם מוחקים משאב FHIR, וההגדרה של sendFullResource היא true אבל ההגדרה של sendPreviousResourceOnDelete היא false, ההתראה זהה להתראה שמתקבלת כשמאחזרים רק את שם משאב FHIR. כדי לכלול את התוכן של משאב FHIR כשמשאב FHIR נמחק, אפשר לעיין במאמר בנושא קבלת תוכן של משאב FHIR שנמחק.
כשמציגים את ההתראה, אובייקט message נראה כך:
{
"message": {
"attributes": {
"action": "{CreateResource|PatchResource|UpdateResource}",
"lastUpdatedTime": "RFC_1123_FORMAT_DATETIME",
"payloadType": "FullResource",
"resourceType": "FHIR_RESOURCE_TYPE",
"storeName": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID",
"versionId": "VERSION_ID"
},
"data": "BASE64_ENCODED_FHIR_RESOURCE_CONTENTS",
"messageId": "MESSAGE_ID",
"publishTime": "YYYY-MM-DDTHH:MM:SS+ZZ:ZZ"
}
}
שימו לב לפרטים הבאים בהתראה:
- הערך של
payloadTypeמוגדר ל-FullResourceכדי לציין שהערך שלsendFullResourceמוגדר ל-true. התוכן המלא של משאב FHIR כלול בשדהdataכמחרוזת בקידוד Base64. - השדה
dataמכיל את תוכן משאב ה-FHIR כמחרוזת בקידוד Base64.
איך מקבלים את התוכן של משאב FHIR שנמחק
כדי לכלול את התוכן המלא של משאב FHIR כשמוחקים אותו, צריך להגדיר את sendPreviousResourceOnDelete ל-true.
כשמציגים את ההתראה, אובייקט message נראה כך:
{
"message": {
"attributes": {
"action": "DeleteResource",
"lastUpdatedTime": "RFC_1123_FORMAT_DATETIME",
"payloadType": "FullResource",
"resourceType": "FHIR_RESOURCE_TYPE",
"storeName": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID",
"versionId": "VERSION_ID"
},
"data": "BASE64_ENCODED_FHIR_RESOURCE_CONTENTS",
"messageId": "MESSAGE_ID",
"publishTime": "YYYY-MM-DDTHH:MM:SS+ZZ:ZZ"
}
}
שימו לב לערכים בשדות הבאים:
הערך של
payloadTypeהואFullResourceגם אם הערך שלsendFullResourceהואfalse.התוכן המלא של משאב FHIR כלול בשדה
dataכמחרוזת בקידוד Base64.השדה
dataמכיל את התוכן של משאב FHIR כמחרוזת בקידוד base64 לפני שהמשאב נמחק.
הגדרה של התראות FHIR וצפייה בהן
בדוגמאות הבאות מוסבר איך לראות את ההתראה שנוצרה ב-Pub/Sub כשנוצר משאב FHIR בחנות FHIR.
לפני שמתחילים
לפני שמגדירים ומשתמשים בהתראות Pub/Sub, צריך להשלים את הקטעים הבאים:
בדיקת מכסות Pub/Sub
מומלץ לעיין במכסות ובמגבלות של Pub/Sub. במאמרי העזרה בנושא מכסות ב-Cloud מוסבר איך צופים במכסות, איך מבקשים להגדיל את ערכי המכסות ומה קורה כשמגיעים למכסה המקסימלית.
הפעלת Pub/Sub API
במסוף Google Cloud , מפעילים את Pub/Sub API:
הגדרת הרשאות Pub/Sub
כדי לאפשר פרסום הודעות מ-Cloud Healthcare API ב-Pub/Sub, צריך להוסיף את התפקיד pubsub.publisher לחשבון השירות של סוכן השירות של Cloud Healthcare בפרויקט.
במאמר הרשאות Pub/Sub למאגרי DICOM, FHIR ו-HL7v2 מוסבר איך להוסיף את התפקיד הנדרש.
יוצרים נושא Pub/Sub
כדי ליצור נושא, אפשר לעיין במאמר בנושא יצירת נושא.
לכל מאגר נתונים יכול להיות נושא Pub/Sub משלו, או שכמה מאגרי נתונים יכולים לשתף את אותו נושא.
כשמציינים את נושא ה-Pub/Sub, צריך להשתמש בפורמט הבא:
projects/PROJECT_ID/topics/TOPIC_NAME
PROJECT_ID הוא מזהה הפרויקט שלכם ב- Google Cloud ו-TOPIC_NAME הוא השם של נושא ה-Pub/Sub.
יצירת מינוי ל-Pub/Sub
כדי לקבל הודעות שפורסמו בנושא, צריך ליצור מינוי ל-Pub/Sub. לכל נושא Pub/Sub צריך להיות לפחות מינוי Pub/Sub אחד. ההרשמה מקשרת את הנושא לאפליקציה רשומה שמקבלת ומעבדת הודעות שפורסמו בנושא.
כדי ליצור מינוי ולצרף אותו לנושא Pub/Sub, אפשר לעיין במאמר בנושא יצירת מינויים.
יצירה או עריכה של מאגר FHIR
יוצרים או עורכים מאגר FHIR עם אובייקט FhirNotificationConfig מוגדר.
בדוגמאות הבאות אפשר לראות איך עורכים מאגר FHIR קיים.
השדות sendFullResource ו-sendPreviousResourceOnDelete מוגדרים לערך true, כלומר ההתראות מכילות את התוכן המלא של משאב FHIR כשמשאב נוצר, מעודכן, מתוקן או נמחק.
REST
כדי לערוך את מאגר FHIR, משתמשים בשיטה projects.locations.datasets.fhirStores.patch.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: מזהה הפרויקט ב- Google Cloud
- LOCATION: המיקום של מערך הנתונים
- DATASET_ID: מערך הנתונים ברמת ההורה של מאגר FHIR
- FHIR_STORE_ID: מזהה מאגר ה-FHIR
- PUBSUB_TOPIC_ID: מזהה נושא ה-Pub/Sub
תוכן בקשת JSON:
{
"notificationConfigs": [
{
"pubsubTopic": "projects/PROJECT_ID/topics/PUBSUB_TOPIC_ID",
"sendFullResource": true,
"sendPreviousResourceOnDelete": true
}
]
}
כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:
curl
שומרים את גוף הבקשה בקובץ בשם request.json.
כדי ליצור או להחליף את הקובץ הזה בספרייה הנוכחית, מריצים את הפקודה הבאה בטרמינל:
cat > request.json << 'EOF'
{
"notificationConfigs": [
{
"pubsubTopic": "projects/PROJECT_ID/topics/PUBSUB_TOPIC_ID",
"sendFullResource": true,
"sendPreviousResourceOnDelete": true
}
]
}
EOFלאחר מכן מבצעים את הפקודה הבאה כדי לשלוח את בקשת ה-REST:
curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID?updateMask=notificationConfigs"
PowerShell
שומרים את גוף הבקשה בקובץ בשם request.json.
כדי ליצור או להחליף את הקובץ הזה בספרייה הנוכחית, מריצים את הפקודה הבאה בטרמינל:
@'
{
"notificationConfigs": [
{
"pubsubTopic": "projects/PROJECT_ID/topics/PUBSUB_TOPIC_ID",
"sendFullResource": true,
"sendPreviousResourceOnDelete": true
}
]
}
'@ | Out-File -FilePath request.json -Encoding utf8לאחר מכן מבצעים את הפקודה הבאה כדי לשלוח את בקשת ה-REST:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID?updateMask=notificationConfigs" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
יצירת משאב FHIR
יוצרים משאב FHIR בחנות FHIR. הבקשה גורמת ל-Cloud Healthcare API לפרסם הודעה בנושא Pub/Sub שהוגדר.
הצגת ההתראה ב-Pub/Sub
צפייה בהודעה שפורסמה בנושא ב-Pub/Sub. ההודעה הבאה נוצרה כשמשאב של מטופל נוצר במאגר FHIR.
בפלט לדוגמה, התוכן של משאב FHIR הוא מחרוזת בקידוד base64 בשדה data. כדי לקבל את התוכן, צריך לפענח את הערך בקידוד base64.
לרוב הפלטפורמות ומערכות ההפעלה יש כלים לפענוח טקסט בקידוד base64.
REST
כדי לראות את ההודעה שפורסמה בנושא Pub/Sub, משתמשים בשיטה projects.subscriptions.pull. בדוגמה הבאה נעשה שימוש בפרמטר השאילתה ?maxMessages=10 כדי לציין את המספר המקסימלי של ההודעות שיוחזרו בבקשה. אפשר לשנות את הערך בהתאם לצרכים שלכם.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: מזהה הפרויקט ב- Google Cloud
- PUBSUB_SUBSCRIPTION_ID: המזהה של המינוי שמצורף לנושא ה-Pub/Sub שהוגדר במאגר ה-FHIR
כדי לשלוח את הבקשה אתם צריכים לבחור אחת מהאפשרויות הבאות:
curl
מריצים את הפקודה הבאה:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d "" \
"https://pubsub.googleapis.com/v1/projects/PROJECT_ID/subscriptions/PUBSUB_SUBSCRIPTION_ID:pull?maxMessages=10"
PowerShell
מריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-Uri "https://pubsub.googleapis.com/v1/projects/PROJECT_ID/subscriptions/PUBSUB_SUBSCRIPTION_ID:pull?maxMessages=10" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
gcloud
כדי לראות את ההודעה שפורסמה בנושא Pub/Sub, מריצים את הפקודה
gcloud pubsub subscriptions pull.
בדוגמה נעשה שימוש בדגלים הבאים של Google Cloud CLI:
-
--format=json: מעבד את הפלט כ-JSON. -
--auto-ack: אישור אוטומטי של כל הודעה שנשלפת.
לפני השימוש בנתוני הפקודה הבאים, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: מזהה הפרויקט ב- Google Cloud
- PUBSUB_SUBSCRIPTION_ID: המזהה של המינוי שמצורף לנושא ה-Pub/Sub שהוגדר במאגר ה-FHIR
מריצים את הפקודה הבאה:
Linux, macOS או Cloud Shell
gcloud pubsub subscriptions pull \ projects/PROJECT_ID/subscriptions/PUBSUB_SUBSCRIPTION_ID \ --auto-ack \ --format=json
Windows (PowerShell)
gcloud pubsub subscriptions pull ` projects/PROJECT_ID/subscriptions/PUBSUB_SUBSCRIPTION_ID ` --auto-ack ` --format=json
Windows (cmd.exe)
gcloud pubsub subscriptions pull ^ projects/PROJECT_ID/subscriptions/PUBSUB_SUBSCRIPTION_ID ^ --auto-ack ^ --format=json
אמורים לקבל תגובה שדומה לזו:
[
{
"ackId": "RFAGFixdRkhRNxkIaFEOT14jPzUgKEUaAggUBXx9cEFLdVhUcGhRDRlyfWB9bQ5GAgpGWixfURsHaE5tdR",
"ackStatus": "SUCCESS",
"message": {
"attributes": {
"action": "CreateResource",
"lastUpdatedTime": "Mon, 01 Jan 2020 00:00:00 UTC",
"payloadType": "FullResource",
"resourceType": "Patient",
"storeName": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID",
"versionId": "MTY4MzA2MDQzOTI5NjIxMDAwMA"
},
"data": "wogICJiaXJ0aERhdGUiOiAiMTk3MC0wMS0wMSIsCiAgImdlbmRlciI6ICJmZW1hbGUiLAogICJpZCI6ICIyYmMwODg4Yi00MGRmLTQwYzctOWRhYi0wMzc4YTFiZWE0MGIiLAogICJtZXRhIjogewogICAgImxhc3RVcGRhdGVkIjogIjIwMjMtMDUtMDJUMjA6NDc6MTkuMjk2MjEwKzAwOjAwIiwKICAgICJ2ZXJzaW9uSWQiOiAiTVRZNE16QTJNRFF6T1RJNU5qSXhNREF3TUEiCiAgfSwKICAibmFtZSI6IFsKICAgIHsKICAgICAgImZhbWlseSI6ICJTbWl0aCIsCiAgICAgICJnaXZlbiI6IFsKICAgICAgICAiRGFyY3kiCiAgICAgIF0sCiAgICAgICJ1c2UiOiAib2ZmaWNpYWwiCiAgICB9CiAgXSwKICAicmVzb3VyY2VUeXBlIjogIlBhdGllbnQiCn0=",
"messageId": "7586159156345265",
"publishTime": "YYYY-MM-DDTHH:MM:SS+ZZ:ZZ"
}
}
]
התנהגות המערכת כשמשאב FHIR גדול מדי או כשיש עומס תנועה גבוה
אם הגודל של משאב FHIR גדול מדי, או אם יש עומס תנועה גבוה בשרתים של Cloud Healthcare API, יכול להיות שהשדה attributes יכיל רק את שם המשאב במקום את התוכן המלא של המשאב.
ההתנהגות הזו מתרחשת גם אם ההגדרות sendFullResource ו-sendPreviousResourceOnDelete מוגדרות לערך true.
כדי לוודא שהתראת Pub/Sub מכילה את משאב ה-FHIR המלא, צריך לבדוק את השדה payloadType בתגובה מהצגת ההתראה.
אם הערך payloadType מוגדר כ-nameOnly, המשמעות היא שהשדה attributes לא אוכלס באופן מלא בנתוני משאב FHIR. לאחר מכן, צריך לאחזר את התוכן של משאב FHIR באופן ידני מחנות FHIR במקום מההודעה ב-Pub/Sub.
מדיניות אחסון ההודעות של Cloud Healthcare API ו-Pub/Sub
כדי לוודא שהנתונים של Cloud Healthcare API והנתונים המשויכים בהודעות Pub/Sub נמצאים באותו אזור, צריך להגדיר מדיניות אחסון הודעות ב-Pub/Sub.
כדי לוודא שהנתונים יישארו באותו אזור, צריך להגדיר במפורש את מדיניות אחסון ההודעות בנושא Pub/Sub שהוגדר במאגר הנתונים. לדוגמה, אם מערך הנתונים של Cloud Healthcare API וחנות FHIR נמצאים באזור us-central1, מדיניות אחסון ההודעות צריכה לאפשר רק את האזור us-central1.
הוראות להגדרת מדיניות אחסון הודעות זמינות במאמר הגדרת מדיניות אחסון הודעות.
פתרון בעיות שקשורות להודעות Pub/Sub שלא התקבלו
אם אי אפשר לפרסם התראה ב-Pub/Sub, השגיאה נרשמת ביומן של Cloud Logging. מידע נוסף זמין במאמר צפייה ביומני שגיאות ב-Cloud Logging.
אם קצב יצירת השגיאות חורג ממגבלה מסוימת, השגיאות שחורגות מהמגבלה לא נשלחות אל Cloud Logging.
צפייה בהתראות FHIR באמצעות ההגדרה NotificationConfig (התכונה הזו הוצאה משימוש)
המשאב FhirStore מכיל אובייקט NotificationConfig שבו אפשר לציין נושא ב-Pub/Sub.
השינויים במשאבי FHIR תמיד מכילים את המזהה הבא בשדה data של הודעת Pub/Sub:
projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/RESOURCE_TYPE/RESOURCE_ID
הקבוצה הבאה של צמדי מפתח/ערך תמיד נכללת בשדה attributes של ההודעה:
| שם המאפיין | ערכים אפשריים | דוגמה | תיאור |
|---|---|---|---|
action |
|
CreateResource |
סוג האירוע שהתרחש. |
resourceType |
כל סוג של משאב FHIR. | Patient |
סוג המשאב ששונה. |
המאמרים הבאים
- שימוש בבקרה על זרימת נתונים לטיפול בעליות זמניות בתעבורת נתונים של הודעות ב-Pub/Sub
- טיפול בכשלים בהודעות.
- הפעלה מחדש ומחיקה של הודעות.
- אפשר לעיין בסקירה כללית על הארכיטקטורה של Pub/Sub.