A Snapshot Debugger engedélyezése .NET- és .NET Core-alkalmazásokhoz a Azure Functions

A Snapshot Debugger jelenleg ASP.NET és ASP.NET Core olyan alkalmazásokhoz működik, amelyek windowsos szolgáltatáscsomagokon futó Azure Functions futnak.

A Snapshot Debugger használatakor javasoljuk, hogy az alkalmazást az Alapszintű szolgáltatási szinten vagy annál magasabb szinten futtassa.

A legtöbb alkalmazás esetében az ingyenes és a megosztott szolgáltatási szint nem rendelkezik elegendő memóriával vagy lemezterülettel a pillanatképek mentéséhez.

Előfeltétel

Az Application Insights monitorozásának engedélyezése a Functions-alkalmazásban

Pillanatkép-hibakereső engedélyezése

A Snapshot Debugger függvényalkalmazásban való engedélyezéséhez adja hozzá a tulajdonságot a snapshotConfigurationhost.json fájlhoz, és helyezze újra üzembe a függvényt. Például:

{
  "version": "2.0",
  "logging": {
    "applicationInsights": {
      "snapshotConfiguration": {
        "isEnabled": true
      }
    }
  }
}

A pillanatkép-hibakereső előre telepítve van a Azure Functions futtatókörnyezet részeként, és alapértelmezés szerint le van tiltva. Mivel ez szerepel a futtatókörnyezetben, nem kell további NuGet-csomagokat vagy alkalmazásbeállításokat hozzáadnia.

Az egyszerű .NET Core-függvényalkalmazásban a következő példa, .csproja , {Your}Function.csés host.json a Snapshot Debugger engedélyezve van:

Project.csproj

<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
    <TargetFramework>netcoreapp2.1</TargetFramework>
    <AzureFunctionsVersion>v2</AzureFunctionsVersion>
</PropertyGroup>
<ItemGroup>
    <PackageReference Include="Microsoft.NET.Sdk.Functions" Version="1.0.31" />
</ItemGroup>
<ItemGroup>
    <None Update="host.json">
    <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
    </None>
    <None Update="local.settings.json">
    <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
    <CopyToPublishDirectory>Never</CopyToPublishDirectory>
    </None>
</ItemGroup>
</Project>

{Your}Function.cs

using System;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Extensions.Http;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.Logging;

namespace SnapshotCollectorAzureFunction
{
    public static class ExceptionFunction
    {
        [FunctionName("ExceptionFunction")]
        public static Task<IActionResult> Run(
            [HttpTrigger(AuthorizationLevel.Function, "get", Route = null)] HttpRequest req,
            ILogger log)
        {
            log.LogInformation("C# HTTP trigger function processed a request.");

            throw new NotImplementedException("Dummy");
        }
    }
}

Host.json

{
  "version": "2.0",
  "logging": {
    "applicationInsights": {
      "samplingExcludedTypes": "Request",
      "samplingSettings": {
        "isEnabled": true
      },
      "snapshotConfiguration": {
        "isEnabled": true
      }
    }
  }
}

Pillanatkép-hibakereső engedélyezése más felhőkhöz

Jelenleg az egyetlen olyan régió, amely végpontmódosítást igényel, a21Vianet által üzemeltetett Azure Government és a Microsoft Azure.

Az alábbi példa az host.json US Government Cloud-ügynök végpontjának frissítését mutatja be:

{
  "version": "2.0",
  "logging": {
    "applicationInsights": {
      "samplingExcludedTypes": "Request",
      "samplingSettings": {
        "isEnabled": true
      },
      "snapshotConfiguration": {
        "isEnabled": true,
        "agentEndpoint": "https://snapshot.monitor.azure.us"
      }
    }
  }
}

A Snapshot Debugger-ügynök végpontjának támogatott felülbírálásai:

Tulajdonság USA kormányzati felhője Kínai felhő
AgentEndpoint https://snapshot.monitor.azure.us https://snapshot.monitor.azure.cn

Pillanatkép-hibakereső letiltása

A Snapshot Debugger függvényalkalmazásban való letiltásához frissítse a host.json fájlt úgy, hogy a tulajdonságot a snapshotConfiguration.isEnabled értékre falseállítja.

{
  "version": "2.0",
  "logging": {
    "applicationInsights": {
      "snapshotConfiguration": {
        "isEnabled": false
      }
    }
  }
}

Azt javasoljuk, hogy az alkalmazás kivételeinek diagnosztikájának megkönnyítése érdekében minden alkalmazásban engedélyezve legyen a Snapshot Debugger.

Következő lépések