Skip to main content سوق المهارات اكتشف واستكشف مهارات الذكاء الاصطناعي التي بناها المجتمع.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
نسخ Promptعرض تفاصيل Prompt يتجاوز الأمر المباشر Prompt المخصّص للمراجعة. افحص المصدر قبل تشغيله.
npx skills add https://github.com/BEKO2210/Firstbrain --skill azure-mgmt-applicationinsights-dotnetيبقى الأمر في سطر واحد. مرّر أفقيًا لمراجعته كاملًا قبل النسخ.
تفضّل نسخة محلية؟ نزّل الملفات المتاحة حاليًا لدى SkillsMP.
تحميل Zip جاري التحميل... المهن ذات الصلة SOC
استنادا إلى تصنيف SOC المهني
name azure-mgmt-applicationinsights-dotnet description Azure Application Insights SDK for .NET. Application performance monitoring and observability resource management. type skill created 2026-02-27T00:00:00.000Z domain cloud-infrastructure category azure risk unknown source community tags ["skill","cloud-infrastructure","azure","mgmt","applicationinsights"]
Azure.ResourceManager.ApplicationInsights (.NET)
Azure Resource Manager SDK for managing Application Insights resources for application performance monitoring.
Installation
dotnet add package Azure.ResourceManager.ApplicationInsights
dotnet add package Azure.Identity
Current Version : v1.0.0 (GA)
API Version : 2022-06-15
Environment Variables
AZURE_SUBSCRIPTION_ID=<your-subscription-id>
AZURE_RESOURCE_GROUP=<your-resource-group>
AZURE_APPINSIGHTS_NAME=<your-appinsights-component>
Authentication
using Azure.Identity;
using Azure.ResourceManager;
using Azure.ResourceManager.ApplicationInsights;
ArmClient client = new ArmClient(new DefaultAzureCredential());
Resource Hierarchy
Subscription
└── ResourceGroup
└── ApplicationInsightsComponent # App Insights resource
├── ApplicationInsightsComponentApiKey # API keys for programmatic access
├── ComponentLinkedStorageAccount # Linked storage for data export
└── (via component ID)
├── WebTest # Availability tests
├── Workbook # Workbooks for analysis
├── WorkbookTemplate # Workbook templates
└── MyWorkbook # Private workbooks
Core Workflows
1. Create Application Insights Component (Workspace-based)
using Azure.ResourceManager.ApplicationInsights;
using Azure.ResourceManager.ApplicationInsights.Models;
ResourceGroupResource resourceGroup = await client
.GetDefaultSubscriptionAsync()
.Result
.GetResourceGroupAsync("my-resource-group" );
ApplicationInsightsComponentCollection components = resourceGroup.GetApplicationInsightsComponents();
ApplicationInsightsComponentData data = new ApplicationInsightsComponentData(
AzureLocation.EastUS,
ApplicationInsightsApplicationType.Web)
{
Kind = "web" ,
WorkspaceResourceId = new ResourceIdentifier(
"/subscriptions/<sub-id>/resourceGroups/<rg>/providers/Microsoft.OperationalInsights/workspaces/<workspace-name>" ),
IngestionMode = IngestionMode.LogAnalytics,
PublicNetworkAccessForIngestion = PublicNetworkAccessType.Enabled,
PublicNetworkAccessForQuery = PublicNetworkAccessType.Enabled,
RetentionInDays = ,
SamplingPercentage = ,
DisableIPMasking = ,
ImmediatePurgeDataOn30Days = ,
Tags =
{
{ , },
{ , }
}
};
ArmOperation<ApplicationInsightsComponentResource> operation = components
.CreateOrUpdateAsync(WaitUntil.Completed, , data);
ApplicationInsightsComponentResource component = operation.Value;
Console.WriteLine( );
Console.WriteLine( );
Console.WriteLine( );
90
100
false
false
"environment"
"production"
"application"
"mywebapp"
await
"my-appinsights"
$"Component created: {component.Data.Name} "
$"Instrumentation Key: {component.Data.InstrumentationKey} "
$"Connection String: {component.Data.ConnectionString} "
2. Get Connection String and Keys ApplicationInsightsComponentResource component = await resourceGroup
.GetApplicationInsightsComponentAsync("my-appinsights" );
string connectionString = component.Data.ConnectionString;
string instrumentationKey = component.Data.InstrumentationKey;
string appId = component.Data.AppId;
Console.WriteLine($"Connection String: {connectionString} " );
Console.WriteLine($"Instrumentation Key: {instrumentationKey} " );
Console.WriteLine($"App ID: {appId} " );
3. Create API Key ApplicationInsightsComponentResource component = await resourceGroup
.GetApplicationInsightsComponentAsync("my-appinsights" );
ApplicationInsightsComponentApiKeyCollection apiKeys = component.GetApplicationInsightsComponentApiKeys();
ApplicationInsightsApiKeyContent keyContent = new ApplicationInsightsApiKeyContent
{
Name = "ReadTelemetryKey" ,
LinkedReadProperties =
{
$"/subscriptions/{subscriptionId} /resourceGroups/{resourceGroupName} /providers/microsoft.insights/components/{component.Data.Name} /api" ,
$"/subscriptions/{subscriptionId} /resourceGroups/{resourceGroupName} /providers/microsoft.insights/components/{component.Data.Name} /agentconfig"
}
};
ApplicationInsightsComponentApiKeyResource apiKey = await apiKeys
.CreateOrUpdateAsync(WaitUntil.Completed, keyContent);
Console.WriteLine($"API Key Name: {apiKey.Data.Name} " );
Console.WriteLine($"API Key: {apiKey.Data.ApiKey} " );
4. Create Web Test (Availability Test) WebTestCollection webTests = resourceGroup.GetWebTests();
WebTestData urlPingTest = new WebTestData(AzureLocation.EastUS)
{
Kind = WebTestKind.Ping,
SyntheticMonitorId = "webtest-ping-myapp" ,
WebTestName = "Homepage Availability" ,
Description = "Checks if homepage is available" ,
IsEnabled = true ,
Frequency = 300 ,
Timeout = 120 ,
WebTestKind = WebTestKind.Ping,
IsRetryEnabled = true ,
Locations =
{
new WebTestGeolocation { WebTestLocationId = "us-ca-sjc-azr" },
new WebTestGeolocation { WebTestLocationId = "us-tx-sn1-azr" },
new WebTestGeolocation { WebTestLocationId = "us-il-ch1-azr" },
new WebTestGeolocation { WebTestLocationId = "emea-gb-db3-azr" },
new WebTestGeolocation { WebTestLocationId = "apac-sg-sin-azr" }
},
Configuration = new WebTestConfiguration
{
WebTest = """
<WebTest Name="Homepage" Enabled="True" Timeout="120"
xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010">
<Items>
<Request Method="GET" Version="1.1" Url="https://myapp.example.com"
ThinkTime="0" Timeout="120" ParseDependentRequests="False"
FollowRedirects="True" RecordResult="True" Cache="False"
ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="200" />
</Items>
</WebTest>
"""
},
Tags =
{
{ $"hidden-link:/subscriptions/{subscriptionId} /resourceGroups/{resourceGroupName} /providers/microsoft.insights/components/my-appinsights" , "Resource" }
}
};
ArmOperation<WebTestResource> operation = await webTests
.CreateOrUpdateAsync(WaitUntil.Completed, "webtest-homepage" , urlPingTest);
WebTestResource webTest = operation.Value;
Console.WriteLine($"Web test created: {webTest.Data.Name} " );
5. Create Multi-Step Web Test WebTestData multiStepTest = new WebTestData(AzureLocation.EastUS)
{
Kind = WebTestKind.MultiStep,
SyntheticMonitorId = "webtest-multistep-login" ,
WebTestName = "Login Flow Test" ,
Description = "Tests login functionality" ,
IsEnabled = true ,
Frequency = 900 ,
Timeout = 300 ,
WebTestKind = WebTestKind.MultiStep,
IsRetryEnabled = true ,
Locations =
{
new WebTestGeolocation { WebTestLocationId = "us-ca-sjc-azr" }
},
Configuration = new WebTestConfiguration
{
WebTest = """
<WebTest Name="LoginFlow" Enabled="True" Timeout="300"
xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010">
<Items>
<Request Method="GET" Version="1.1" Url="https://myapp.example.com/login"
ThinkTime="0" Timeout="60" />
<Request Method="POST" Version="1.1" Url="https://myapp.example.com/api/auth"
ThinkTime="0" Timeout="60">
<Headers>
<Header Name="Content-Type" Value="application/json" />
</Headers>
<Body>{"username":"testuser","password":"{{TestPassword}}"}</Body>
</Request>
</Items>
</WebTest>
"""
},
Tags =
{
{ $"hidden-link:/subscriptions/{subscriptionId} /resourceGroups/{resourceGroupName} /providers/microsoft.insights/components/my-appinsights" , "Resource" }
}
};
await webTests.CreateOrUpdateAsync(WaitUntil.Completed, "webtest-login-flow" , multiStepTest);
6. Create Workbook WorkbookCollection workbooks = resourceGroup.GetWorkbooks();
WorkbookData workbookData = new WorkbookData(AzureLocation.EastUS)
{
DisplayName = "Application Performance Dashboard" ,
Category = "workbook" ,
Kind = WorkbookSharedTypeKind.Shared,
SerializedData = """
{
"version": "Notebook/1.0",
"items": [
{
"type": 1,
"content": {
"json": "# Application Performance\n\nThis workbook shows application performance metrics."
},
"name": "header"
},
{
"type": 3,
"content": {
"version": "KqlItem/1.0",
"query": "requests\n| summarize count() by bin(timestamp, 1h)\n| render timechart",
"size": 0,
"title": "Requests per Hour",
"timeContext": {
"durationMs": 86400000
},
"queryType": 0,
"resourceType": "microsoft.insights/components"
},
"name": "requestsChart"
}
],
"isLocked": false
}
""" ,
SourceId = component.Id,
Tags =
{
{ "environment" , "production" }
}
};
string workbookId = Guid.NewGuid().ToString();
ArmOperation<WorkbookResource> operation = await workbooks
.CreateOrUpdateAsync(WaitUntil.Completed, workbookId, workbookData);
WorkbookResource workbook = operation.Value;
Console.WriteLine($"Workbook created: {workbook.Data.DisplayName} " );
7. Link Storage Account ApplicationInsightsComponentResource component = await resourceGroup
.GetApplicationInsightsComponentAsync("my-appinsights" );
ComponentLinkedStorageAccountCollection linkedStorage = component.GetComponentLinkedStorageAccounts();
ComponentLinkedStorageAccountData storageData = new ComponentLinkedStorageAccountData
{
LinkedStorageAccount = new ResourceIdentifier(
"/subscriptions/<sub-id>/resourceGroups/<rg>/providers/Microsoft.Storage/storageAccounts/<storage-account>" )
};
ArmOperation<ComponentLinkedStorageAccountResource> operation = await linkedStorage
.CreateOrUpdateAsync(WaitUntil.Completed, StorageType.ServiceProfiler, storageData);
8. List and Manage Components
await foreach (ApplicationInsightsComponentResource component in
resourceGroup.GetApplicationInsightsComponents())
{
Console.WriteLine($"Component: {component.Data.Name} " );
Console.WriteLine($" App ID: {component.Data.AppId} " );
Console.WriteLine($" Type: {component.Data.ApplicationType} " );
Console.WriteLine($" Ingestion Mode: {component.Data.IngestionMode} " );
Console.WriteLine($" Retention: {component.Data.RetentionInDays} days" );
}
await foreach (WebTestResource webTest in resourceGroup.GetWebTests())
{
Console.WriteLine($"Web Test: {webTest.Data.WebTestName} " );
Console.WriteLine($" Enabled: {webTest.Data.IsEnabled} " );
Console.WriteLine($" Frequency: {webTest.Data.Frequency} s" );
}
await foreach (WorkbookResource workbook in resourceGroup.GetWorkbooks())
{
Console.WriteLine($"Workbook: {workbook.Data.DisplayName} " );
}
9. Update Component ApplicationInsightsComponentResource component = await resourceGroup
.GetApplicationInsightsComponentAsync("my-appinsights" );
ApplicationInsightsComponentData updateData = component.Data;
updateData.RetentionInDays = 180 ;
updateData.SamplingPercentage = 50 ;
updateData.Tags["updated" ] = "true" ;
ArmOperation<ApplicationInsightsComponentResource> operation = await resourceGroup
.GetApplicationInsightsComponents()
.CreateOrUpdateAsync(WaitUntil.Completed, "my-appinsights" , updateData);
10. Delete Resources
ApplicationInsightsComponentResource component = await resourceGroup
.GetApplicationInsightsComponentAsync("my-appinsights" );
await component.DeleteAsync(WaitUntil.Completed);
WebTestResource webTest = await resourceGroup.GetWebTestAsync("webtest-homepage" );
await webTest.DeleteAsync(WaitUntil.Completed);
Key Types Reference Type Purpose ApplicationInsightsComponentResourceApp Insights component ApplicationInsightsComponentDataComponent configuration ApplicationInsightsComponentCollectionCollection of components ApplicationInsightsComponentApiKeyResourceAPI key for programmatic access WebTestResourceAvailability/web test WebTestDataWeb test configuration WorkbookResourceAnalysis workbook WorkbookDataWorkbook configuration ComponentLinkedStorageAccountResourceLinked storage for exports
Application Types Type Enum Value Web Application WebiOS Application iOSJava Application JavaNode.js Application NodeJS.NET Application MRTOther Other
Web Test Locations Location ID Region us-ca-sjc-azrWest US us-tx-sn1-azrSouth Central US us-il-ch1-azrNorth Central US us-va-ash-azrEast US emea-gb-db3-azrUK South emea-nl-ams-azrWest Europe emea-fr-pra-edgeFrance Central apac-sg-sin-azrSoutheast Asia apac-hk-hkn-azrEast Asia apac-jp-kaw-edgeJapan East latam-br-gru-edgeBrazil South emea-au-syd-edgeAustralia East
Best Practices
Use workspace-based — Workspace-based App Insights is the current standard
Link to Log Analytics — Store data in Log Analytics for better querying
Set appropriate retention — Balance cost vs. data availability
Use sampling — Reduce costs for high-volume applications
Store connection string securely — Use Key Vault or managed identity
Enable multiple test locations — For accurate availability monitoring
Use workbooks — For custom dashboards and analysis
Set up alerts — Based on availability tests and metrics
Tag resources — For cost allocation and organization
Use private endpoints — For secure data ingestion
Error Handling using Azure;
try
{
ArmOperation<ApplicationInsightsComponentResource> operation = await components
.CreateOrUpdateAsync(WaitUntil.Completed, "my-appinsights" , data);
}
catch (RequestFailedException ex) when (ex.Status == 409 )
{
Console.WriteLine("Component already exists" );
}
catch (RequestFailedException ex) when (ex.Status == 400 )
{
Console.WriteLine($"Invalid configuration: {ex.Message} " );
}
catch (RequestFailedException ex)
{
Console.WriteLine($"Azure error: {ex.Status} - {ex.Message} " );
}
SDK Integration Use the connection string with Application Insights SDK:
builder.Services.AddApplicationInsightsTelemetry(options =>
{
options.ConnectionString = configuration["ApplicationInsights:ConnectionString" ];
});
Related SDKs SDK Purpose Install Azure.ResourceManager.ApplicationInsightsResource management (this SDK) dotnet add package Azure.ResourceManager.ApplicationInsightsMicrosoft.ApplicationInsightsTelemetry SDK dotnet add package Microsoft.ApplicationInsightsMicrosoft.ApplicationInsights.AspNetCoreASP.NET Core integration dotnet add package Microsoft.ApplicationInsights.AspNetCoreAzure.Monitor.OpenTelemetry.ExporterOpenTelemetry export dotnet add package Azure.Monitor.OpenTelemetry.Exporter
Reference Links
When to Use This skill is applicable to execute the workflow or actions described in the overview.
Connections
Domain: [[Cloud & Infrastruktur]]
Kategorie: [[Microsoft Azure]]
Navigation: [[Skills Uebersicht]], [[Home]]