本页面介绍了如何创建、修改、查看、列出和删除医学数字成像和通信 (DICOM) 存储区。
DICOM 存储区用于存储 DICOM 实例。您可以使用 Cloud Healthcare API 中的 DICOMweb 实现在 DICOM 存储区中添加和管理 DICOM 实例,也可以使用 Google Cloud 服务导入和导出 DICOM 实例。
如需详细了解 Cloud Healthcare API 如何符合 DICOM 标准,请参阅 DICOM 一致性声明。
创建 DICOM 存储区
您必须先创建一个数据集,然后才能创建 DICOM 存储区。
以下示例展示了如何创建 DICOM 存储区:
控制台
如需创建 DICOM 存储区,请执行以下操作:
- 在 Google Cloud 控制台中,转到“数据集”页面。
- 选择要在其中创建 DICOM 存储区的数据集。
- 点击创建数据存储区。
- 选择 DICOM 作为数据存储区类型。
- 输入您选择的名称,该名称在您的数据集中必须是独一无二的。如果名称不是唯一的,则创建数据存储区会失败。
- 点击 Next(下一步)。
-
如果要为数据存储区配置 Pub/Sub 主题,请点击接收 Cloud Pub/Sub 通知并选择主题名称。指定 Pub/Sub 主题时,请输入主题的限定 URI,如以下示例所示:
projects/PROJECT_ID/topics/PUBSUB_TOPIC
- 点击下一步。
- 如需向存储区添加一个或多个标签,请点击添加标签以整理您的数据存储区,然后输入键值对标签。如需详细了解资源标签,请参阅使用资源标签。
- 点击创建。
新的数据存储区会显示在列表中。
gcloud
如需创建 DICOM 存储区,请运行 gcloud healthcare dicom-stores create
命令。
在使用下面的命令数据之前,请先进行以下替换:
LOCATION
:数据集位置DATASET_ID
: DICOM 存储区的父数据集DICOM_STORE_ID
:DICOM 存储区的标识符。DICOM 存储区 ID 必须具有以下内容:- 数据集内的唯一 ID
- 包含 1-256 个字符的 Unicode 字符串,由以下各项组成:
- 数字
- 字母
- 下划线
- 短划线
- 英文句点
执行以下命令:
Linux、macOS 或 Cloud Shell
gcloud healthcare dicom-stores create DICOM_STORE_ID \ --dataset=DATASET_ID \ --location=LOCATION
Windows (PowerShell)
gcloud healthcare dicom-stores create DICOM_STORE_ID ` --dataset=DATASET_ID ` --location=LOCATION
Windows (cmd.exe)
gcloud healthcare dicom-stores create DICOM_STORE_ID ^ --dataset=DATASET_ID ^ --location=LOCATION
您应该会收到类似如下所示的响应:
响应
Created dicomStore [DICOM_STORE_ID].
REST
如需创建 DICOM 存储区,请使用 projects.locations.datasets.dicomStores.create
方法。
在使用任何请求数据之前,请先进行以下替换:
PROJECT_ID
:您的 Google Cloud 项目的 IDLOCATION
:数据集位置DATASET_ID
: DICOM 存储区的父数据集DICOM_STORE_ID
:DICOM 存储区的标识符。DICOM 存储区 ID 必须具有以下内容:- 数据集内的唯一 ID
- 包含 1-256 个字符的 Unicode 字符串,由以下各项组成:
- 数字
- 字母
- 下划线
- 短划线
- 英文句点
如需发送请求,请选择以下方式之一:
curl
执行以下命令:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d "" \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores?dicomStoreId=DICOM_STORE_ID"
PowerShell
执行以下命令:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores?dicomStoreId=DICOM_STORE_ID" | Select-Object -Expand Content
API Explorer
打开方法参考页面。API Explorer 面板会在页面右侧打开。您可以与此工具进行交互以发送请求。填写所有必填字段,然后点击执行。
您应该收到类似以下内容的 JSON 响应:
Go
Java
Node.js
Python
编辑 DICOM 存储区
以下示例展示了如何对 DICOM 存储区进行以下更改:
指定 Pub/Sub 主题时,请输入该主题的限定 URI,如以下示例所示:projects/PROJECT_ID/topics/PUBSUB_TOPIC
控制台
如需修改 DICOM 存储区,请完成以下步骤:
gcloud
如需修改 DICOM 存储区,请运行 gcloud healthcare dicom-stores update
命令。gcloud CLI 不支持修改标签。
在使用下面的命令数据之前,请先进行以下替换:
LOCATION
:数据集位置DATASET_ID
: DICOM 存储区的父数据集DICOM_STORE_ID
:DICOM 存储区 IDPUBSUB_TOPIC
:数据存储区中发生事件时,系统会将消息发布到的 Pub/Sub 主题。
执行以下命令:
Linux、macOS 或 Cloud Shell
gcloud healthcare dicom-stores update DICOM_STORE_ID \ --dataset=DATASET_ID \ --location=LOCATION \ --pubsub-topic=projects/PROJECT_ID/topics/PUBSUB_TOPIC
Windows (PowerShell)
gcloud healthcare dicom-stores update DICOM_STORE_ID ` --dataset=DATASET_ID ` --location=LOCATION ` --pubsub-topic=projects/PROJECT_ID/topics/PUBSUB_TOPIC
Windows (cmd.exe)
gcloud healthcare dicom-stores update DICOM_STORE_ID ^ --dataset=DATASET_ID ^ --location=LOCATION ^ --pubsub-topic=projects/PROJECT_ID/topics/PUBSUB_TOPIC
您应该会收到类似如下所示的响应:
响应
Updated dicomStore [DICOM_STORE_ID]. ... name: projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID notificationConfig: pubsubTopic: projects/PROJECT_ID/topics/PUBSUB_TOPIC
REST
如需修改 DICOM 存储区,请使用 projects.locations.datasets.dicomStores.patch
方法。
在使用任何请求数据之前,请先进行以下替换:
PROJECT_ID
:您的 Google Cloud 项目的 IDLOCATION
:数据集位置DATASET_ID
: DICOM 存储区的父数据集DICOM_STORE_ID
:DICOM 存储区 IDPUBSUB_TOPIC
:数据存储区中发生事件时,系统会将消息发布到的 Pub/Sub 主题。KEY_1
:第一个标签键VALUE_1
:第一个标签值KEY_2
:第二个标签键VALUE_2
:第二个标签值
请求 JSON 正文:
{ "notificationConfig": { "pubsubTopic": "projects/PROJECT_ID/topics/PUBSUB_TOPIC" }, "labels": { "KEY_1": "VALUE_1", "KEY_2": "VALUE_2" } }
如需发送请求,请选择以下方式之一:
curl
将请求正文保存在名为 request.json
的文件中。在终端中运行以下命令,在当前目录中创建或覆盖此文件:
cat > request.json << 'EOF' { "notificationConfig": { "pubsubTopic": "projects/PROJECT_ID/topics/PUBSUB_TOPIC" }, "labels": { "KEY_1": "VALUE_1", "KEY_2": "VALUE_2" } } 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/dicomStores/DICOM_STORE_ID?updateMask=notificationConfig,labels"
PowerShell
将请求正文保存在名为 request.json
的文件中。在终端中运行以下命令,在当前目录中创建或覆盖此文件:
@' { "notificationConfig": { "pubsubTopic": "projects/PROJECT_ID/topics/PUBSUB_TOPIC" }, "labels": { "KEY_1": "VALUE_1", "KEY_2": "VALUE_2" } } '@ | 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/dicomStores/DICOM_STORE_ID?updateMask=notificationConfig,labels" | Select-Object -Expand Content
API Explorer
复制请求正文并打开方法参考页面。API Explorer 面板会在页面右侧打开。您可以与此工具进行交互以发送请求。将请求正文粘贴到此工具中,填写任何其他必填字段,然后点击执行。
您应该会收到类似如下所示的响应。
如果您在 DicomStore
资源中配置了任何字段,那么这些字段也会显示在响应中。
Go
Java
Node.js
Python
获取 DICOM 存储区详细信息
以下示例展示了如何获取 DICOM 存储区的详情。
控制台
如需查看 DICOM 存储区的详情,请执行以下操作:
- 在 Google Cloud 控制台中,转到数据集页面。
- 选择包含您要查看的 DICOM 存储区的数据集。
- 点击 DICOM 存储区的名称。
gcloud
如需获取有关 DICOM 存储区的详细信息,请运行 gcloud healthcare dicom-stores describe
命令。
在使用下面的命令数据之前,请先进行以下替换:
PROJECT_ID
:您的 Google Cloud 项目的 IDLOCATION
:数据集位置DATASET_ID
: DICOM 存储区的父数据集DICOM_STORE_ID
:DICOM 存储区 ID
执行以下命令:
Linux、macOS 或 Cloud Shell
gcloud healthcare dicom-stores describe DICOM_STORE_ID \ --project=PROJECT_ID \ --dataset=DATASET_ID \ --location=LOCATION
Windows (PowerShell)
gcloud healthcare dicom-stores describe DICOM_STORE_ID ` --project=PROJECT_ID ` --dataset=DATASET_ID ` --location=LOCATION
Windows (cmd.exe)
gcloud healthcare dicom-stores describe DICOM_STORE_ID ^ --project=PROJECT_ID ^ --dataset=DATASET_ID ^ --location=LOCATION
您应该会收到类似如下所示的响应。
如果您在 DicomStore
资源中配置了任何字段,那么这些字段也会显示在响应中。
响应
name: projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID
REST
如需获取有关 DICOM 存储区的详细信息,请使用 projects.locations.datasets.dicomStores.get
方法。
在使用任何请求数据之前,请先进行以下替换:
PROJECT_ID
:您的 Google Cloud 项目的 IDLOCATION
:数据集位置DATASET_ID
: DICOM 存储区的父数据集DICOM_STORE_ID
:DICOM 存储区 ID
如需发送请求,请选择以下方式之一:
curl
执行以下命令:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID"
PowerShell
执行以下命令:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID" | Select-Object -Expand Content
API Explorer
打开方法参考页面。API Explorer 面板会在页面右侧打开。您可以与此工具进行交互以发送请求。填写所有必填字段,然后点击执行。
您应该会收到类似如下所示的响应。
如果您在 DicomStore
资源中配置了任何字段,那么这些字段也会显示在响应中。
Go
Java
Node.js
Python
列出数据集中的 DICOM 存储区
以下示例展示了如何列出数据集中的 DICOM 存储区:
控制台
如需查看数据集中的数据存储区,请执行以下操作:
- 在 Google Cloud 控制台中,转到“数据集”页面。
- 选择包含要查看的数据存储区的数据集。
gcloud
如需列出数据集中的 DICOM 存储区,请运行 gcloud healthcare dicom-stores list
命令。
在使用下面的命令数据之前,请先进行以下替换:
PROJECT_ID
:您的 Google Cloud 项目的 IDLOCATION
:数据集位置DATASET_ID
: DICOM 存储区的父数据集
执行以下命令:
Linux、macOS 或 Cloud Shell
gcloud healthcare dicom-stores list \ --project=PROJECT_ID \ --dataset=DATASET_ID \ --location=LOCATION
Windows (PowerShell)
gcloud healthcare dicom-stores list ` --project=PROJECT_ID ` --dataset=DATASET_ID ` --location=LOCATION
Windows (cmd.exe)
gcloud healthcare dicom-stores list ^ --project=PROJECT_ID ^ --dataset=DATASET_ID ^ --location=LOCATION
您应该会收到类似如下所示的响应。
如果您在 DicomStore
资源中配置了任何字段,那么这些字段也会显示在响应中。
ID LOCATION TOPIC DICOM_STORE_ID LOCATION PUBSUB_TOPIC ...
REST
如需列出数据集中的 DICOM 存储区,请使用 projects.locations.datasets.dicomStores.list
方法。
在使用任何请求数据之前,请先进行以下替换:
PROJECT_ID
:您的 Google Cloud 项目的 IDLOCATION
:数据集位置DATASET_ID
: DICOM 存储区的父数据集
如需发送请求,请选择以下方式之一:
curl
执行以下命令:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores"
PowerShell
执行以下命令:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores" | Select-Object -Expand Content
API Explorer
打开方法参考页面。API Explorer 面板会在页面右侧打开。您可以与此工具进行交互以发送请求。填写所有必填字段,然后点击执行。
您应该会收到类似如下所示的响应。
如果您在 DicomStore
资源中配置了任何字段,那么这些字段也会显示在响应中。
Go
Java
Node.js
Python
删除 DICOM 存储区
以下示例展示了如何删除 DICOM 存储区:
控制台
如需删除数据存储区,请执行以下操作:
- 在 Google Cloud 控制台中,转到数据集页面。
- 选择包含您要删除的数据存储区的数据集。
- 从要删除的数据存储区的操作下拉列表中选择删除。
- 输入数据存储区名称,然后点击删除以确认删除。
gcloud
如需删除 DICOM 存储区,请运行 gcloud healthcare dicom-stores delete
命令。
在使用下面的命令数据之前,请先进行以下替换:
LOCATION
:数据集位置DATASET_ID
: DICOM 存储区的父数据集DICOM_STORE_ID
:DICOM 存储区 ID
执行以下命令:
Linux、macOS 或 Cloud Shell
gcloud healthcare dicom-stores delete DICOM_STORE_ID \ --dataset=DATASET_ID \ --location=LOCATION
Windows (PowerShell)
gcloud healthcare dicom-stores delete DICOM_STORE_ID ` --dataset=DATASET_ID ` --location=LOCATION
Windows (cmd.exe)
gcloud healthcare dicom-stores delete DICOM_STORE_ID ^ --dataset=DATASET_ID ^ --location=LOCATION
Deleted dicomStore [DICOM_STORE_ID].
REST
如需删除 DICOM 存储区,请使用 projects.locations.datasets.dicomStores.delete
方法。
在使用任何请求数据之前,请先进行以下替换:
PROJECT_ID
:您的 Google Cloud 项目的 IDLOCATION
:数据集位置DATASET_ID
: DICOM 存储区的父数据集DICOM_STORE_ID
:DICOM 存储区 ID
如需发送请求,请选择以下方式之一:
curl
执行以下命令:
curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID"
PowerShell
执行以下命令:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID" | Select-Object -Expand Content
API Explorer
打开方法参考页面。API Explorer 面板会在页面右侧打开。您可以与此工具进行交互以发送请求。填写所有必填字段,然后点击执行。
您应该收到类似以下内容的 JSON 响应: