1

I have created an experiment and successfully published a web service which requires inputs.

When I schedule this web service as a HTTPS POST JOB it shows this error

Http Action - Response from host 'ussouthcentral.services.azureml.net': 'BadRequest' Response Headers: x-ms-request-id: 51fb1d34-5bc7-4832-ad9f-b19826468ea0 Date: Mon, 11 May 2015 11:02:01 GMT Server: Microsoft-HTTPAPI/2.0 Body: {"error":{"code":"BadArgument","message":"Invalid argument provided.","details":[{"code":"MissingInputBlobInformation","target":"Inputs","message":"Missing Azure storage blob information. Provide a valid connection string and relative path or URI and try again."}]}}

My data is not located in Azure Blob Storage. I am am trying to pass this web input as part as a HTTPS POST BODY.

Dan Ciborowski - MSFT
  • 6,807
  • 10
  • 53
  • 88
Pratik409
  • 301
  • 2
  • 10

2 Answers2

1

I was wondering if you were trying to call Batch execution service. You may want to go over this tutorial - http://azure.microsoft.com/en-us/documentation/articles/machine-learning-consume-web-services/#batch-execution-service-bes

I think for Batch execution, you would need to either upload your data into Azure Blob for batch scoring or publish experiment as a web service without input port.

neerajkh
  • 1,233
  • 8
  • 9
  • Yes i am trying to call Batch execution service. But my experiment has the following flow (as i am new i cant upload the image) Reader(reads data from SQL Azure)-->convert to csv-->R Execute module( where web input is also given)-->output dataframe is converted to csv--> writer module writes back to the SQL Database. – Pratik409 May 12 '15 at 05:24
  • If you go through the tutorial what part are you failing at? – Dan Ciborowski - MSFT May 12 '15 at 15:14
  • Web service is working fine(request/response). When i schedule the web service in azure scheduler i select HTTPS Post method job and in that i pass the input parameters. when the job is invoked it fails showing the error described in the question – Pratik409 May 13 '15 at 06:14
1

If you are using BES with web service input and output, you would need to provide the Storage information for the data. With the Reader and Writer modules, you can remove the web service input and output ports. Then when the web service is called, it executes without using the Storage blob. It will read from the Reader and write to the destination specified in the Writer. I have uploaded a Visual Studio template to CodePlex that you can install. The NoInputOutput.aspx of that project does the above. And it should show you the workflow.