Как загрузить файл HTML в веб-приложение Azure, используя Python? - PullRequest
0 голосов
/ 15 января 2020

У меня есть приложение Python, которое создает файл HTML, который я затем хочу загрузить в веб-приложение Azure.

Каков наилучший способ сделать это?

Первоначально я попытался сделать это с помощью FTP, а затем переключился на нажатие GIT. Ни один из них не чувствовал себя хорошо. Как мне это сделать?

ОБНОВЛЕНИЕ

У меня это работает на 99%. Я использую учетную запись хранения для размещения сайта stati c (что кажется правильным способом сделать это).

Вот как я загружаю:

        blob_service_client = BlobServiceClient.from_connection_string(az_string)
        # Create a blob client using the local file name as the name for the blob
        blob_client = blob_service_client.get_blob_client(container=container_name, blob=local_file_name)

        print("\nUploading to Azure Storage as blob:\n\t" + local_file_name)

        # Upload the created file
        with open('populated.html', "rb") as data:
            blob_client.upload_blob(data)

Единственная проблема, которая у меня сейчас, заключается в том, что файл загружается, а не открывается в браузере. Я думаю, что мне нужно где-то установить тип содержимого.

Обновление 2 Работая сейчас, я добавил:

my_content_settings = ContentSettings(content_type='text/html')

test = blob_client.upload_blob(data, overwrite=True, content_settings=my_content_settings)

Приветствия,

Мик

1 Ответ

1 голос
/ 15 января 2020

Лучший способ сделать это на ваше усмотрение.

Как правило, есть два способа загрузить файл HTML в Azure Web App для Windows, как показано ниже.

  1. По вики-странице Kudu Доступ к файлам по ftp для загрузки файла по FTP.
  2. По разделам VFS, Zip и Zip Deployment из Kudu вики-страница REST API для вызова связанного PUT REST API для загрузки файла через HTTP-клиент.

Однако, исходя из моего понимания вашего сценария, два способа выше не просты. Поэтому я рекомендовал использовать функцию Static website из Azure Blob Storage Gen 2 для размещения вашего файла stati c HTML, созданного вашим приложением Python, и для загрузки файлов через Azure SDK для хранения Python. Я думаю, что это достаточно просто для вас, даже вы можете привязать пользовательский домен к имени хоста по умолчанию stati c веб-сайта Azure Хранилище BLOB-объектов через DNS CNAME.

Шаги приведены ниже.

  1. См. Официальный документ Host a static website in Azure Storage, чтобы создать учетную запись Azure Blob Storage Gen 2 и включить функцию Static website.

  2. Обратитесь к другому официальному документу Quickstart: Azure Blob storage client library v12 for Python, чтобы написать код для загрузки в текущее приложение Python. Контейнер по умолчанию $web предназначен для размещения веб-сайта stati c, вам просто нужно загрузить на него файлы, а затем получить доступ к его основной конечной точке, как показано на рисунке из официального документа ниже.

    enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...