你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

配置批量导入设置

FHIR 服务支持$import操作,该操作允许从存储帐户将数据导入 FHIR 服务。 导入会拆分多个数据流中的输入文件以获得最佳性能,并且不能保证资源的处理顺序。 目前支持两种$import模式:

  • 初始模式旨在将 FHIR 资源加载到空的 FHIR 服务器中。 初始模式仅支持 CREATE 操作,启用后,会阻止 API 写入 FHIR 服务器。

  • 增量模式经过优化,可以定期将数据加载到 FHIR 服务器,并且不会阻止通过 API 写入。 它还允许从资源元 (加载 lastUpdated 和 versionId(如果资源 JSON) 中存在)。

本文档介绍在 FHIR 服务上配置导入设置时使用的三个步骤:

  1. 在 FHIR 服务上启用托管标识。
  2. 创建 Azure 存储帐户或使用现有存储帐户,然后向 FHIR 服务授予访问它的权限。
  3. 在 FHIR 服务中设置导入配置。

步骤 1:在 FHIR 服务上启用托管标识

第一步是在服务上启用系统范围的托管标识。 这将用于授予 FHIR 服务对存储帐户的访问权限。 有关 Azure 中的托管标识的详细信息,请参阅关于 Azure 资源的托管标识

按照步骤在 FHIR 服务上启用托管标识

  1. 在Azure 门户中浏览到 FHIR 服务。
  2. 选择“ 标识” 边栏选项卡。
  3. 选择“打开”的“状态”选项,然后选择保存”。
  4. 选择“ ”,为 FHIR 服务启用托管标识。

启用系统标识后,你将看到系统分配的 GUID 值。

启用托管标识

步骤 2:为 FHIR 服务分配访问存储帐户的权限

按照以下步骤分配访问存储帐户的权限

  1. 浏览到存储帐户中的访问控制 (IAM)
  2. 选择“添加角色分配”。 在此步骤中,如果“添加角色分配”选项灰显,则需要请求 Azure 管理员分配执行此步骤的权限。 若要详细了解如何在 Azure 门户中分配角色,请参阅 Azure 内置角色
  3. “存储 Blob 数据参与者” 角色添加到 FHIR 服务。
  4. 选择“保存”。

“添加角色分配”页的屏幕截图。

现在可以选择要导入的存储帐户了。

步骤 3:设置 FHIR 服务的导入配置

注意

如果尚未为 FHIR 服务分配存储访问权限,则导入操作 ($import) 将失败。

对于此步骤,需要获取请求 URL 和 JSON 正文。 按照以下说明操作

  1. 浏览到 FHIR 服务的Azure 门户。
  2. 选择“概述”。
  3. 选择“JSON 视图”。
  4. 选择 2022-06-01 或更高版本的 API 版本。

若要在 JSON 视图中指定 Azure 存储帐户,需要使用 REST API 更新 FHIR 服务。 获取 JSON 视图的屏幕截图

以下步骤逐步讲解如何设置初始导入模式和增量导入模式的配置。 为用例选择正确的导入模式。

步骤 3a:为初始导入模式设置导入配置。

对 JSON 执行以下更改:

  1. 在 importConfiguration 中将启用设置为 true
  2. 使用目标存储帐户名称更新 integrationDataStore。
  3. 将 importConfiguration 中的 initialImportMode 设置为 true
  4. Drop off provisioningState。

导入程序配置代码示例的屏幕截图

完成最后一个步骤后,可以使用 $import 执行 初始模式 导入。

步骤 3b:为增量导入模式设置导入配置。

对 JSON 执行以下更改:

  1. 在 importConfiguration 中将启用设置为 true
  2. 使用目标存储帐户名称更新 integrationDataStore。
  3. 将 importConfiguration 中的 initialImportMode 设置为 false
  4. Drop off provisioningState。

完成最后一步后,可以使用 $import 执行 增量模式 导入。

请注意,还可以使用“部署到 Azure”按钮打开更新$import配置的自定义资源管理器模板。

部署到 Azure 按钮。

保护 FHIR 服务$import操作

若要从 ADLS Gen2 帐户安全地将 FHIR 数据导入 FHIR 服务,有两个选项:

  • 选项 1:将 FHIR 服务作为 Microsoft 受信任服务启用。

  • 选项 2:允许与 FHIR 服务关联的特定 IP 地址访问存储帐户。 此选项允许两种不同的配置,具体取决于存储帐户是否与 FHIR 服务位于同一 Azure 区域中。

选项 1:将 FHIR 服务作为 Microsoft 受信任服务启用。

转到Azure 门户中的 ADLS Gen2 帐户,然后选择“网络”边栏选项卡。 在“防火墙和虚拟网络”选项卡下,选择“从所选虚拟网络和 IP 地址启用”。

Azure 存储网络设置的屏幕截图。

“资源类型”下拉列表中选择“Microsoft.HealthcareApis/workspaces”,然后从“实例名称”下拉列表中选择工作区。

“例外” 部分下,选择“ 受信任的服务”列表中的“允许 Azure 服务访问此存储帐户”框。 请确保单击“ 保存” 以保留设置。

显示允许受信任的 Microsoft 服务访问此存储帐户的屏幕截图。

接下来,运行以下 PowerShell 命令,在本地 Az.Storage 环境中安装 PowerShell 模块。 这样,就可以使用 PowerShell () 配置 Azure 存储帐户。

Install-Module Az.Storage -Repository PsGallery -AllowClobber -Force 

现在,使用下面的 PowerShell 命令将所选 FHIR 服务实例设置为存储帐户的受信任资源。 请确保在 PowerShell 环境中定义所有列出的参数。

请注意,需要在本地环境中以管理员身份运行 Add-AzStorageAccountNetworkRule 命令。 有关详细信息,请参阅配置 Azure 存储防火墙和虚拟网络

$subscription="xxx"
$tenantId = "xxx"
$resourceGroupName = "xxx"
$storageaccountName = "xxx"
$workspacename="xxx"
$fhirname="xxx"
$resourceId = "/subscriptions/$subscription/resourceGroups/$resourceGroupName/providers/Microsoft.HealthcareApis/workspaces/$workspacename/fhirservices/$fhirname"

Add-AzStorageAccountNetworkRule -ResourceGroupName $resourceGroupName -Name $storageaccountName -TenantId $tenantId -ResourceId $resourceId

执行上述命令后,在“资源实例”下的“防火墙”部分,你将在“实例名称”下拉列表中看到选择了 2 个。 这些是注册为 Microsoft 受信任资源的工作区实例和 FHIR 服务实例的名称。

Azure 存储网络设置的屏幕截图,其中包含资源类型和实例名称。

现在可以安全地从存储帐户导入 FHIR 数据。 存储帐户位于所选网络上,不可公开访问。 若要安全地访问文件,可以为存储帐户启用 专用终结点

选项 2:

允许来自其他 Azure 区域的特定 IP 地址访问 Azure 存储帐户

在Azure 门户,转到 ADLS Gen2 帐户并选择“网络”边栏选项卡。

选择“已从所选虚拟网络和 IP 地址启用”。 在“防火墙”部分的“地址范围”框中指定 IP 地址。 添加 IP 范围,以允许从 Internet 或本地网络进行访问。 可以在下表中找到预配 FHIR 服务的 Azure 区域的 IP 地址。

Azure 区域 公共 IP 地址
澳大利亚东部 20.53.44.80
加拿大中部 20.48.192.84
美国中部 52.182.208.31
美国东部 20.62.128.148
美国东部 2 20.49.102.228
美国东部 2 EUAP 20.39.26.254
德国北部 51.116.51.33
德国中西部 51.116.146.216
Japan East 20.191.160.26
韩国中部 20.41.69.51
美国中北部 20.49.114.188
北欧 52.146.131.52
南非北部 102.133.220.197
美国中南部 13.73.254.220
东南亚 23.98.108.42
瑞士北部 51.107.60.95
英国南部 51.104.30.170
英国西部 51.137.164.94
美国中西部 52.150.156.44
西欧 20.61.98.66
美国西部 2 40.64.135.77

允许特定 IP 地址访问同一区域中的 Azure 存储帐户

同一区域中的 IP 地址的配置过程与上述相同,不同之处在于, (改用无类 Inter-Domain 路由 (CIDR) 格式中的特定 IP 地址范围,即 100.64.0.0/10) 。 必须指定 IP 地址范围 (100.64.0.0 – 100.127.255.255) 的原因是每次发出操作请求时都会分配 FHIR 服务的 IP 地址。

注意

可以使用 10.0.2.0/24 范围内的专用 IP 地址,但不能保证在这种情况下操作会成功。 如果操作请求失败,可以重试,但在使用 100.64.0.0/10 范围内的 IP 地址之前,请求不会成功。 IP 地址范围的此网络行为是设计使然。 变通方法是在其他区域配置存储帐户。

后续步骤

本文介绍了 FHIR 服务如何支持$import操作,并允许将数据从存储帐户导入 FHIR 服务。 你还了解了在 FHIR 服务中配置导入设置时使用的三个步骤。 有关将数据转换为 FHIR、导出设置以设置存储帐户以及将数据移动到Azure Synapse的详细信息,请参阅

FHIR® 是 HL7 的注册商标,经 HL7 许可使用。