API Google Healthcare для GKE с PubSub - INVALID_ARGUMENT - PullRequest
1 голос
/ 11 апреля 2019

Мы тестировали API Google Healthcare специально с HL7, и, пройдя учебники, я столкнулся с препятствиями. Я должен отметить, что у меня достаточно опыта работы с Kubernetes и AWS, но не так много, как в Google Cloud.

Этот шаг - вот что доставляет мне неприятности:

https://cloud.google.com/healthcare/docs/how-tos/mllp-adapter#creating_a_compute_engine_vm_and_sending_messages

Когда я пытаюсь отправить сообщение с виртуальной машины, я не вижу ответа, и журналы в модуле показывают мне следующую ошибку:

I0411 17:27:33.756432       1 healthapiclient.go:163] Dialing connection to https://healthcare.googleapis.com:443/v1beta1
I0411 17:27:58.809932       1 mllpreceiver.go:107] Accepted connection from 10.128.0.5:58698
I0411 17:27:58.810140       1 healthapiclient.go:182] Sending message of size 319.
E0411 17:27:58.880369       1 mllpreceiver.go:118] handleMessage: Send: request failed: 400
{
  "error": {
    "code": 400,
    "message": "location ID invalid, expected us-central1",
    "status": "INVALID_ARGUMENT"
  }
}
I0411 17:27:58.880691       1 mllpreceiver.go:119] Closed connection from 10.128.0.5:58698

Эта ошибка вызывает недоумение, поскольку кластер GKE и виртуальная машина находятся в одном регионе / зоне. Кто-нибудь сталкивался с подобной проблемой с адаптером MLLP и GKE?

Ответы [ 2 ]

3 голосов
/ 12 апреля 2019

Кажется, что параметр идентификатора местоположения в пути к хранилищу HL7v2 (в yaml, hl7_v2_location_id) может отсутствовать или быть неправильным;ошибка выглядит так, как будто она возникла из запроса адаптера MLLP к API Cloud Healthcare, а не из чего-то особенного для GKE.

0 голосов
/ 12 апреля 2019

Проблема заключалась в том, как я указывал местоположение / зону:

Изначально мой шаблон был таким:

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: mllp-adapter-deployment
spec:
  replicas: 1
  template:
    metadata:
      labels:
        app: mllp-adapter
    spec:
      containers:
        - name: mllp-adapter
          imagePullPolicy: Always
          image: gcr.io/cloud-healthcare-containers/mllp-adapter
          ports:
            - containerPort: 2575
              protocol: TCP
              name: "port"
          command:
            - "/usr/mllp_adapter/mllp_adapter"
            - "--port=2575"
            - "--hl7_v2_project_id=XXXXXXXXXXXXX"
            - "--hl7_v2_location_id=us-central1-b"
            - "--hl7_v2_dataset_id=XXX-test-set"
            - "--hl7_v2_store_id=hlstore"
            - "--api_addr_prefix=https://healthcare.googleapis.com:443/v1beta1"
            - "--logtostderr"
            - "--receiver_ip=0.0.0.0"
            - "--pubsub_project_id=XXXXXXXX-api-dev"
            - "--pubsub_subscription=XX-incomingsub"

И location_id необходимо указать примерно так:

- "--hl7_v2_location_id=us-central1"

Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...