Puoi usare Pub/Sub per ricevere notifiche quando si verificano nei datastore dell'API Cloud Healthcare. Queste notifiche ti informano quando:
- Un'istanza DICOM viene archiviata in un archivio DICOM utilizzando il metodo
dicomStores.dicomWeb.studies.storeInstances
o importata da Cloud Storage. - Una risorsa FHIR viene creata, aggiornata o eliminata in un datastore FHIR. Tuttavia, Le notifiche non vengono inviate quando una risorsa FHIR viene importata da Cloud Storage.
- Un messaggio HL7v2 viene importato o creato in un archivio HL7v2 per la prima volta. I messaggi duplicati non attiveranno una notifica.
Quando si verifica uno di questi eventi, l'API Cloud Healthcare pubblica una a una risorsa Pub/Sub denominata denominata topic. Il messaggio può quindi essere ricevuto dalle applicazioni sottoscritte all'argomento.
Per DICOM e HL7v2, questi messaggi non contengono informazioni personali. Loro include solo quanto segue:
- Il progetto per cui viene generato il messaggio
- L'ID del messaggio
- Nei messaggi HL7v2, il tipo di messaggio HL7v2
I messaggi FHIR Pub/Sub possono contenere informazioni personali. Per ulteriori informazioni, consulta l'articolo sulle notifiche FHIR contenenti dati delle risorse FHIR.
Per una panoramica dell'utilizzo delle notifiche Pub/Sub con il API Cloud Healthcare, vedi Notifiche Pub/Sub.
Prima di iniziare
Controllare la quota di Pub/Sub
Prima di configurare le notifiche Pub/Sub, acquisisci familiarità con Quote e limiti di Pub/Sub. Per informazioni su come visualizzare la quota, richiederne una maggiore e cosa succede se esaurisci la quota, consulta Utilizzo delle quote.
Abilita l'API Pub/Sub
Per abilitare l'API Pub/Sub, fai clic sul pulsante seguente:
Configurare le autorizzazioni Pub/Sub
Consentire la pubblicazione dei messaggi dall'API Cloud Healthcare
in Pub/Sub, devi aggiungere il ruolo pubsub.publisher
l'account di servizio dell'agente di servizio Cloud Healthcare del tuo progetto.
Per informazioni sulla procedura per aggiungere il ruolo richiesto, consulta Autorizzazioni Pub/Sub per archivi DICOM, FHIR e HL7v2.
crea un argomento Pub/Sub
Per ogni datastore per cui vuoi ricevere notifiche, devi configurare un argomento Pub/Sub. I singoli datastore possono avere i propri argomenti Pub/Sub oppure più datastore possono condividere lo stesso argomento. Puoi creare un argomento utilizzando la console Google Cloud oppure Google Cloud CLI.
Quando crei un argomento o fai riferimento a un argomento nella configurazione di un datastore, devi utilizzare un URI qualificato nel seguente formato:
projects/PROJECT_ID/topics/TOPIC_NAME
dove PROJECT_ID è l'ID progetto Google Cloud TOPIC_NAME è il nome dell'argomento.
Per creare un argomento, completa i seguenti passaggi:
Console
Vai alla pagina Argomenti di Pub/Sub nella console Google Cloud.
Fai clic su Crea argomento.
Inserisci un nome per l'argomento con il seguente URI:
projects/PROJECT_ID/topics/TOPIC_NAME
dove PROJECT_ID è l'ID progetto Google Cloud.
Fai clic su Crea.
gcloud
Per creare un argomento, esegui
gcloud pubsub topics create
:
gcloud pubsub topics create projects/PROJECT_ID/topics/TOPIC_NAME
Se la richiesta riesce, il comando restituisce il seguente output:
Created topic [projects/PROJECT_ID/topics/TOPIC_NAME].
Creare una sottoscrizione Pub/Sub
Per ricevere i messaggi pubblicati in un argomento, devi creare una sottoscrizione Pub/Sub. Ogni argomento Pub/Sub deve avere almeno una sottoscrizione Pub/Sub.
La sottoscrizione collega l'argomento a un'applicazione del sottoscrittore che riceve ed elabora i messaggi pubblicati nell'argomento.
Le sottoscrizioni possono essere configurate per l'utilizzo di un modello push o di una modello pull.
Le sottoscrizioni possono essere configurate per filtrare i messaggi in base ai loro attributi; consulta le istruzioni su come filtrare i messaggi da una sottoscrizione.
Per creare un abbonamento, completa i seguenti passaggi:
Console
Vai alla pagina Argomenti di Pub/Sub nella console Google Cloud.
Fai clic su un argomento del progetto.
Fai clic su Crea sottoscrizione.
Inserisci un nome per la sottoscrizione:
projects/PROJECT_ID/subscriptions/SUBSCRIPTION_NAME
Lascia Tipo di consegna impostato su Pull.
Fai clic su Crea.
gcloud
Per creare un argomento, esegui
gcloud pubsub subscriptions create
:
gcloud pubsub subscriptions create SUBSCRIPTION_NAME --topic=TOPIC_NAME
Se la richiesta riesce, il comando restituisce il seguente output:
Created subscription [projects/PROJECT_ID/subscriptions/TOPIC_NAME].
Visualizza le notifiche delle istanze DICOM archiviate
Per informazioni sull'utilizzo delle notifiche Pub/Sub con i dati DICOM, vedi Notifiche DICOM Pub/Sub.
Visualizzare le notifiche HL7v2
La Hl7V2Store
La risorsa contiene un array notificationConfigs
in cui puoi specificare argomenti e criteri di filtro Pub/Sub.
Quando un messaggio HL7v2 viene importato o creato in un archivio HL7v2, L'API Cloud Healthcare pubblica un messaggio in Pub/Sub gli argomenti con un filtro che corrisponde al messaggio HL7v2.
Per visualizzare una notifica per un messaggio HL7v2 importato, completa quanto segue passaggi:
- Crea o modifica un archivio HL7v2 e configurarlo con un argomento Pub/Sub.
- Aggiungi il ruolo
pubsub.publisher
richiesto all'account di servizio del progetto. - Importa un messaggio HL7v2 nell'archivio HL7v2. Questo attiva l'API Cloud Healthcare per pubblicare un nell'argomento Pub/Sub configurato.
Per visualizzare il messaggio pubblicato nell'argomento Pub/Sub, esegui il comando
gcloud pubsub subscriptions pull
:gcloud pubsub subscriptions pull --auto-ack projects/PROJECT_ID/subscriptions/PUBSUB_SUBSCRIPTION
Il comando restituisce il seguente output sul messaggio HL7v2 importato:
┌--------------------------------------------------------------------------------------------------------------------|-----------------|---------------┐ | DATA | MESSAGE_ID | ATTRIBUTES | ├--------------------------------------------------------------------------------------------------------------------|-----------------|---------------| | projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID/messages/HL7V2_MESSAGE_ID | 123456789012345 | msgType=TYPE | └--------------------------------------------------------------------------------------------------------------------|-----------------|---------------┘
Criterio di archiviazione dei messaggi dell'API Cloud Healthcare e di Pub/Sub
assicurare che i dati dell'API Cloud Healthcare e i dati associati in Pub/Sub che i messaggi risiedono nella stessa regione, devi impostare un criterio di archiviazione dei messaggi.
Devi impostare esplicitamente il criterio di archiviazione dei messaggi in Pub/Sub
configurato nel datastore per garantire che i dati rimangano negli stessi
regione. Ad esempio, se il set di dati dell'API Cloud Healthcare e l'archivio FHIR si trovano in us-central1
, il criterio di archiviazione dei messaggi deve consentire solo la regione us-central1
.
Per configurare un criterio di archiviazione dei messaggi, consulta Configurare i criteri del magazzino dei messaggi.
Risolvere i problemi relativi ai messaggi Pub/Sub persi
Se una notifica non può essere pubblicata in Pub/Sub, viene restituito un errore e log in Cloud Logging. Per ulteriori informazioni, consulta Visualizzazione dei log degli errori in Cloud Logging.
Se la percentuale di generazione di errori supera un limite, gli errori che superano il limite non vengono inviate a Cloud Logging.
Passaggi successivi
Scopri come configurare un argomento Pub/Sub in: