2017-09-15 52 views
0

我有一個Azure函數VS項目中有多個函數。Azure函數調試和部署分開

  1. 我可以自己調試1個函數,而無需在同一個項目中啓動其他函數嗎?當我在Visual Studio上調試項目時,所有功能都已啓動並運行。

  2. 我可以只更新1功能,而不是在1種功能的應用項目,所有的功能呢?從Visual Studio發佈時,整個功能應用程序被推送。

  3. 更重要的是如何維護的部署後天青門戶啓用/禁用功能狀態。現在發生的情況是,每次部署之後,所有功能都會啓用,並且必須手動關閉這些功能。

回答

3
  1. 是的,你可以。您可以利用host.json文件中的設置來指定希望在調試過程中加載的函數。

// Array of functions to load. Only functions in this list will be enabled. // If not specified, all functions are enabled. functions": [ "QueueProcessor", "GitHubWebHook" ]

凡QueueProcessor和GitHubWebHook是你的函數的 '姓名' 本身

[FunctionName("QueueProcessor")] 

對於其他host.json設置看到here

  • 你「可以」選擇你的函數拆分爲三個獨立的項目,發佈配置指向同˚F如果你真的想確保只有特定的代碼被髮布,纔可以申請'申請'。就我個人而言,我通常只是在每次進行更改時都將整個項目推向多個功能。

  • 我發現,我是從第1步中指定的設置,如果發表,將傳播到門戶網站的功能

  • +0

    謝謝你1.它適用於本地。 3似乎並不適合我。即使我從host.json刪除功能,他們仍然在部署 – Elveryx

    +0

    啓用看起來,如果你使用[關閉]屬性由@加斯 - 梅森提到的,這會當你的項目編譯寫出來的functions.json文件。 –

    1

    也有在Microsoft.Azure.WebJobs一個DisabledAttribute可以用來標記功能禁用。

    屬性構造函數重載提供鏈接到您的應用程序功能的應用程序設置,您就可以有條件地禁用該功能。

    注:有這個屬性早些時候issues人,但他們已經現在已經得到解決。

    +0

    謝謝。添加Disable()來觸發Run函數的參數可以做到這一點! – Elveryx