Cloud Healthcare API 데이터 스토어에서 임상 이벤트가 발생할 때 Pub/Sub를 사용하여 알림을 수신할 수 있습니다. 이러한 알림은 다음 상황을 알려줍니다.
- DICOM 인스턴스는
dicomStores.dicomWeb.studies.storeInstances
메서드를 사용하여 DICOM 저장소에 저장되거나 Cloud Storage에서 가져옵니다. - FHIR 리소스가 FHIR 저장소에서 생성, 업데이트 또는 삭제된 경우. 하지만 FHIR 리소스를 Cloud Storage에서 가져올 때 알림이 전송되지 않습니다.
- HL7v2 메시지가 처음으로 HL7v2 저장소에서 수집되거나 생성된 경우. 중복 메시지는 알림을 트리거하지 않습니다.
이러한 이벤트 중 하나가 발생하면 Cloud Healthcare API는 주제라는 이름이 지정된 Pub/Sub 리소스에 메시지를 게시합니다. 그런 다음 이 주제를 구독하는 애플리케이션에서 메시지를 수신할 수 있습니다.
DICOM 및 HL7v2의 경우 이러한 메시지에 개인 정보가 포함되지 않습니다. 다음 항목만 포함됩니다.
- 생성된 메시지의 프로젝트
- 메시지 ID
- HL7v2 메시지의 HL7v2 메시지 유형
FHIR Pub/Sub 메시지는 개인 정보를 수집할 수 있습니다. 자세한 내용은 FHIR 리소스 데이터를 포함하는 FHIR 알림을 참조하세요.
Cloud Healthcare API에서 Pub/Sub 알림 사용에 대한 개요는 Pub/Sub 알림을 참조하세요.
시작하기 전에
Pub/Sub 할당량 검토
Pub/Sub 알림을 구성하기 전 Pub/Sub 할당량 및 한도를 숙지하세요. 할당량 확인 및 추가 할당량 요청 방법과 할당량이 부족할 때 발생하는 결과에 대한 자세한 내용은 할당량 작업을 참조하세요.
Pub/Sub API 사용 설정
Pub/Sub API를 사용 설정하려면 다음 버튼을 클릭합니다.
Pub/Sub 권한 구성
Cloud Healthcare API에서 Pub/Sub로 메시지를 게시하려면 프로젝트의 Cloud Healthcare 서비스 에이전트 서비스 계정에 pubsub.publisher
역할을 추가해야 합니다.
필요한 역할을 추가하는 단계는 DICOM, FHIR, HL7v2 저장소 Pub/Sub 권한을 참조하세요.
Pub/Sub 주제 만들기
알림을 수신할 각 데이터 스토어에 대해 Pub/Sub 주제를 구성해야 합니다. 개별 데이터 스토어에는 자체 Pub/Sub 주제가 있거나 여러 데이터 스토어가 동일한 주제를 공유할 수 있습니다. Google Cloud 콘솔 또는 Google Cloud CLI를 사용하여 주제를 만들 수 있습니다.
주제를 만들거나 데이터 스토어 구성에서 주제를 참조할 때는 다음 형식의 정규화된 URI를 사용해야 합니다.
projects/PROJECT_ID/topics/TOPIC_NAME
여기서 PROJECT_ID는 Google Cloud 프로젝트 ID이고 TOPIC_NAME은 주제의 이름입니다.
주제를 만들려면 다음 단계를 완료합니다.
콘솔
Google Cloud 콘솔에서 Pub/Sub 주제 페이지로 이동합니다.
주제 만들기를 클릭합니다.
URI와 함께 주제 이름을 입력합니다.
projects/PROJECT_ID/topics/TOPIC_NAME
여기서 PROJECT_ID는 Google Cloud 프로젝트 ID입니다.
만들기를 클릭합니다.
gcloud
주제를 만들려면 gcloud pubsub topics create
명령어를 실행합니다.
gcloud pubsub topics create projects/PROJECT_ID/topics/TOPIC_NAME
요청이 성공하면 명령어는 다음 출력을 반환합니다.
Created topic [projects/PROJECT_ID/topics/TOPIC_NAME].
Pub/Sub 구독 만들기
주제에 게시된 메시지를 받으려면 Pub/Sub 구독을 만들어야 합니다. 모든 Pub/Sub 주제에는 하나 이상의 Pub/Sub 구독이 있어야 합니다.
구독은 주제에 게시된 메시지를 수신하고 처리하는 구독자 애플리케이션과 주제를 연결합니다.
구독은 내보내기 모델이나 가져오기 모델을 이용하도록 구성할 수 있습니다.
구독은 해당 속성을 기준으로 메시지를 필터링하도록 구성할 수 있습니다. 구독에서 메시지 필터링 안내를 참조하세요.
구독을 만들려면 다음 단계를 완료하세요.
콘솔
Google Cloud 콘솔에서 Pub/Sub 주제 페이지로 이동합니다.
프로젝트 주제를 클릭합니다.
구독 만들기를 클릭합니다.
구독 이름을 입력합니다.
projects/PROJECT_ID/subscriptions/SUBSCRIPTION_NAME
전송 유형을 가져오기로 설정합니다.
만들기를 클릭합니다.
gcloud
주제를 만들려면 gcloud pubsub subscriptions create
명령어를 실행합니다.
gcloud pubsub subscriptions create SUBSCRIPTION_NAME --topic=TOPIC_NAME
요청이 성공하면 명령어는 다음 출력을 반환합니다.
Created subscription [projects/PROJECT_ID/subscriptions/TOPIC_NAME].
저장된 DICOM 인스턴스 알림 보기
DICOM 데이터로 Pub/Sub 알림을 사용하는 방법에 관한 자세한 내용은 DICOM Pub/Sub 알림을 참고하세요.
HL7v2 알림 보기
Hl7V2Store
리소스에는 Pub/Sub 주제 및 필터링 기준을 지정할 수 있는 notificationConfigs
배열이 포함됩니다.
HL7v2 메시지가 HL7v2 저장소에서 수집되거나 생성되면 Cloud Healthcare API는 HL7v2 메시지와 일치하는 필터가 있는 Pub/Sub 주제에 메시지를 게시합니다.
수집된 HL7v2 메시지의 알림을 보려면 다음 단계를 완료하세요.
- HL7v2 저장소를 만들거나 수정하고 Pub/Sub 주제로 구성합니다.
- 프로젝트의 서비스 계정에 필요한
pubsub.publisher
역할을 추가합니다. - HL7v2 저장소에 HL7v2 메시지를 수집합니다. 이렇게 하면 Cloud Healthcare API가 메시지를 구성된 Pub/Sub 주제에 게시합니다.
Pub/Sub 주제에 게시된 메시지를 보려면
gcloud pubsub subscriptions pull
명령어를 실행합니다.gcloud pubsub subscriptions pull --auto-ack projects/PROJECT_ID/subscriptions/PUBSUB_SUBSCRIPTION
명령어는 수집된 HL7v2 메시지에 대한 다음 출력을 반환합니다.
┌--------------------------------------------------------------------------------------------------------------------|-----------------|---------------┐ | 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 및 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에 제출되지 않습니다.
다음 단계
Pub/Sub 주제를 구성하는 방법 알아보기: