簡體   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