使用Azure中的时间戳访问blob文件

问题描述 投票:1回答:1

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

azure blob azure-storage-blobs
1个回答
2
投票

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

有关Execute Python Script的介绍,您可以参考官方文档here

请参考以下步骤实施:

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

enter image description here

将Lib / site-packages文件夹中的所有文件压缩成zip包(我在这里称之为azure - storage - package)

步骤2:将zip包上载到Azure Machine Learning WorkSpace DataSet中。

enter image description here

具体步骤请参考Technical Notes

成功之后,您将在DataSet列表中看到上传的包,将其拖到Execute Python Script的第三个节点。

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

希望它能帮到你。

© www.soinside.com 2019 - 2024. All rights reserved.