簡體   English   中英

Azure Functions 傳出 HTTP 調用不起作用

[英]Azure Functions outgoing HTTP call not working

我有一個 Azure Servicebus 函數觸發器,它應該在將事件放入其指定隊列時調用外部端點。 但是,當該函數接收到事件並准備發出傳出請求時,它會失敗並顯示以下日志消息

執行“AzureServicebusTrigger”(失敗,Id=cb218eb5-300b-40c0-8a4e-81f977b9cd5c)嘗試以訪問權限禁止的方式訪問套接字`

我的功能:

public static class AzureServicebusTrigger
{

    private static HttpClient _httpClient = new HttpClient();

    [FunctionName("AzureServicebusTrigger")]
    public static async Task Run([ServiceBusTrigger("receiver", Connection = "ServiceBusConnectionString")]
        string myQueueItem, ILogger log)
    {
        var request = await _httpClient.GetAsync("http://<ip>:7000");
        var result = await request.Content.ReadAsStringAsync();
    }
}

這是什么permission

以及如何啟用來自我的函數的傳出請求成為可能?

我有一個有根據的猜測。 我以前在 Web Apps 中看到過這種情況。 如果您已用盡定價層中所選 SKU 的可用出站連接數,則可能會發生這種情況。

我猜你在使用 Azure Function 消費計划。 如果是這樣,您將被限制為 600 個活動連接( 請參閱此處)。 因此,如果您間歇性地看到此問題,請嘗試轉到高級層或標准或更高級別的應用服務計划。

我認為羅布·里根是對的。 為了幫助您接受他的回答是正確的,我建議如下。

您能否檢查在發生故障時您有多少函數執行和服務器(函數主機實例)。 您可以通過添加 Application Insights並編寫這樣的查詢來做到這一點。

performanceCounters
| where cloud_RoleName =~ 'YourFunctionName'
| where timestamp > ago(30d)
| distinct cloud_RoleInstance

或者通過再現負載和觀看實時監視器

暫無
暫無

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

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