You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google Healthcare API:DICOM去标识后如何获取Pub/Sub通知?

DICOM去标识后未触发Pub/Sub通知的问题

问题描述

我正在开发一个Cloud Run服务,通过Node.js调用Google Healthcare API对DICOM存储库做去标识处理,步骤如下:

  • 调用healthcare.projects.locations.datasets.dicomStores.create API并传入notificationConfig参数,创建关联Pub/Sub主题InstanceDeidentifiedEvent的目标DICOM存储库
  • 调用healthcare.projects.locations.datasets.dicomStores.deidentify API,将源DICOM存储库的实例去标识后存入目标存储库

但deidentify()调用成功后,完全没收到预期的Pub/Sub通知。查Google文档发现,Pub/Sub通知好像只有通过dicomStores.dicomWeb.studies.storeInstances请求写入实例时才会触发,想确认这种场景下能不能触发通知,以及对应的解决方案。


回答

可行性确认

你的观察完全正确:Google Healthcare API的DICOM存储库Pub/Sub通知默认仅对通过DICOMweb标准接口(如storeInstances)写入的实例触发,通过deidentify这类批量操作API写入的实例不会自动触发通知。这是因为批量操作的底层执行逻辑和标准DICOMweb写入请求不同,不会触发预设的通知钩子。

解决方案

有三种实用的处理方式:

  1. 手动触发通知
    在deidentify API调用成功后,通过代码主动查询目标DICOM存储库中新增的实例,然后调用Pub/Sub的publish API向指定主题发送自定义通知。可以利用deidentify返回的操作ID,通过operations.get接口查询操作详情,获取处理完成的实例列表,再批量生成通知内容。

  2. 利用Cloud Functions监听操作事件
    配置Cloud Functions监听Google Healthcare的操作完成事件(例如google.cloud.healthcare.v1.DicomStore.Deidentify类型的事件),当操作成功完成时,自动去目标存储库拉取实例信息并发送Pub/Sub通知。这种方式不需要在Cloud Run服务中额外添加逻辑,依赖GCP原生的事件驱动体系实现。

  3. 改用DICOMweb接口分批写入
    如果业务场景允许,可以将源DICOM实例分批取出,逐个通过dicomStores.dicomWeb.studies.storeInstances接口写入目标存储库(同时执行去标识处理),这种方式会自动触发你配置的Pub/Sub通知。但该方法性能不如批量deidentify API,更适合数据量较小的场景。


内容的提问来源于stack exchange,提问作者GaryY

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 01:42:20