簡體   English   中英

.NET類庫作為具有ServiceBusTopic觸發器的Azure功能應用程序不起作用

[英].NET class library as an Azure Function App with ServiceBusTopic trigger does not work

我按照以下URL中的步驟在Visual Studio 2017(非Azure門戶)中本地創建了Azure功能應用程序。

https://blogs.msdn.microsoft.com/appserviceteam/2017/03/16/publishing-a-net-class-library-as-a-function-app

我完全按照步驟創建了一個具有“ServiceBusTopicTrigger”的函數。 我將以下內容添加到我的function.json中

{
    “disabled”: false,
    “bindings”: [
        {
            “name”: “mySbMsg”,
            “type”: “serviceBusTrigger”,
            “direction”: “in”,
            “topicName”: “negotiatedaddcharge_test”,
            “subscriptionName”: “clientdispatches”,
            “connection”: “servicebusnac”,
            “accessRights”: “manage”
        }
    ]
}

我的appsenttings.json有以下內容

{
    “IsEncrypted”: true,
    “Values”: {
        “servicebusnac”: “Endpoint=MyCompanyEndPointPlaceHolder”
    }
}

當我在Visual Studio中運行該函數時,我不斷收到錯誤消息“Microsoft.Azure.WebJobs.ServiceBus:Microsoft Azure WebJobs SDK ServiceBus連接字符串'AzureWebJobsservicebusnac'缺失或為空。”

只是為了它,我添加了一個名為“AzureWebJobsservicebusnac”的值集合的另一個條目,但仍然顯示相同的消息。 有什么我做錯了嗎?

另外你如何對這個功能進行單元測試? 我無法訪問單元測試項目中csx文件中的任何函數。

謝謝。

編輯:我添加了信息,以明確我在Visual Studio而不是Azure門戶中創建函數。

Function App將在Environment變量中搜索Service Bus連接字符串。 您可以從Azure門戶設置:

  1. 轉到功能應用程序。
  2. 選擇編輯器上方的Platform features選項卡。
  3. 單擊Application settings
  4. App settings部分下添加一個包含連接名稱和字符串的條

appsettings.json文件僅用於支持本地開發,其中定義的設置發布到Azure。

解決方案很簡單; 我實際上遇到了這個,它讓我徹底難倒了一會兒。

在您的appsettings.json ,將"IsEncrypted"true更改為false 這應該可以解決您所看到的問題。

對於此方案,錯誤消息不太理想; Azure Functions團隊已經為它提供了一個錯誤修正。

希望這有助於遇到此問題的任何人。 (我發誓,這是我解決這個問題的前一周,並非沒有幫助。)

暫無
暫無

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

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