无法使用包含azure.storage.fileshare的Python脚本部署Azure Function应用程序

9jyewag0  于 2023-10-22  发布在  Python
关注(0)|答案(1)|浏览(150)

我是Python和Azure Function App的新手。我能够使用Visual Studio Code和Azure Function App部署默认的http_trigger函数,没有任何问题。然而,当我试图从azure.storage.fileshare中添加一个简单的函数时,它并没有创建函数http_trigger文件。
Azure Function应用程序已创建http_trigger函数

svdrlsy4

svdrlsy41#

我在VS Code中创建了一个带有Python运行时环境的http触发器函数。

  • azure.storage.fileshare包已安装。

功能编码:

import azure.functions as func
import logging
from azure.storage.fileshare import ShareClient
app = func.FunctionApp(http_auth_level=func.AuthLevel.FUNCTION)

@app.route(route="http_trigger")
def http_trigger(req: func.HttpRequest) -> func.HttpResponse:
    logging.info('Python HTTP trigger function processed a request.')
    storage_account_name = 'storepavan3'
    file_share_name = 'fileshare23'
    file_path = 'pavan.txt'
    connection_string ="your-connection-string"
    share_client = ShareClient.from_connection_string(connection_string, share_name=file_share_name)
    file_client = share_client.get_file_client(file_path)
    file_contents = file_client.download_file().readall()
    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, {file_contents}. 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
        )

需求.txt:

azure-functions
azure-storage-file-share

通过使用上述代码,我能够检索有关文件共享中存在的文件的数据。上面的代码在我的本地环境中成功执行。查看以下内容:

以上代码已成功部署到Azure门户中。部署状态:

HTTP函数在Azure门户中成功运行。
查看以下内容:

输出:

相关问题