簡體   English   中英

為什么發布 Azure Function 后出現內部服務器錯誤?

[英]Why I get Internal Server Error after publishing Azure Function?

我在使用 Azure Z139C4883EB4FFFF9AZ 數據庫的 Azure 函數中創建了 API。 我有這條路線:

    [FunctionName("GetAllClassesForTeacher")]
    public IActionResult GetAllClassesForTeacher(
    [HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = null)] HttpRequestMessage req,
     ILogger log)
    {
        var headers = req.Headers;
        if (headers.TryGetValues("TeacherId", out var Teacher))
        {
            int TeacherId = Convert.ToInt32(Teacher.First());

            var result = _classDistributionServices.GetAllClassesForTeacher(TeacherId);

            if (result != null)
            {
                return new OkObjectResult(result);
            }
            return new NotFoundResult();
        }
        return new NotFoundResult();
    }

在本地測試時,它每次都有效。 但在 Azure 門戶上發布后,我從 postman 回來:

{
"statusCode": 500,
"message": "Internal server error",
"activityId": "f98c4112-0c31-4841-99a5-c79dffa41d86"

到目前為止我嘗試過/做過的事情:

  • to take the IP from Azure Function and register it in Firewalls and virtual networks from Azure Sql Server.
  • 我已確保將來自 local.settings.json 的 ConnectionString 上傳到門戶網站。
  • 我已經在 API Management 中聲明了這條路線。

但錯誤仍然存在。 我有一種感覺,即使我注冊了正確的IP,還是因為數據庫防火牆?

你能幫我么?

有幾種方法可以讓您找出問題所在:

1-啟用 Application Insights 並使用實時指標來捕獲錯誤

2-使用 Kudu 並檢查有關錯誤的更多詳細信息(例如https://myfunctionapp.scm.azurewebsites.net/azurejobs/#/functions

3-您還可以使用 try/catch 包裝您的代碼,並在響應 output 中拋出異常的詳細信息。

暫無
暫無

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

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