Как читать файлы общих файловых ресурсов Azure из Azure DevOps Pipeline

В настоящее время я создал учетную запись хранения Azure. Внутри этого хранилища я создал два общих файлового ресурса. Я загрузил файлы в каждый файловый ресурс и хотел бы получить доступ к этим файлам из конвейера Azure DevOps.

Я исследовал в Интернете, как это сделать, и не нашел ресурса, подробно описывающего, как это сделать. Кто-нибудь делал это раньше? Если да, каковы шаги для чтения файлов общего доступа из конвейера azure devOps?

Спасибо.

Люди спрашивали


person green-mars    schedule 16.07.2020    source источник
comment
Stack Overflow - это не сервис для написания кода. Вы должны предпринять разумные попытки решить проблему самостоятельно, прежде чем задавать вопрос о помощи.   -  person Daniel Mann    schedule 16.07.2020
comment
Нет необходимости в пассивно-агрессивных заявлениях, так как это не решает проблему, а только создает напряжение и заставляет вас плохо выглядеть в обществе.   -  person green-mars    schedule 16.07.2020
comment
Вопрос в порядке, потому что в этом случае вы не можете писать код, когда не можете понять, как решить проблему. Кстати: сегодня у меня в голове возник точно такой же вопрос. Спасибо за этот вопрос и ответы (-:   -  person Beauty    schedule 27.07.2020


Ответы (2)


хотел бы получить доступ к этим файлам из конвейера Azure DevOps

Вы можете попробовать использовать команду AzCopy для копирования / загрузки этих двух общих файловых ресурсов из большого двоичного объекта Azure в Azure DevOps Pipeline:

azcopy login
azcopy copy /Source:https://myaccount.file.core.windows.net/myfileshare/myfolder/ /Dest:$(Build.SourcesDirectory)\myfolder

Вы можете найти больше информации в этом документе:

Краткое руководство: загрузка, загрузка и перечисление больших двоичных объектов с помощью PowerShell

person Leo Liu-MSFT    schedule 17.07.2020
comment
Спасибо, Лео. Проверим этот ресурс. - person green-mars; 17.07.2020

Я нашел решение, используя клиентскую библиотеку хранилища общих файлов Microsoft Azure для Python . Я выполнил следующие шаги в моем конвейере Azure, чтобы подключиться к моему файловому ресурсу. Ниже приведен пример подключения к общему файловому ресурсу и обмена всем его содержимым:

    - task: UsePythonVersion@0
      displayName: 'Set Python 3.8.3'
      inputs:
        versionSpec: 3.8.3
        addToPath: true
      name: pyTools

    - script: $(pyTools.pythonLocation)/bin/pip3 install azure-storage-file-share
      displayName: Install azure-storage-file-share module
        
    - task: PythonScript@0
      displayName: Show files and directories inside of File Share
      inputs:
        scriptSource: 'inline'
        script: |
          import platform
          from azure.storage.fileshare import ShareDirectoryClient

          connection_string = "DefaultEndpointsProtocol=https;AccountName=<storage-name>;AccountKey=<access-key>==;EndpointSuffix=core.windows.net"
          parent_dir = ShareDirectoryClient.from_connection_string(conn_str=connection_string, share_name=<file-share-name>, directory_path="")

          my_list = list(parent_dir.list_directories_and_files())
          print(my_list)
          print(platform.python_version()
person green-mars    schedule 17.07.2020
comment
Большой! Спасибо, что поделились своим решением здесь, вы можете принять его как ответ , так что это может помочь другим членам сообщества, у которых возникают такие же проблемы, и мы могли бы заархивировать эту ветку, спасибо. - person Leo Liu-MSFT; 20.07.2020