Skip to content

I use run.upload_file to upload a file to file share datastore but failed #1546

Open
@likebupt

Description

@likebupt

I use Designer Execute Python Script module to upload a image file to file share datastore, but failed. From the error message, it is not the module error, but this function does not support uploading files to file share datastore.

Following is the error message:
AmlExceptionMessage:User program failed with FailedToEvaluateScriptError: The following error occurred during script evaluation, please view the output log for more information:
---------- Start of error message from Python interpreter ----------
Got exception when invoking script at line 33 in function azureml_main: 'ServiceException: (UserError) Currently only AzureBlob artifacts are supported'.
---------- End of error message from Python interpreter ----------

ModuleExceptionMessage:FailedToEvaluateScript: The following error occurred during script evaluation, please view the output log for more information:
---------- Start of error message from Python interpreter ----------
Got exception when invoking script at line 33 in function azureml_main: 'ServiceException: (UserError) Currently only AzureBlob artifacts are supported'.
---------- End of error message from Python interpreter ----------
image

Following is my script for Execute Python Script module:

# The script MUST contain a function named azureml_main
# which is the entry point for this module.

# imports up here can be used to
import pandas as pd

# The entry point function MUST have two input arguments.
# If the input port is not connected, the corresponding
# dataframe argument will be None.
#   Param<dataframe1>: a pandas.DataFrame
#   Param<dataframe2>: a pandas.DataFrame
def azureml_main(dataframe1 = None, dataframe2 = None):

    # Execution logic goes here
    print(f'Input pandas.DataFrame #1: {dataframe1}')

    from matplotlib import pyplot as plt

    plt.plot([1, 2, 3, 4])

    plt.ylabel('some numbers')

    img_file = "line.png"

    plt.savefig(img_file)

 

    from azureml.core import Run

    run = Run.get_context(allow_offline=True)

    run.upload_file(f"graphics/{img_file}", img_file, datastore_name="workspacefilestore")
    
    # If a zip file is connected to the third input port,
    # it is unzipped under "./Script Bundle". This directory is added
    # to sys.path. Therefore, if your zip file contains a Python file
    # mymodule.py you can import it using:
    # import mymodule

    # Return value must be of a sequence of pandas.DataFrame
    # E.g.
    #   -  Single return value: return dataframe1,
    #   -  Two return values: return dataframe1, dataframe2
    return dataframe1,

Document Details

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    ADOIssue is documented on MSFT ADO for internal trackingMLOpsbugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions