[英]Google Healthcare API on GKE with PubSub - INVALID_ARGUMENT
We have been testing out the Google Healthcare API specifically with HL7 and as I've run through the tutorials I've hit a roadblock.我们一直在专门使用 HL7 测试 Google Healthcare API,但在我浏览教程时遇到了障碍。 I should mention that I have a fair bit of experience with Kubernetes and AWS, but not so much Google Cloud.
我应该提一下,我在 Kubernetes 和 AWS 方面有相当多的经验,但对 Google Cloud 了解不多。
This step here is what is giving me trouble:这一步给我带来了麻烦:
https://cloud.google.com/healthcare/docs/how-tos/mllp-adapter#creating_a_compute_engine_vm_and_sending_messages https://cloud.google.com/healthcare/docs/how-tos/mllp-adapter#creating_a_compute_engine_vm_and_sending_messages
When I attempt to send the message from the VM I do not see a response, and the logs in the pod show me the following error:当我尝试从 VM 发送消息时,我没有看到响应,并且 pod 中的日志显示以下错误:
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
This error is perplexing because the GKE cluster and the VM are in the same region/zone.这个错误很费解,因为 GKE 集群和虚拟机在同一个区域/可用区。 Has anyone experienced a similar issue with the MLLP adapter and GKE?
有没有人遇到过 MLLP 适配器和 GKE 的类似问题?
It seems like the location id parameter in the path for the HL7v2 store (in yaml, hl7_v2_location_id
) might be missing or incorrect;似乎 HL7v2 存储路径中的位置 ID 参数(在 yaml 中为
hl7_v2_location_id
)可能丢失或不正确; the error looks like it's being raised from the MLLP adapter's request to Cloud Healthcare API, rather than anything particular to GKE.该错误看起来像是从 MLLP 适配器对 Cloud Healthcare API 的请求中引发的,而不是 GKE 特有的任何错误。
The issue was the way I was specifying the location/zone:问题是我指定位置/区域的方式:
Initially my template was like this:最初我的模板是这样的:
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"
And the location_id
needed to be specified like so: location_id
需要像这样指定:
- "--hl7_v2_location_id=us-central1"
Thank you.谢谢你。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.