【问题标题】:Read data from Azure blob storage in Azure Function in python在 python 中的 Azure Function 中从 Azure Blob 存储读取数据
【发布时间】:2021-02-22 19:30:07
【问题描述】:

当我启动我的函数应用程序时,如何从我的 Azure 存储帐户中读取数据。我需要在运行时为我的机器学习模型读取保存的权重。 我想直接从存储帐户中读取模型,因为模型预计每天都会更新,并且不想手动重新部署模型。

谢谢

【问题讨论】:

    标签: azure-devops azure-functions azure-data-lake azure-blob-storage azure-function-app


    【解决方案1】:

    对于这个需求,你可以先进入你的存储blob,点击“Generate SAS”生成“Blob SAS URL”(也可以定义开始日期和网址的到期日期)。

    然后转到您的 python 函数,通过在 VS 代码中运行 pip install azure-storage-blob 命令来安装 azure-storage-blob 模块。之后,编写如下函数代码:

    启动函数并触发它,我们可以看到logging.info打印出来的test1.txt的内容。

    下面是我的全部功能代码供大家参考:

    import logging
    
    import azure.functions as func
    
    from azure.storage.blob import BlobClient
    
    
    def main(req: func.HttpRequest) -> func.HttpResponse:
        logging.info('Python HTTP trigger function processed a request.')
    
        blob_client = BlobClient.from_blob_url("copy your Blob SAS URL here")
        download_stream = blob_client.download_blob()
        logging.info('=========below is content of test1')
        logging.info(download_stream.readall())
        logging.info('=========above is content of test1')
    
        name = req.params.get('name')
        if not name:
            try:
                req_body = req.get_json()
            except ValueError:
                pass
            else:
                name = req_body.get('name')
    
        if name:
            return func.HttpResponse(f"Hello, {name}. This HTTP triggered function executed successfully.")
        else:
            return func.HttpResponse(
                 "This HTTP triggered function executed successfully. Pass a name in the query string or in the request body for a personalized response.",
                 status_code=200
            )
    
    

    【讨论】:

    • 谢谢。它工作。快速提问。一旦文件在存储帐户中更新,Function 应用将始终重新启动,对吗?
    • @Jaychuks 对不起,我不明白你的意思。一旦文件在存储中更新,我认为函数应用程序不会重新启动。
    • 感谢您的回复。有没有办法我可以配置函数应用程序以重新启动自己或让某些东西在外部重新启动它。
    • @Jaychuks command 满足您的要求吗?
    • @hanshih 对不起,我不太了解你关心的问题。
    猜你喜欢
    • 2015-09-02
    • 2019-07-29
    • 2020-10-21
    • 1970-01-01
    • 2019-08-06
    • 2012-06-16
    • 2021-10-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多