MicrosoftDocs / azure-docs

Open source documentation of Microsoft Azure
https://docs.microsoft.com/azure
Creative Commons Attribution 4.0 International
10.31k stars 21.49k forks source link

NotSupported Error on Job Submission #111159

Open aadadey opened 1 year ago

aadadey commented 1 year ago

Hi, when running the tutorial notebook specified by this page, I receive an error. This occurs on the step where the job is being submitted. See the message below.

Error Code: ScriptExecution.StreamAccess.Validation
Validation Error Code: NotSupported
Validation Target: Input
Native error: error in streaming from input data sources
    StreamError(InvalidInput(NotSupported { message: "Mounting http resource requires 'Content-Length' header to be returned by the web server.", source: None }))
=> invalid input
    InvalidInput(NotSupported { message: "Mounting http resource requires 'Content-Length' header to be returned by the web server.", source: None })
=> Provided input is not supported: Mounting http resource requires 'Content-Length' header to be returned by the web server.
    NotSupported { message: "Mounting http resource requires 'Content-Length' header to be returned by the web server.", source: None }
Error Message: Provided input is not supported. Mounting http resource requires 'Content-Length' header to be returned by the web server.. | session_id=b79a082f-0a0e-4124-a38b-846674661776

This is from cloning the entire get-started-notebooks folder and running the pipeline.ipynb notebook. Nothing was modified except to entire my specific MLClient reference parameters. Any idea what could be causing this error? Thanks.


Document Details

Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

Naveenommi-MSFT commented 1 year ago

@aadadey Thanks for your feedback! We will investigate and update as appropriate.

Naveenommi-MSFT commented 1 year ago

Hi @aadadey The error message you received indicates that the input data source is not supported. According to the documentation, this error can occur when mounting an HTTP resource that does not return a 'Content-Length' header.

It is possible that the input data source you are using does not return this header. You may want to check the input data source and ensure that it is returning the 'Content-Length' header.

If you are still experiencing issues, you may want to try debugging your pipeline. There are several techniques for debugging pipelines, including debugging individual pipeline steps on your local computer, using logging and Application Insights to isolate and diagnose the source of the problem, and attaching a remote debugger to a pipeline running in Azure.

Please go through this below link for your reference. https://learn.microsoft.com/en-ie/azure/machine-learning/how-to-debug-pipelines?view=azureml-api-1&viewFallbackFrom=azureml-api-2

aadadey commented 1 year ago

@Naveenommi-MSFT Thank you, I ended up just downloading the file and uploading it from my local file system. However, there might then be an issue with the tutorial itself. As I mentioned, I followed the tutorial step-for-step, so if the input data source does not contain the correct headings, then the tutorial notebook as-is will fail. Just a heads up, thanks.

Naveenommi-MSFT commented 1 year ago

@msdpalam Could you please review add comments on this, update as appropriate.

Naveenommi-MSFT commented 1 year ago

@aadadey Thank you for bringing this to our attention. I've delegated this to content author @msdpalam, who will review it and offer their insightful opinions.

mvcaro commented 1 year ago

Hi @aadadey - could you share a code snippet of what you changed?

Using the code below from the tutorial fails for me too.


from azure.ai.ml import Input

registered_model_name = "credit_defaults_model"

job = command(
    inputs=dict(
        data=Input(
            type="uri_file",
            path="https://archive.ics.uci.edu/ml/machine-learning-databases/00350/default%20of%20credit%20card%20clients.xls",
        ),
        test_train_ratio=0.2,
        learning_rate=0.25,
        registered_model_name=registered_model_name,
    ),
    code="./src/",  # location of source code
    command="python main.py --data ${{inputs.data}} --test_train_ratio ${{inputs.test_train_ratio}} --learning_rate ${{inputs.learning_rate}} --registered_model_name ${{inputs.registered_model_name}}",
    environment="aml-scikit-learn@latest",
    experiment_name="train_model_credit_default_prediction",
    display_name="credit_default_prediction",
)```
laryxm commented 1 year ago

Hello, I'm having the same issue here. @Naveenommi-MSFT, how can I ensure that the input data source is returning 'Content-Length' header?

I'm just executing the tutorial, so I suppose it should work...

image