2016-06-14 5 views
0

WebサービスがPythonから最初に公開されたときに、PythonでMicrosoft Azure Webサービスを使用する際に問題が発生しています。 Azureだけを使用してWebサービスを作成した後、バッチ実行APIヘルプページのサンプルPythonコードを使用して、PythonからそのWebサービスを正常に消費しました。しかし、私はPythonで機械学習モデルを構築して訓練し、AzureにWebサービスを公開したいと思っていました。 AzureにWebサービスを公開した後、私は新しいデータセットを予測するためにPythonから再度呼び出すことができることを期待していました。PythonでPythonでAzure Webサービスを使用する

私はPythonでモデルを訓練し、AzureでこれをWebサービスとして正常に公開することができました。私もAzureの中に、このWebサービスを利用しようとすると、私はこのエラーを取得しています:401

{u'error ':{u'message':u'Request

要求はステータスコードで失敗しました'、' u'code ':u'ScanRequestUnauthorized'}]}あなたのアカウントには、あなたのアカウントにアクセスする権限がありません。 }

誰もがこれを経験しているのか、Pythonで作成されたWebサービスを呼び出すのがAzureで作成されたWebサービスを呼び出すのと異なるのかどうかはわかりません。私は、同じストレージアカウントを使用しているため、ウェブAPIとURLの間に異なるバッチ実行コード内の唯一のものがあると仮定していました。キーが無効な場所がわからない。

私はあなたがこのようなデータを予測するために戻って同じセッションでサービスを呼び出すことができます見ました:

# set up web service 
@services.publish(workspace_id,authorization_token) 
@services.types(feature1=float, feature2=float) 
@services.returns(float) 
def demo(feature1,feature2): 

    feature_vector = [feature1,feature2] 

    return clf2.predict(feature_vector) 

# call published service and input new data 
demo.service(feature1,feature2) 

しかし、私はモデルを再教育したいと新しいWebサービスを作成しないでくださいたびに私は、コードを実行して、モデルを再テストしたり、新しいモデルを訓練することなく新しいデータを予測したりするオプションが欲しかったですが、Webサービスを呼び出すことなくPythonの公開Webサービスをどのように使用するのかよくわかりません同じセッション。

ありがとうございます!

答えて

0

私の理解に基づいて、Pythonで公開されているAzure ML Webサービスをhttpリクエスト経由で使用したいと思っています。

エラー情報によると、要求がステータスコード401で失敗した場合、要求にはヘッダーAuthorization: Bearer <your-webservice-api key>が欠落しています。

APIキーは、Azure ML Webサービスのダッシュボードページにあります。

参考として、articleを参照してください。

関連する問題