0

我能够ws使用语法在我的工作区中部署 Azure 机器学习预测服务

aciconfig = AciWebservice.deploy_configuration(cpu_cores=1, 
                                               memory_gb=8, 
                                               tags={"method" : "some method"}, 
                                               description='Predict something')

接着

service = Webservice.deploy_from_image(deployment_config = aciconfig,
                                       image = image,
                                       name = service_name,
                                       workspace = ws)

文档中所述。
但是,这会公开服务,这并不是最优的。

屏蔽 ACI 服务的最简单方法是什么?我知道传递auth_enabled=True参数可能会完成这项工作,但是我怎样才能指示客户(例如,使用curl或邮递员)之后使用该服务?

4

2 回答 2

2

有关示例(在 C# 中),请参见此处。启用身份验证后,您需要在 HTTP 请求的“授权”标头中发送 API 密钥:

client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", authKey);

请参阅此处如何检索密钥。

于 2019-04-25T08:49:30.523 回答
0

首先,使用(Python)语法检索主键和辅助键,例如

service.get_keys()

如果您使用curl,则语法可能如下所示:

curl -H "Content-Type:application/json" -H "Authorization: Bearer <authKey>" -X POST -d '{"data": [some data]}' http://<url>:<port>/<method>

其中<authKey>是上面检索到的键之一。

于 2019-04-27T03:47:38.567 回答