簡體   English   中英

存儲帳戶連接字符串不存在 - 為 Azure 函數部署隊列存儲觸發器

[英]Storage account connection string does not exist - deploying Queue storage trigger for Azure Functions

我想創建一個 azure 存儲隊列觸發 azure function。 我瀏覽了以下教程https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-storage-queue-trigger

我基本上想在將消息推入隊列時觸發 function 並在 function 完成后將結果推回另一個隊列。

function.json

{
  "bindings": [
    {
      "name": "input",
      "type": "queueTrigger",
      "direction": "in",
      "queueName": "queue-trigger",
      "connection": ""
    },
    {
      "type": "queue",
      "direction": "out",
      "name": "output",
      "queueName": "queue-receiver",
      "connection": ""
    }
  ]
}

當我部署 function 時,在監視器中出現的日志中出現以下錯誤。 在此處輸入圖像描述

2022-09-10T12:16:53.412 [Error] The 'QueueTrigger' function is in error: 

Microsoft.Azure.WebJobs.Host: Error indexing method 'Functions.QueueTrigger'. 

Microsoft.Azure.WebJobs.Extensions.Storage.Queues: Storage account connection string 'AzureWebJobs<storage account name>_STORAGE' does not exist. Make sure that it is a defined App Setting.

在此處輸入圖像描述

您可以看到我已經定義了三個應用程序設置。

  • AzureWebJobs<storage account>_STORAGE
  • AzureWebJobsStorage
  • <storage account>_STORAGE

根據文檔,如果 function.json 中的connection為空,則將使用AzureWebJobsStorage

即使我嘗試設置connection:"<storage account>_STORAGE" ,也引發了同樣的錯誤。

我已經在我的環境中進行了復制,以下解決方法對我有用:

我已經創建了一個存儲帳戶並復制了如下連接,我也在那里創建了一個隊列,如下所示在此處輸入圖像描述

然后我將其粘貼到 vs studio 的 local.settings 文件中,如下所示:

在此處輸入圖像描述

現在我也發布了它 azure。 單擊配置中的應用程序設置,如果存在連接字符串名稱,則打開該名稱並粘貼連接字符串。 如果不是然后在已發布的 function 應用程序中,我在應用程序設置中創建了一個連接字符串,並復制了我從存儲帳戶中獲取的相同連接字符串在此處輸入圖像描述

在此處輸入圖像描述 然后點擊確定然后保存。 然后在隊列中發送消息,如下所示:在此處輸入圖像描述 這種解決方法對我有用。

暫無
暫無

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

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