Azure / Azure/MachineLearningNotebooks

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

オープン
#1,546 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る
ADO bug MLOps
主要言語
Jupyter Notebook
スター
4.4k
フォーク
2.6k
PR マージ指標
30日以内にマージされた PR はありません

説明

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](https://user-images.githubusercontent.com/39058063/125037192-67875180-e0c6-11eb-8ae8-231e8fb5ad20.png)

```
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: a pandas.DataFrame
# Param: 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.*

* ID: 9a70336d-fb4a-4c18-26d0-68784b5b3d72
* Version Independent ID: e28876d8-08a0-8546-4bd1-6e434c8c7826
* Content: [azureml.core.Run class - Azure Machine Learning Python](https://docs.microsoft.com/en-us/python/api/azureml-core/azureml.core.run(class)?view=azure-ml-py)
* Content Source: [AzureML-Docset/stable/docs-ref-autogen/azureml-core/azureml.core.Run(class).yml](https://github.com/MicrosoftDocs/MachineLearning-Python-pr/blob/live/AzureML-Docset/stable/docs-ref-autogen/azureml-core/azureml.core.Run(class).yml)
* Service: **machine-learning**
* Sub-service: **core**
* GitHub Login: @DebFro
* Microsoft Alias: **debfro**

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

調査の方向性

ドキュメント化されている azureml.core.Run.upload_file エントリポイントから始め、workspacefilestore データストアを使用して Execute Python Script の例を再現します。現在の AzureBlob-only の失敗を確認し、その後、関連する Azure Machine Learning SDK の動作を確認します。ファイル共有データストアへのアップロードが成功し、既存の例またはテストでそのパスがカバーされれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
azure, machine-learning, python
領域
cloud, machine-learning
issue の種類
機能追加
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
35/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。