Azure 机器学习 - CORS
Azure Machine Learning - CORS
我为此搜索了几个小时,但找不到任何可以回答问题的东西。我创建并发布了一个新的 Azure 机器学习服务,并创建了一个端点。我可以使用 Postman REST CLIent 调用该服务,但通过 JavaScript 网页访问它 returns 控制台日志显示已为该服务启用 CORS。现在,对于我来说,我无法弄清楚如何为 Azure 机器学习服务禁用 CORS。任何帮助将不胜感激,谢谢!
您必须使用 --disable-web-security
(即 Chrome)启动您的浏览器。这是一些 jQuery 允许我在使用 --disable-web-security:
重新启动浏览器后调用该服务
$(document).ready(function () {
var ajaxData = "-- the request body ";
var serviceUrl = "https://ussouthcentral.services.azureml.net/workspaces/00e36959fc3e4673a32eae9f9b184346/--whatever";
$.ajax({
type: "POST",
url: serviceUrl,
data: ajaxData,
headers: {
"Authorization": "Bearer --API KEY HERE--",
"Content-Type": "application/json;charset=utf-8"
}
}).done(function (data) {
console.log(data);
});
});
返回数据。注意:请务必在 Chrome 中看到该警告。我一开始没有,因为一些 Chrome 进程仍在后台 运行。杀死那些之后,用那个标志重新启动,看到消息,它起作用了。 ( Chrome v40.something )
参见:
目前,我们不支持在 API 端禁用 CORS,但您可以使用上述选项或使用 API 管理服务来禁用 CORS。下面的链接应该可以帮助您
以下是链接:step by step guide, also this video on setting headers, and this doc 关于政策。
API 管理服务允许 CORS,方法是在 API 配置页面中启用它
只是 Azure ML Book 的摘录(可能会有用):
This CORS restriction really means that if you wish to fully exploit
Azure Machine Learning web services for deployment, testing, and
production for a wide variety of (web) clients, you will need to host
your own server-side applications. You basically have two choices.
- 托管 Web 应用程序,例如 ASP.NET 网页,并调用 Azure 机器学习 Web 服务服务器端以符合当前的 Azure 机器学习 CORS 限制。
- 托管自己的提供 CORS 支持的 Web 服务,然后可以通过 REST 和 [=20= 等现代协议和数据格式代表各种 Web 和移动客户端调用 Azure 机器学习 Web 服务].
我为此搜索了几个小时,但找不到任何可以回答问题的东西。我创建并发布了一个新的 Azure 机器学习服务,并创建了一个端点。我可以使用 Postman REST CLIent 调用该服务,但通过 JavaScript 网页访问它 returns 控制台日志显示已为该服务启用 CORS。现在,对于我来说,我无法弄清楚如何为 Azure 机器学习服务禁用 CORS。任何帮助将不胜感激,谢谢!
您必须使用 --disable-web-security
(即 Chrome)启动您的浏览器。这是一些 jQuery 允许我在使用 --disable-web-security:
$(document).ready(function () {
var ajaxData = "-- the request body ";
var serviceUrl = "https://ussouthcentral.services.azureml.net/workspaces/00e36959fc3e4673a32eae9f9b184346/--whatever";
$.ajax({
type: "POST",
url: serviceUrl,
data: ajaxData,
headers: {
"Authorization": "Bearer --API KEY HERE--",
"Content-Type": "application/json;charset=utf-8"
}
}).done(function (data) {
console.log(data);
});
});
返回数据。注意:请务必在 Chrome 中看到该警告。我一开始没有,因为一些 Chrome 进程仍在后台 运行。杀死那些之后,用那个标志重新启动,看到消息,它起作用了。 ( Chrome v40.something )
参见:
目前,我们不支持在 API 端禁用 CORS,但您可以使用上述选项或使用 API 管理服务来禁用 CORS。下面的链接应该可以帮助您
以下是链接:step by step guide, also this video on setting headers, and this doc 关于政策。
API 管理服务允许 CORS,方法是在 API 配置页面中启用它
只是 Azure ML Book 的摘录(可能会有用):
This CORS restriction really means that if you wish to fully exploit Azure Machine Learning web services for deployment, testing, and production for a wide variety of (web) clients, you will need to host your own server-side applications. You basically have two choices.
- 托管 Web 应用程序,例如 ASP.NET 网页,并调用 Azure 机器学习 Web 服务服务器端以符合当前的 Azure 机器学习 CORS 限制。
- 托管自己的提供 CORS 支持的 Web 服务,然后可以通过 REST 和 [=20= 等现代协议和数据格式代表各种 Web 和移动客户端调用 Azure 机器学习 Web 服务].