2017-08-18 16 views
0

我想访问使用Azure ml Web服务以及ilearner和csv文件生成的Blob文件。问题在于该文件是以guid作为名称自动生成的,没有提及该文件的存在。我知道该文件正在生成,因为我可以通过天青门户访问它。我想自动访问该文件,我可以看到的唯一可能性是使用在同一个实例中创建的其他文件的时间戳。是否有任何api或方法可用于访问使用时间戳而不是文件名在特定实例创建的blob?在Azure中使用时间戳访问Blob文件

回答

2

根据你的描述,我猜你使用了导出数据模块。 根据您的要求,强烈建议您可以用代替导出数据在Azure机器学习中执行Python脚本,它允许您自定义blob文件名。

对于的介绍执行Python脚本,你可以参考官方文档here

请参照下面的步骤来实现:

步骤1:请使用Python 的virtualenv创建的Python独立的运行环境,具体步骤请参考https://virtualenv.pypa.io/en/stable/userguide/,然后用PIP安装命令来下载Azure存储相关的脚本。

enter image description here

压缩所有在库/站点包文件夹中的文件到压缩包的(我叫它蔚蓝 - 存储 - 包在这里)

步骤2:将zip包上传到Azure机器学习WorkSpace数据集中。

enter image description here

具体步骤请参考Technical Notes

成功后,您将在DataSet列表中看到上传的包,将其拖至执行Python脚本的第三个节点

enter image description here

步骤3:自定义的Python脚本时间戳的BLOB文件名,你甚至可以添加GUID确保唯一在文件名末尾。 我提供了一个简单的代码片段:

import pandas as pd 
from azure.storage.blob import BlockBlobService 
import time 


def azureml_main(dataframe1 = None, dataframe2 = None): 
    myaccount= '****' 
    mykey= '****' 

    block_blob_service = BlockBlobService(account_name=myaccount, account_key=mykey) 

    block_blob_service.create_blob_from_text('test', 'str(int(time.time()))+'.txt', 'upload image test') 

    return dataframe1, 

此外,您可以参考SO线程Access Azure blog storage from within an Azure ML experiment

希望它可以帮助你。