Pub/Sub-Benachrichtigungen konfigurieren

Sie können Pub/Sub verwenden, um in klinischen Studien Benachrichtigungen zu erhalten. in Cloud Healthcare API-Datenspeichern auftreten. Diese Benachrichtigungen informieren Sie, wenn:

Wenn eines dieser Ereignisse eintritt, veröffentlicht die Cloud Healthcare API eine Nachricht an eine benannte Pub/Sub-Ressource, die als Thema bezeichnet wird. Die Nachricht kann dann von Anwendungen empfangen werden, die das Thema abonniert haben.

Für DICOM und HL7v2 enthalten diese Nachrichten keine personenbezogenen Daten. Sie umfassen nur Folgendes:

  • Das Projekt, für das die Nachricht generiert wird.
  • Die Nachrichten-ID
  • Der HL7v2-Nachrichtentyp in HL7v2-Nachrichten

FHIR-Pub/Sub-Nachrichten können personenbezogene Daten enthalten. Weitere Informationen finden Sie unter FHIR-Benachrichtigungen mit FHIR-Ressourcendaten.

Eine Übersicht über die Verwendung von Pub/Sub-Benachrichtigungen mit der Cloud Healthcare API finden Sie unter Pub/Sub-Benachrichtigungen.

Hinweise

Pub/Sub-Kontingent prüfen

Machen Sie sich mit der Verwendung von Pub/Sub-Kontingenten und -Limits vertraut, bevor Sie Pub/Sub-Benachrichtigungen konfigurieren. Informationen dazu, wie Sie Ihr Kontingent einsehen und ein höheres Kontingent anfordern und was geschieht, wenn Ihr Kontingent aufgebraucht ist, finden Sie unter Mit Kontingenten arbeiten.

Pub/Sub API aktivieren

Klicken Sie auf die folgende Schaltfläche, um die Pub/Sub API zu aktivieren:

API aktivieren

Pub/Sub-Berechtigungen konfigurieren

Damit Nachrichten von der Cloud Healthcare API in Pub/Sub veröffentlicht werden können, müssen Sie die Rolle pubsub.publisher zum Dienstkonto Ihres Projekts Cloud Healthcare-Dienst-Agent hinzufügen. Weitere Informationen zum Hinzufügen der erforderlichen Rolle finden Sie unter Pub/Sub-Berechtigungen für DICOM-, FHIR- und HL7v2-Speicher.

Pub/Sub-Thema erstellen

Für jeden Datenspeicher, für den Sie Benachrichtigungen erhalten möchten, müssen Sie ein Pub/Sub-Thema konfigurieren. Einzelne Datenspeicher können ein eigenes Pub/Sub-Thema haben oder mehrere Datenspeicher können dasselbe Thema gemeinsam nutzen. Sie können ein Thema mit der Google Cloud Console oder der Google Cloud CLI erstellen.

Wenn Sie ein Thema erstellen oder in der Konfiguration eines Datenspeichers auf ein Thema verweisen, müssen Sie einen qualifizierten URI im folgenden Format verwenden:

projects/PROJECT_ID/topics/TOPIC_NAME

Dabei ist PROJECT_ID Ihre Google Cloud-Projekt-ID und TOPIC_NAME der Name des Themas.

So erstellen Sie ein Thema:

Console

  1. Rufen Sie in der Google Cloud Console die Seite Pub/Sub-Themen auf.

    Zur Seite "Pub/Sub-Themen"

  2. Klicken Sie auf Thema erstellen.

  3. Geben Sie einen Themennamen mit folgendem URI ein:

    projects/PROJECT_ID/topics/TOPIC_NAME

    Dabei ist PROJECT_ID Ihre Google Cloud-Projekt-ID.

  4. Klicken Sie auf Erstellen.

gcloud

Führen Sie den Befehl gcloud pubsub topics create aus, um ein Thema zu erstellen:

gcloud pubsub topics create projects/PROJECT_ID/topics/TOPIC_NAME

Wenn die Anfrage erfolgreich ist, gibt der Befehl die folgende Ausgabe zurück:

Created topic [projects/PROJECT_ID/topics/TOPIC_NAME].

Pub/Sub-Abo erstellen

Um Nachrichten zu einem Thema zu erhalten, müssen Sie ein Pub/Sub-Abo erstellen. Jedes Pub/Sub-Thema sollte mindestens ein Pub/Sub-Abo enthalten.

Durch das Abo wird das Thema mit einer Abonnentenanwendung verbunden, die Nachrichten empfängt und verarbeitet, die für das Thema veröffentlicht wurden.

Abos können so konfiguriert werden, dass sie ein Push-Modell oder ein Pull-Modell verwenden.

Abos können so konfiguriert werden, dass Nachrichten anhand ihrer Attribute gefiltert werden. Weitere Informationen finden Sie unter Nachrichten aus einem Abo filtern.

Um ein Abo zu erstellen, führen Sie die folgenden Schritte aus.

Console

  1. Rufen Sie in der Google Cloud Console die Seite Pub/Sub-Themen auf.

    Zur Seite "Pub/Sub-Themen"

  2. Klicken Sie auf das Thema Ihres Projekts.

  3. Klicken Sie auf Abo erstellen.

  4. Geben Sie einen Namen für das Abo ein:

    projects/PROJECT_ID/subscriptions/SUBSCRIPTION_NAME

    Belassen Sie den Zustellungstyp bei Pull.

  5. Klicken Sie auf Erstellen.

gcloud

Führen Sie den Befehl gcloud pubsub subscriptions create aus, um ein Thema zu erstellen:

gcloud pubsub subscriptions create SUBSCRIPTION_NAME --topic=TOPIC_NAME

Wenn die Anfrage erfolgreich ist, gibt der Befehl die folgende Ausgabe zurück:

Created subscription [projects/PROJECT_ID/subscriptions/TOPIC_NAME].

Gespeicherte Benachrichtigungen zu DICOM-Instanzen aufrufen

Informationen zur Verwendung von Pub/Sub-Benachrichtigungen mit DICOM-Daten finden Sie unter DICOM Pub/Sub-Benachrichtigungen.

HL7v2-Benachrichtigungen ansehen

Die Ressource Hl7V2Store enthält ein Array notificationConfigs, in dem Sie Pub- und Sub-Themen und Filterkriterien angeben können.

Wenn eine HL7v2-Nachricht aufgenommen oder in einem HL7v2-Speicher erstellt wird, veröffentlicht die Cloud Healthcare API eine Nachricht in den Pub/Sub-Themen, die einen Filter haben, der mit der HL7v2-Nachricht übereinstimmt.

Führen Sie die folgenden Schritte aus, um eine Benachrichtigung für eine aufgenommene HL7v2-Nachricht anzuzeigen:

  1. Erstellen oder bearbeiten Sie einen HL7v2-Speicher und konfigurieren Sie ihn mit einem Pub/Sub-Thema.
  2. Fügen Sie dem Dienstkonto Ihres Projekts die erforderliche Rolle pubsub.publisher hinzu.
  3. Nehmen Sie eine HL7v2-Nachricht in den HL7v2-Speicher auf. Dadurch wird die Cloud Healthcare API veranlasst, eine Nachricht im konfigurierten Pub/Sub-Thema zu veröffentlichen.
  4. Führen Sie den Befehl gcloud pubsub subscriptions pull aus, um die im Pub/Sub-Thema veröffentlichte Nachricht anzuzeigen:

    gcloud pubsub subscriptions pull --auto-ack projects/PROJECT_ID/subscriptions/PUBSUB_SUBSCRIPTION

    Der Befehl gibt die folgende Ausgabe zur aufgenommenen HL7v2-Nachricht zurück:

    ┌--------------------------------------------------------------------------------------------------------------------|-----------------|---------------┐
    |                                                                 DATA                                               |    MESSAGE_ID   |   ATTRIBUTES  |
    ├--------------------------------------------------------------------------------------------------------------------|-----------------|---------------|
    | projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID/messages/HL7V2_MESSAGE_ID | 123456789012345 | msgType=TYPE  |
    └--------------------------------------------------------------------------------------------------------------------|-----------------|---------------┘

Cloud Healthcare API und Pub/Sub-Nachrichtenspeicherrichtlinie

Um sicherzustellen, dass sich die Cloud Healthcare API-Daten und die zugehörigen Daten in Pub/Sub-Nachrichten in derselben Region befinden, müssen Sie eine Pub/Sub-Nachrichtenspeicherrichtlinie festlegen.

Sie müssen die Nachrichtenspeicherrichtlinie für das im Datenspeicher konfigurierte Pub/Sub-Thema explizit festlegen, damit die Daten in derselben Region bleiben. Wenn sich Ihr Cloud Healthcare API-Dataset und Ihr FHIR-Speicher beispielsweise in us-central1 befinden, darf die Nachrichtenspeicherrichtlinie nur die Region us-central1 zulassen.

Informationen zum Konfigurieren einer Richtlinie für den Nachrichtenspeicher finden Sie unter Richtlinien für den Nachrichtenspeicher konfigurieren.

Fehlerbehebung bei verpassten Pub/Sub-Nachrichten

Wenn eine Benachrichtigung nicht in Pub/Sub veröffentlicht werden kann, wird ein Fehler in Cloud Logging in Logs erfasst. Weitere Informationen finden Sie unter Fehlerlogs in Cloud Logging ansehen.

Wenn die Fehlergenerierungsrate ein Limit überschreitet, werden Fehler, die dieses Limit überschreiten, nicht an Cloud Logging gesendet.

Nächste Schritte

Hier erfahren Sie, wie Sie ein Pub/Sub-Thema konfigurieren: