Włączanie debugera migawek dla aplikacji .NET i .NET Core w usłudze Azure Functions
Narzędzie Snapshot Debugger działa obecnie w przypadku aplikacji ASP.NET i ASP.NET Core działających w usłudze Azure Functions w planach usług systemu Windows.
Zalecamy uruchomienie aplikacji w warstwach usługi Podstawowa lub wyższej podczas korzystania z debugera migawek. W przypadku większości aplikacji:
- Warstwy usługi Bezpłatna i Współdzielona nie mają wystarczającej ilości pamięci ani miejsca na dysku, aby zapisać migawki.
- Warstwa Zużycie nie jest obecnie dostępna dla debugera migawek.
Debuger migawek jest wstępnie zainstalowany jako część środowiska uruchomieniowego usługi Azure Functions, dlatego nie trzeba dodawać dodatkowych pakietów NuGet ani ustawień aplikacji.
Warunek wstępny
Włącz monitorowanie usługi Application Insights w aplikacji usługi Functions.
Włączanie debugera migawek
Aby włączyć narzędzie Snapshot Debugger w aplikacji usługi Functions, dodaj snapshotConfiguration
właściwość do pliku host.json i ponownie wdróż funkcję. Na przykład:
{
"version": "2.0",
"logging": {
"applicationInsights": {
"snapshotConfiguration": {
"isEnabled": true
}
}
}
}
Generuj ruch do aplikacji, który może wyzwolić wyjątek. Następnie poczekaj od 10 do 15 minut, aż migawki zostaną wysłane do wystąpienia usługi Application Insights.
Możesz sprawdzić, czy debuger migawek został włączony, sprawdzając pliki aplikacji funkcji platformy .NET. Na przykład w następującej prostej aplikacji funkcji .NET element .csproj
, {Your}Function.cs
i host.json
aplikacji platformy .NET pokazują debuger migawek jako włączony:
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
}
}
}
}
Włączanie debugera migawek dla innych chmur
Obecnie jedynymi regionami, które wymagają modyfikacji punktów końcowych, są platforma Azure Government i platforma Microsoft Azure obsługiwana przez firmę 21Vianet.
W poniższym przykładzie pokazano zaktualizowany host.json
punkt końcowy agenta chmury dla instytucji rządowych USA:
{
"version": "2.0",
"logging": {
"applicationInsights": {
"samplingExcludedTypes": "Request",
"samplingSettings": {
"isEnabled": true
},
"snapshotConfiguration": {
"isEnabled": true,
"agentEndpoint": "https://snapshot.monitor.azure.us"
}
}
}
}
Oto obsługiwane przesłonięcia punktu końcowego agenta snapshot Debugger:
Właściwości | Chmura dla instytucji rządowych USA | Chmura w Chinach |
---|---|---|
agentEndpoint |
https://snapshot.monitor.azure.us |
https://snapshot.monitor.azure.cn |
Wyłączanie debugera migawek
Aby wyłączyć narzędzie Snapshot Debugger w aplikacji usługi Functions, zaktualizuj plik host.json , ustawiając snapshotConfiguration.isEnabled
właściwość na false
.
{
"version": "2.0",
"logging": {
"applicationInsights": {
"snapshotConfiguration": {
"isEnabled": false
}
}
}
}
Następne kroki
- Wyświetlanie migawek w witrynie Azure Portal.
- Dostosuj konfigurację debugera migawek na podstawie przypadku użycia w aplikacji usługi Functions. Aby uzyskać więcej informacji, zobacz Konfiguracja migawki w host.json.
- Rozwiązywanie problemów z debugerem migawek.