Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Python将HTML文件上载到Azure Web应用程序?_Python_Azure_Azure Web App Service - Fatal编程技术网

如何使用Python将HTML文件上载到Azure Web应用程序?

如何使用Python将HTML文件上载到Azure Web应用程序?,python,azure,azure-web-app-service,Python,Azure,Azure Web App Service,我有一个Python应用程序,它创建了一个HTML文件,然后我想上传到Azure Web应用程序 最好的方法是什么 我最初尝试使用FTP,然后改用GIT进行推送。所有这些都不是真的感觉正确。我应该怎么做 更新 我有99%的工作。我使用一个存储帐户来托管一个静态站点(感觉这是正确的方式) 我是这样上传的: blob_service_client = BlobServiceClient.from_connection_string(az_string) # Creat

我有一个Python应用程序,它创建了一个HTML文件,然后我想上传到Azure Web应用程序

最好的方法是什么

我最初尝试使用FTP,然后改用GIT进行推送。所有这些都不是真的感觉正确。我应该怎么做

更新

我有99%的工作。我使用一个存储帐户来托管一个静态站点(感觉这是正确的方式)

我是这样上传的:

        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)
干杯


米克

做到这一点的最好方法取决于你

通常,有两种方法可以将HTML文件上载到Azure Web App for Windows,如下所示

  • 跟随Kudu wiki页面通过FTP上传文件
  • 在Kudu wiki页面的
    VFS
    Zip
    Zip部署
    部分之后,调用相关的
    PUT
    REST API,通过HTTP客户端上传文件
  • 然而,根据我对您的场景的理解,上述两种方式并不简单。因此,我建议使用Azure Blob Storage Gen 2的功能托管Python应用程序生成的静态HTML文件,并通过Azure Storage SDK for Python上载文件。我认为这对你来说足够简单,即使你可以通过DNS CNAME将自定义域绑定到Azure Blob Storage静态网站的默认主机名

    步骤如下

  • 请参阅官方文档以创建Azure Blob Storage Gen 2的帐户并启用该功能
    静态网站

  • 请参阅其他官方文档,以编写在当前Python应用程序中上载的代码。名为
    $web
    的容器默认用于托管静态网站,您只需将文件上载到它,然后访问它的主要端点,如下面的官方文档中的图所示


  • 嗨,米克。您的Azure Web应用是否适用于Windows?它是否托管一个静态网站,其中包含从Python应用程序生成的HTML文件?如果它是一个静态网站,您是否介意切换到Azure Blob Storage Gen 2以使用其功能托管它?
    静态网站
    ?两者都可以。他们有什么问题?什么感觉不对劲?@PeterPan这是一个静态网站。是的,Python为站点生成HTML。它基本上是从几个站点获取天气数据,然后将其组合成一个小的静态站点。不介意它是如何托管的。我只是想用最好的方法来做这件事。好的,我会试试看。谢谢