簡體   English   中英

Azure 隊列觸發錯誤使用.Net.Sdk.Functions 3.0.13:錯誤索引方法'Function1',存儲:未找到帳戶信息的有效組合

[英]Azure queue trigger error using .Net.Sdk.Functions 3.0.13: Error indexing method 'Function1',Storage: No valid combination of account info found

即使在閱讀了許多關於此錯誤的帖子后,我也無法運行新的服務總線隊列觸發器。 我還沒有向解決方案添加任何邏輯,只是試圖讓生成的 shell 正確運行。 它是在 Core 3.1 中構建的,使用 VS2019 中的 QueueTrigger 模板。 這個觸發器與另一個 Azure Function 在一個解決方案中,但那個不是隊列觸發器(它是 Kafka 主題觸發器)。 我將隊列觸發器設置為啟動項目。

盡管進行了許多更改嘗試來解決此問題,但我仍然遇到這些錯誤:

Microsoft.Azure.WebJobs.Host: 
Error indexing method 'Function1'. 
Microsoft.WindowsAzure.Storage: No valid combination of account information found.

我首先嘗試使用開發存儲 ("AzureWebJobsStorage": "UseDevelopmentStorage=true",) 然后創建了一個實際的存儲帳戶。 都沒有用。 當我嘗試運行觸發器時,我看到存儲模擬器啟動了。

我讀了這個問題,但不清楚我需要做什么,如果有的話,與 blob 存儲相關: Queue trigger needs blob storage

安裝包:

Microsoft.NET.Sdk.Functions (3.0.13)
Azure.Messaging.ServiceBus (7.2.1)
Microsoft.Azure.WebJobs.Exetensions.Storage (3.0.10)  
Microsoft.Azure.WebJobs.Extensions.ServiceBus (4.3.0)

這是觸發器的簽名:

public static class Function1
{
    [FunctionName("Function1")]
    public static void Run([QueueTrigger("queueNameHere", Connection = "AzureWebJobsServiceBus")]string myQueueItem, ILogger log) {

這是我的 local.settings.json 文件。 請注意,我刪除了“EndpointSuffix=core.windows.net/;” 后綴,因為很多帖子都說這是一個修復。 我的兩個鍵值都以“=”結尾沒問題,對嗎?

{
  "Values": {
    "AzureWebJobsStorage": "DefaultEndpointsProtocol=https;AccountName=XXX;AccountKey=XXX",
    "FUNCTIONS_WORKER_RUNTIME": "dotnet",
    "AzureWebJobsDashboard": "UseDevelopmentStorage=true",
    "AzureWebJobsServiceBus": "Endpoint=sb://MySvcBusNamespace.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=XXX"
  },
  "IsEncrypted": false
}

host.json 文件:

{
  "version": "2.0"
}

我在 host.json 中嘗試過此操作,但已將其刪除:

  "extensions": {
    "serviceBus": {
      "prefetchCount": 100,
      "messageHandlerOptions": {
        "autoComplete": true,
        "maxConcurrentCalls": 32,
        "maxAutoRenewDuration": "00:05:00"
      },
      "sessionHandlerOptions": {
        "autoComplete": false,
        "messageWaitTimeout": "00:00:30",
        "maxAutoRenewDuration": "00:55:00",
        "maxConcurrentSessions": 16
      },
      "batchOptions": {
        "maxMessageCount": 1000,
        "operationTimeout": "00:01:00",
        "autoComplete": true
      }
    }
  }

問題是您正在使用存儲隊列觸發器綁定public static void Run([QueueTrigger("queueNameHere"您需要改用 ServiceBusTrigger,請參見下面的示例https://learn.microsoft.com/en-us/azure/azure -函數/函數綁定服務總線觸發器?tabs=csharp#example

也可能與Microsoft.WindowsAzure.Storage 重復:未找到有效的帳戶信息組合 - 嘗試編輯連接字符串,但沒有成功

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM