【问题标题】:Access blob file using time stamp in Azure在 Azure 中使用时间戳访问 blob 文件
【发布时间】:2017-08-18 05:59:07
【问题描述】:

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

【问题讨论】:

    标签: azure blob azure-blob-storage


    【解决方案1】:

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

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

    请参考以下步骤实现:

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

    Lib/site-packages文件夹中的所有文件压缩成一个zip包(我这里叫azure-storage-package)

    第 2 步:将 zip 包上传到 Azure 机器学习工作区数据集。

    具体步骤请参考Technical Notes

    成功后会在DataSet List中看到上传的包,拖拽到Execute Python Script的第三个节点

    第 3 步:自定义 python 脚本中的 blob 文件名到时间戳,你甚至可以在文件名末尾添加 GUID 以确保唯一性。 我提供了一个简单的sn-p代码:

    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

    希望对你有帮助。

    【讨论】:

      猜你喜欢
      • 2021-11-19
      • 2015-03-18
      • 1970-01-01
      • 2014-08-22
      • 1970-01-01
      • 2018-11-20
      • 2018-03-20
      • 1970-01-01
      • 2021-12-10
      相关资源
      最近更新 更多