0

为了使用最小底层协议 (MLLP) 通过 TCP/IP 连接传输 HL7v2 消息,我正在遵循本指南。当我到达创建配置有 Pub/Sub 主题(此处)的 HL7v2 商店的部分时,我收到错误消息。

这是我在终端中输入的内容:

curl -X POST \
    --data "{
      'notificationConfigs': [
        {
          'pubsubTopic': 'projects/PROJECT_ID/topics/PUBSUB_TOPIC',
          'filter': ''
        }
      ]
    }" \
    -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores?hl7V2StoreId=HL7V2_STORE_ID"

这是我得到的错误:

{
  "error": {
    "code": 403,
    "message": "Permission healthcare.hl7V2Stores.create denied on resource projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID (or it may be malformed or not exist)",
    "status": "PERMISSION_DENIED"
  }
}

数据集projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID存在,我仔细检查了它。那么,这是否与我的权限(IAM 政策)有关?我不明白,因为我是Administer HL7v2 Stores

如何在不出现此错误的情况下创建我的数据存储?

4

1 回答 1

0

我发现该命令gcloud auth application-default print-access-token没有返回正确的令牌,而是gcloud auth print-access-token

因此,使用正确的身份验证令牌,该命令有效,并且我得到了正确的响应:

{
  "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID",
  "notificationConfigs": [
    {
      "pubsubTopic": "projects/PROJECT_ID/topics/PUBSUB_TOPIC"
    }
  ]
}
于 2022-01-11T09:54:32.733 回答