12

私はこれを何時間も検索しましたが、質問に答えるものが1つも見つかりません。新しい Azure Machine Learning サービスを作成して公開し、エンドポイントを作成しました。Postman REST CLIent を使用してサービスを呼び出すことはできますが、JavaScript Web ページ経由でアクセスすると、サービスに対して CORS が有効になっていることを示すコンソール ログが返されます。今のところ、Azure Machine Learning サービスの CORS を無効にする方法がわかりません。どんな助けでも大歓迎です、ありがとう!

4

3 に答える 3

4

現在、API 側での CORS の無効化はサポートされていませんが、上記のオプションを使用するか、API 管理サービスを使用して CORS を無効にすることができます。以下のリンクはこれに役立ちます

リンクは次のとおりです。ステップバイステップガイド、ヘッダーの設定に関するこのビデオ、およびポリシーに関するこのドキュメント。

API Management サービスは、API 構成ページで CORS を有効にすることで CORS を許可します

于 2016-02-02T04:31:32.627 に答える
1

ブラウザを起動する必要があります--disable-web-security( Chrome つまり )。--disable-web-security を使用してブラウザを再起動した後にサービスを呼び出すことができる jQuery を次に示します。

$(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

于 2015-01-28T10:12:41.917 に答える
1

Azure ML Book からの抜粋 (役に立つかもしれません):

この CORS 制限は、さまざまな (Web) クライアントのデプロイ、テスト、および運用のために Azure Machine Learning Web サービスを十分に活用したい場合、独自のサーバー側アプリケーションをホストする必要があることを意味します。基本的に 2 つの選択肢があります。

  1. ASP.NET Web ページなどの Web アプリケーションをホストし、Azure Machine Learning Web サービス サーバー側を呼び出して、現在の Azure Machine Learning CORS 制限に準拠します。
  2. CORS サポートを提供する独自の Web サービスをホストし、REST や JSON などの最新のプロトコルとデータ形式を介して、さまざまな Web クライアントやモバイル クライアントに代わって Azure Machine Learning Web サービスを呼び出すことができます。
于 2018-08-31T08:18:09.727 に答える