2017-10-10 74 views
-1

我不能使天藍色的通用webhook功能與 authlevel鍵(功能/主機/匿名等) 我創建了一個通用的webhook功能。我明白它是默認使用功能密鑰身份驗證級別保護 - 這是正確的嗎?在這種情況下如何將authlevel更改爲主機或匿名? 接下來,我從請求 - 響應邏輯應用程序流中調用它。所以我得到一個請求,調用函數,然後用函數的結果迴應。從邏輯應用程序的代碼視圖中,我看不到任何以代碼和客戶端爲參數的函數調用。所以我的問題是爲什麼函數調用沒有失敗。這是否發生在匿名模式?或者,有沒有什麼方法邏輯應用程序正在調用具有適當的參數(代碼和clientid),甚至在代碼視圖中不顯示的功能?也許我錯過了一些非常基本的東西 - 感謝在這方面的任何幫助。天青功能webhook鍵

回答

0

在這種情況下如何將authlevel更改爲主機或匿名?

當創建一個通用的網絡掛接功能,您可以爲您的觸發模式和模式指出如下:

觸發的模式。 「標準」意味着請求將是標準的HTTP,不需要額外的語義。 「Webhook」意味着請求將根據指定的webhook類型進行處理。

function.json文件中的authLevel屬性不適用於WebHook觸發器。要觸發WebHook功能,HTTP請求必須包含一個API密鑰(例如https://<yourapp>.azurewebsites.net/api/<function>?code=<Host key or Function key>)。您可以選擇您的通用webhook功能,選擇您的HTTP觸發器,然後單擊鏈接以獲取關於HTTP和webhook綁定的更多詳細教程。

接下來,我從請求 - 響應邏輯應用程序流調用它。所以我得到一個請求,調用函數,然後用函數的結果迴應。

根據您的情況,我做了樣品流程如下:

enter image description here

你只需要選擇您的通用網絡掛接函數和邏輯的應用程序將處理授權給你。此外,API密鑰存儲在D:\home\data\Functions\secrets文件夾下,您可以使用kudu並在host.json<function-name>.json文件中找到它們。另外,下面是使用PowerShell訪問KUDU REST API以檢索Azure功能密鑰的tutorial。此外,您可以添加您的評論here

+0

真的很感謝您的詳細解答 - 非常有幫助的細節。我確實在我的問題的某些方面得到了一些確認,但還有其他一些領域需要更加清晰。由於評論中的字符限制,我需要將我的回覆分成多部分。也許這不是正確的方式,請包括大的意見,請原諒,讓我知道是否有更好的方式來發表大意見。 –

+0

以我原來的問題。 1)authlevel - >我已經看到函數集成選項卡中的文檔,它清楚地提到「authLevel:不適用於WebHook觸發器」。然而,[link](https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-http-webhook)上的文檔似乎有點含糊。它提到鬆弛和github不支持authlevel,但沒有提及genericJson相同。因此混亂。但是,根據你的回答,將模式更改爲標準意味着它不再是webhook類型。這意味着我們無法將webhook設置爲匿名訪問 - 對嗎? –

+0

2)第二個問題是爲什麼我無法看到從邏輯應用程序調用函數應用程序時傳遞的鍵。感謝您嘗試流程 - 實際上流程也適用於我。不幸的是,從您的回覆中我找不到明確的答案。也許正如你提到的這是由邏輯應用程序照顧,這是所有內部的邏輯應用程序 - 它是通過內部,但沒有辦法在通話中可視化相同?你能否澄清這一部分。 –