簡體   English   中英

Azure 函數包和擴展、函數版本 - javascript 混淆 2.x、5.0.x+?

[英]Azure Functions bundle and extension, functions versions - javascript confusion 2.x, 5.0.x+?

我正在使用由服務總線主題觸發的 nodejs 制作一個 azure 雲函數。

讀到這里,我感到非常困惑,他們有一個適用於所有內容的版本,並且在他們的文檔中沒有任何意義。

https://learn.microsoft.com/en-us/azure/azure-functions/functions-versions?tabs=in-process%2Cazure-cli%2Cv4&pivots=programming-language-javascript

host.json 文件有 2 個版本,模式版本和包范圍版本。 然后文章說的是5.x+版本,但是默認范圍是3.3.0到4.0,不包括4。我很困惑我用的是什么版本,有哪些綁定選項可供我使用,沒有一篇文章解釋任何內容簡潔明了的方式。

{
    "version": "2.0",
    "extensionBundle": {
        "id": "Microsoft.Azure.Functions.ExtensionBundle",
        "version": "[3.3.0, 4.0.0)"
    }
}

這是否包括他們在這里談論的 5.x+? 我需要制作這個 5.0.0 嗎?

如果我使用上面的主機,這個host.json配置會失效嗎? 上面的鏈接沒有將 messageHandlerOptions 顯示為選項之一(對於 5.0.x),但提到如果不使用會話也可以。 它只適用於 2.0.x 嗎?

{
  "version": "2.0",
  "extensionBundle": {
    "id": "Microsoft.Azure.Functions.ExtensionBundle",
    "version": "[3.3.0, 4.0.0)"
  },
  "extensions": {
    "serviceBus": {
      "prefetchCount": 1,
      "messageHandlerOptions": {
        "autoComplete": true,
        "maxConcurrentCalls": 1,
        "maxAutoRenewDuration": "00:09:30"
      }
    }
  },
  "functionTimeout": "00:09:55"
}

Function和分機有什么區別? 在此處輸入圖像描述

相信我的回答(下)解決了你的困惑:

在此處輸入圖像描述

然后文章說的是5.x+版本,但是默認范圍是3.3.0到4.0但是不包括4。我很困惑我用的是什么版本,有哪些綁定選項可供我使用

我認為,他們已經給出了關於在 C# 編程語言中使用哪個host.json版本的清晰/信息,並且在同一文檔中錯過了其他語言的信息。

如果您通過在一定程度上最小化文檔來仔細查看,那么這將提供擴展版本的清晰度:

在此處輸入圖像描述

解釋

如果您使用此擴展Microsoft.Azure.WebJobs.Extensions.ServiceBus的 5.x 或更高版本,則可以在host.json文件中使用Extension 5.x+中可用的新配置設置。

如果您使用版本 <5.x 的此擴展Microsoft.Azure.WebJobs.Extensions.ServiceBus ,則可以使用host.json文件中Function 2.x+中可用的可配置設置。


Function和分機有什么區別?

AFAIK,他們將版本名稱重命名為 Function 1.x、2.x、Extension 5.x,它們是穩定版本。


如果我使用上面的主機,這個host.json配置會失效嗎? 上面的鏈接沒有將 messageHandlerOptions 顯示為選項之一(對於 5.0.x),但提到如果不使用會話也可以。 它只適用於 2.0.x 嗎?

根據我的理解 - 在文檔中,它們有每個版本可用的新配置設置,但messageHandlerOptionsFunction 2.xExtension 5.x版本的host.json文件中的 Azure 功能服務總線觸發器綁定中可用。

在此處輸入圖像描述

更新答案:

您在評論中提供的MSFT 文檔提供了有關 Azure 函數運行時版本(如 1.x、2.x、3.x 和 4.x)的詳細信息。

這些是運行特定語言運行時程序所需的 Azure 功能核心工具版本。

例如

JavaScript 版本(NodeJS 10、12 和 14)適用於Azure Functions Version 3.x ,而 NodeJS 版本 16 適用於Azure Functions Version 4.x

本文檔還描述了 Azure Functions Runtime/Core Tools 版本從舊版本到新版本的遷移步驟和重大更改。

我是否將 host.json 中的范圍更改為 5

host.json的每個版本,即Functions 1.xFunctions 2.xExtension 5.x都是相同的,它們在每個新版本中增加/發現了新的可配置設置。

我還是不明白function版和擴展版的區別。 我運行的是什么版本

請參閱同一答案中的解釋段。

簡而言之,如果您使用的擴展Microsoft.Azure.WebJobs.Extensions.ServiceBus版本等於 5.x 或更高版本,那么您可以使用Extensions 5.x+塊中可用的設置。 如果該 ServiceBus 擴展版本低於5.x ,則對host.json文件使用Functions 2.x中可用的配置設置。

暫無
暫無

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

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