繁体   English   中英

Azure机器学习 - CORS

[英]Azure Machine Learning - CORS

我已经为此搜索了几个小时,找不到回答问题的单一内容。 我创建并发布了一个新的Azure机器学习服务,并创建了一个端点。 我可以使用Postman REST CLient调用该服务,但是通过JavaScript网页访问它会返回一个控制台日志,说明为该服务启用了CORS。 现在,就我而言,我无法弄清楚如何为Azure机器学习服务禁用CORS。 任何帮助将不胜感激,谢谢!

目前,我们不支持在API端禁用CORS,但您可以使用上述选项,也可以使用API​​管理服务来禁用CORS。 以下链接可以帮助您

以下是链接: 分步指南,此视频关于设置标题,以及策略文档

API管理服务通过在API配置页面中启用CORS来允许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)

请参阅: https//stackoverflow.com/a/6083677/896697

只是摘自Azure ML Book(可能会发现它很有用):

此CORS限制实际上意味着,如果您希望完全利用Azure机器学习Web服务进行各种(Web)客户端的部署,测试和生产,则需要托管自己的服务器端应用程序。 你基本上有两个选择。

  1. 托管Web应用程序(如ASP.NET网页),并调用Azure机器学习Web服务服务器端以符合当前Azure机器学习CORS限制。
  2. 托管您自己的Web服务,该服务提供CORS支持,并可以通过现代协议和数据格式(如REST和JSON)代表各种Web和移动客户端调用Azure机器学习Web服务。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM