Доступ к файлу BLOB-объекта с использованием метки времени в Azure

Я хочу получить доступ к BLOB-файлу, который генерируется из веб-службы Azure ML, а также к файлам ilearner и csv. Проблема заключается в том, что файл генерируется автоматически с именем guid в качестве имени и без ответа о существовании этого файла. Я знаю, что файл генерируется, так как я могу получить к нему доступ через портал Azure. я хотел бы автоматически получить доступ к файлу, и единственная возможность, которую я вижу, - это использование метки времени другого файла, созданного в том же экземпляре. Есть ли API или метод для доступа к BLOB-объектам, созданным в конкретном экземпляре, используя метку времени вместо имени файла?

1 ответ

По вашему описанию, я думаю, вы использовали модуль экспорта данных. В соответствии с вашими требованиями настоятельно рекомендуется заменить "Экспорт данных" на " Выполнение сценария Python" в машинном обучении Azure, что позволяет настраивать имя файла BLOB-объекта.

Для ознакомления с Execute Python Script вы можете обратиться к официальной документации здесь.

Пожалуйста, обратитесь к следующим шагам для реализации:

Шаг 1. Используйте Python virtualenv для создания Python-независимой рабочей среды, конкретные шаги см. По https://virtualenv.pypa.io/en/stable/userguide/, затем используйте команду pip install для загрузки сценариев, связанных с хранилищем Azure.

Сожмите все файлы в папке Lib/site-packages в zip-пакет (я называю это azure - storage - package здесь)

Шаг 2. Загрузите zip-пакет в набор данных WorkSpace машинного обучения Azure.

конкретные шаги, пожалуйста, обратитесь к техническим примечаниям.

После успеха вы увидите загруженный пакет в списке DataSet и перетащите его в третий узел скрипта Execute Python.

Шаг 3: Настройте имя файла BLOB-объекта в скрипте Python на отметку времени, вы даже можете добавить 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 из эксперимента Azure ML.

Надеюсь, это поможет вам.

Другие вопросы по тегам