【问题标题】:Using blobTrigger with Azurite crashes function host将 blobTrigger 与 Azurite 一起使用会导致函数主机崩溃
【发布时间】:2020-09-23 18:43:12
【问题描述】:

我遇到了 Azure blob 触发函数导致函数主机崩溃的问题。这似乎是存储连接字符串或我如何使用 Azurite 的问题。我正在处理的其他计时器或 HTTP 触发函数在“UseDevelopmentStorage=true”设置和 Azurite blob 服务运行时正常工作。

对于使用 Azurite 存储模拟器在我的开发环境中工作的 Blob 触发器函数可能存在什么问题,我感到很困惑。

任何关于我缺少什么或在哪里看的建议?

这是我在功能主机启动后大约 10 到 20 秒收到的错误消息:

发生了未处理的异常。主机正在关闭。 Microsoft.WindowsAzure.Storage:无法建立连接,因为目标机器主动拒绝。 System.Net.Http:无法建立连接,因为目标机器主动拒绝。 System.Private.CoreLib:无法建立连接,因为目标机器主动拒绝。

blob 触发器函数的 function.json 文件如下所示:

{
  "scriptFile": "__init__.py",
  "bindings": [
    {
      "name": "myblob",
      "type": "blobTrigger",
      "direction": "in",
      "path": "outcontainer/{name}",
      "connection": "AzureWebJobsStorage"
    }
  ]
}

local.settings.json 文件有这个:

{
  "IsEncrypted": false,
  "Values": {
    "AzureWebJobsStorage": "UseDevelopmentStorage=true",
    "FUNCTIONS_WORKER_RUNTIME": "python"
  }
}

这是启用了 --verbose 开关的控制台的输出:

[9/23/2020 6:28:36 PM] Job host started
Functions:

        BlobTrigger1: blobTrigger

Hosting environment: Production
Content root path: C:\sources\AzureBlobTriggerTest
Now listening on: http://0.0.0.0:7071
Application started. Press Ctrl+C to shut down.
[9/23/2020 6:28:37 PM] LanguageWorkerConsoleLog INFO: Starting Azure Functions Python Worker.
[9/23/2020 6:28:37 PM] LanguageWorkerConsoleLog INFO: Worker ID: d4160c17-a9f0-461d-af04-18623c45a51b, Request ID: fdf8841e-8564-4f4e-a983-91553451cd9d, Host Address: 127.0.0.1:51168
[9/23/2020 6:28:37 PM] LanguageWorkerConsoleLog INFO: Successfully opened gRPC channel to 127.0.0.1:51168
[9/23/2020 6:28:37 PM] LanguageWorkerConsoleLog INFO: Detaching console logging.
[9/23/2020 6:28:37 PM] Switched to gRPC logging.
[9/23/2020 6:28:37 PM] Received WorkerInitRequest, request ID fdf8841e-8564-4f4e-a983-91553451cd9d
[9/23/2020 6:28:37 PM] Worker process started and initialized.
[9/23/2020 6:28:37 PM] Received FunctionLoadRequest, request ID: fdf8841e-8564-4f4e-a983-91553451cd9d, function ID: dc522140-aa0a-453b-8767-4aedf88435e4
[9/23/2020 6:28:37 PM] Successfully processed FunctionLoadRequest, request ID: fdf8841e-8564-4f4e-a983-91553451cd9d, function ID: dc522140-aa0a-453b-8767-4aedf88435e4
[9/23/2020 6:28:41 PM] Host lock lease acquired by instance ID '0000000000000000000000002B956994'.
[9/23/2020 6:29:09 PM] An unhandled exception has occurred. Host is shutting down.
[9/23/2020 6:29:09 PM] Microsoft.WindowsAzure.Storage: No connection could be made because the target machine actively refused it. System.Net.Http: No connection could be made because the target machine actively refused it. System.Private.CoreLib: No connection could be made because the target machine actively refused it.
[9/23/2020 6:29:09 PM] Stopping host...
[9/23/2020 6:29:09 PM] Stopping JobHost
[9/23/2020 6:29:09 PM] Stopping the listener 'Microsoft.Azure.WebJobs.Host.Listeners.CompositeListener' for function 'BlobTrigger1'
[9/23/2020 6:29:09 PM] Stopped the listener 'Microsoft.Azure.WebJobs.Host.Listeners.CompositeListener' for function 'BlobTrigger1'
[9/23/2020 6:29:09 PM] Job host stopped
[9/23/2020 6:29:09 PM] Host shutdown completed.

【问题讨论】:

    标签: azure visual-studio-code azure-functions azure-function-app azurite


    【解决方案1】:

    看起来我发现我做错了什么。 The documentation says,“Azure Blob 存储触发器需要通用存储帐户。”

    我只是启动了 Azurite blob 服务。启动整个事情让它发挥作用。

    【讨论】:

      【解决方案2】:

      要在本地运行 Node blobTrigger,您需要:

      1. 确保您运行的是节点 8 或 10。我运行的是 10.14.1

      2. 更改 local.settings.json:

      “AzureWebJobsStorage”:“UseDevelopmentStorage=true”

      1. 使用所有服务运行 azurite。不仅是 BlobStorage。

      【讨论】:

        猜你喜欢
        • 2012-02-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-12-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多