Azure.ResourceManager.LoadTesting 1.1.0
前缀已保留
dotnet add package Azure.ResourceManager.LoadTesting --version 1.1.0
NuGet\Install-Package Azure.ResourceManager.LoadTesting -Version 1.1.0
<PackageReference Include="Azure.ResourceManager.LoadTesting" Version="1.1.0" />
paket add Azure.ResourceManager.LoadTesting --version 1.1.0
#r "nuget: Azure.ResourceManager.LoadTesting, 1.1.0"
// Install Azure.ResourceManager.LoadTesting as a Cake Addin #addin nuget:?package=Azure.ResourceManager.LoadTesting&version=1.1.0 // Install Azure.ResourceManager.LoadTesting as a Cake Tool #tool nuget:?package=Azure.ResourceManager.LoadTesting&version=1.1.0
Microsoft Azure Load Testing 的 .NET 管理客户端库
Microsoft Azure Load Testing 是一个完全托管的负载测试服务,可让您生成高规模负载。该服务模拟应用程序的流量,无论它们托管在何处。开发人员、测试人员和质量保证 (QA) 工程师可以使用它来优化应用程序的性能、可伸缩性或容量。
此库支持管理 Microsoft Azure Load Testing 资源。
此库遵循 新的 Azure SDK 指南,并提供许多核心功能
- Support MSAL.NET, Azure.Identity is out of box for supporting MSAL.NET.
- Support [OpenTelemetry](https://opentelemetry.io/) for distributed tracing.
- HTTP pipeline with custom policies.
- Better error-handling.
- Support uniform telemetry across all languages.
入门
安装包
使用 NuGet 安装 Microsoft Azure Load Testing 的 .NET 管理库
dotnet add package Azure.ResourceManager.LoadTesting
先决条件
- 您必须有Microsoft Azure 订阅。
认证客户端
要创建受认证的客户端并与微软Azure资源进行交互,请参阅在此处的快速入门指南。
关键概念
在此处可以找到Microsoft Azure SDK for .NET的关键概念。
文档
提供文档以帮助您了解如何使用此包
示例
创建新的Azure负载测试资源
在创建Azure负载测试资源之前,我们需要有一个资源组。
ArmClient armClient = new ArmClient(new DefaultAzureCredential());
SubscriptionResource subscription = await armClient.GetDefaultSubscriptionAsync();
ResourceGroupCollection rgCollection = subscription.GetResourceGroups();
// With the collection, we can create a new resource group with an specific name
string rgName = "sample-rg";
AzureLocation location = AzureLocation.WestUS2;
ArmOperation<ResourceGroupResource> resourceGroupLro = await rgCollection.CreateOrUpdateAsync(WaitUntil.Completed, rgName, new ResourceGroupData(location));
ResourceGroupResource resourceGroup = lro.Value;
创建Azure负载测试资源。
LoadTestingResourceCollection loadTestingCollection = _resourceGroup.GetLoadTestingResources();
string loadTestResourceName = "sample-loadtest";
LoadTestingResourceData inputPayload = new LoadTestingResourceData(AzureLocation.WestUS2);
ArmOperation<LoadTestingResource> loadTestingLro = await loadTestingCollection.CreateOrUpdateAsync(WaitUntil.Completed, loadTestResourceName, inputPayload);
LoadTestingResource resource = loadTestingLro.Value;
创建使用CMK加密配置的Azure负载测试资源。
LoadTestingResourceCollection loadTestingCollection = _resourceGroup.GetLoadTestingResources();
string loadTestResourceName = "sample-loadtest";
LoadTestingResourceData inputPayload = new LoadTestingResourceData(AzureLocation.WestUS2);
// Managed identity properties
ResourceIdentifier identityId = new ResourceIdentifier("/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/sample-rg/providers/microsoft.managedidentity/userassignedidentities/identity1");
inputPayload.Identity = new ManagedServiceIdentity(ManagedServiceIdentityType.SystemAssignedUserAssigned);
inputPayload.Identity.UserAssignedIdentities.Add(identityId, new UserAssignedIdentity());
// CMK encryption properties
inputPayload.Encryption = new LoadTestingCmkEncryptionProperties();
inputPayload.Encryption.KeyUri = new Uri("https://sample-kv.vault.azure.net/keys/cmkkey/2d1ccd5c50234ea2a0858fe148b69cde");
inputPayload.Encryption.Identity = new LoadTestingCmkIdentity();
inputPayload.Encryption.Identity.IdentityType = LoadTestingCmkIdentityType.UserAssigned;
inputPayload.Encryption.Identity.ResourceId = identityId;
ArmOperation<LoadTestingResource> loadTestingLro = await loadTestingCollection.CreateOrUpdateAsync(WaitUntil.Completed, loadTestResourceName, inputPayload);
LoadTestingResource resource = loadTestingLro.Value;
获取Azure负载测试资源的详细信息
LoadTestingResourceCollection loadTestingCollection = _resourceGroup.GetLoadTestingResources();
string loadTestResourceName = "sample-loadtest";
Response<LoadTestingResource> loadTestingResponse = await loadTestingCollection.GetAsync(loadTestResourceName);
LoadTestingResource resource = loadTestingResponse.Value;
更新Azure负载测试资源
使用系统分配的托管标识更新Azure负载测试资源并配置CMK加密。
LoadTestingResourceCollection loadTestingCollection = _resourceGroup.GetLoadTestingResources();
string loadTestResourceName = "sample-loadtest";
Response<LoadTestingResource> loadTestingResponse = await loadTestingCollection.GetAsync(loadTestResourceName);
LoadTestingResource resource = loadTestingResponse.Value;
ResourceIdentifier identityId = new ResourceIdentifier("/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/sample-rg/providers/microsoft.managedidentity/userassignedidentities/identity1");
LoadTestingResourcePatch resourcePatchPayload = new LoadTestingResourcePatch {
Encryption = new LoadTestingCmkEncryptionProperties
{
Identity = new LoadTestingCmkIdentity
{
// make sure that system-assigned managed identity is enabled on this resource and the identity has been granted required permissions to access the key.
IdentityType = LoadTestingCmkIdentityType.SystemAssigned,
ResourceId = null
},
KeyUri = new Uri("https://sample-kv.vault.azure.net/keys/cmkkey/2d1ccd5c50234ea2a0858fe148b69cde")
}
};
ArmOperation<LoadTestingResource> loadTestingLro = await resource.UpdateAsync(WaitUntil.Completed, resourcePatchPayload);
LoadTestingResource updatedResource = loadTestingLro.Value;
更新Azure负载测试资源以更新用户分配的托管标识。
LoadTestingResourceCollection loadTestingCollection = _resourceGroup.GetLoadTestingResources();
string loadTestResourceName = "sample-loadtest";
Response<LoadTestingResource> loadTestingResponse = await loadTestingCollection.GetAsync(loadTestResourceName);
LoadTestingResource resource = loadTestingResponse.Value;
ResourceIdentifier identityId1 = new ResourceIdentifier("/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/sample-rg/providers/microsoft.managedidentity/userassignedidentities/identity1");
ResourceIdentifier identityId2 = new ResourceIdentifier("/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/sample-rg/providers/microsoft.managedidentity/userassignedidentities/identity2");
LoadTestingResourcePatch resourcePatchPayload = new LoadTestingResourcePatch();
resourcePatchPayload.Identity = new ManagedServiceIdentity(ManagedServiceIdentityType.UserAssigned);
// removes user-assigned identity with resourceId <identityId1> (if already assigned to the load testing resource)
resourcePatchPayload.Identity.UserAssignedIdentities.Add(identityId1, null);
resourcePatchPayload.Identity.UserAssignedIdentities.Add(identityId2, new UserAssignedIdentity());
ArmOperation<LoadTestingResource> loadTestingLro = await resource.UpdateAsync(WaitUntil.Completed, resourcePatchPayload);
LoadTestingResource updatedResource = loadTestingLro.Value;
删除Azure负载测试资源
LoadTestingResourceCollection loadTestingCollection = _resourceGroup.GetLoadTestingResources();
string loadTestResourceName = "sample-loadtest";
Response<LoadTestingResource> loadTestingResponse = await loadTestingCollection.GetAsync(loadTestResourceName);
LoadTestingResource resource = loadTestingResponse.Value;
ArmOperation loadTestDeleteResponse = await resource.DeleteAsync(WaitUntil.Completed);
配额操作
获取负载测试配额集合。
LoadTestingQuotaCollection QuotaCollection = _subscription.GetAllLoadTestingQuota(AzureLocation.WestUS2);
// Use the quotaCollection for all the quota operations.
获取特定配额桶的配额值。
LoadTestingQuotaCollection QuotaCollection = _subscription.GetAllLoadTestingQuota(AzureLocation.WestUS2);
// Get the quota values for a particular quota bucket
Response<LoadTestingQuotaResource> quotaResponse = await QuotaCollection.GetAsync("maxConcurrentTestRuns");
LoadTestingQuotaResource quotaBucket = quotaResponse.Value;
获取所有配额桶的配额值。
LoadTestingQuotaCollection QuotaCollection = _subscription.GetAllLoadTestingQuota(AzureLocation.WestUS2);
// Get the quota values for a all quota buckets
List<LoadTestingQuotaResource> quotaBuckets = await QuotaCollection.GetAllAsync().ToEnumerableAsync();
检查配额可用性。
LoadTestingQuotaCollection QuotaCollection = _subscription.GetAllLoadTestingQuota(AzureLocation.WestUS2);
Response<LoadTestingQuotaResource> quotaResponse = await QuotaCollection.GetAsync("maxConcurrentTestRuns");
LoadTestingQuotaResource quotaResource = quotaResponse.Value;
LoadTestingQuotaBucketDimensions dimensions = new LoadTestingQuotaBucketDimensions("<subscription-id>", AzureLocation.WestUS2);
LoadTestingQuotaBucketContent quotaAvailabilityPayload = new LoadTestingQuotaBucketContent(
quotaResponse.Value.Data.Id,
quotaResource.Data.Name,
quotaResource.Data.ResourceType,
null,
quotaResource.Data.Usage,
quotaResource.Data.Limit,
50, // new quota value
dimensions);
Response<LoadTestingQuotaAvailabilityResult> checkAvailabilityResult = await quotaResponse.Value.CheckLoadTestingQuotaAvailabilityAsync(quotaAvailabilityPayload);
// IsAvailable property indicates whether the requested quota is available.
Console.WriteLine(checkAvailabilityResult.Value.IsAvailable);
在以下位置可以找到使用.NET管理库的代码示例
故障排除
- 通过GitHub Issues提交问题。
- 查看相关问题或在使用Azure和.NET标签的情况下在Stack Overflow上提问。
下一步
有关Microsoft Azure SDK的更多信息,请参阅此网站。
贡献
有关向此存储库贡献的详细信息,请参阅贡献指南。
本项目欢迎贡献和建议。大多数贡献需要您同意一项贡献者许可协议(CLA),声明您有权利并将实际授予我们使用您贡献的权利。有关详细信息,请访问https://cla.microsoft.com。
在您提交拉取请求时,CLA-bot将自动确定您是否需要提供CLA,并相应地装饰PR(例如,标签,注释)。遵循机器人提供的说明。您只需在整个使用我们的CLA的存储库中执行此操作一次。
本项目采用了Microsoft开源行为准则。有关更多信息,请参阅行为准则FAQ或通过[email protected]联系以获取任何其他问题或评论。
产品 | 版本 兼容和计算得出的额外目标框架版本。 |
---|---|
.NET | net5.0 已计算。 net5.0-windows 已计算。 net6.0 已计算。 net6.0-android 已计算。 net6.0-ios 已计算。 net6.0-maccatalyst 已计算。 net6.0-macos 已计算。 net6.0-tvos 已计算。 net6.0-windows 已计算。 net7.0 已计算。 net7.0-android 已计算。 net7.0-ios 已计算。 net7.0-maccatalyst 已计算。 net7.0-macos 已计算。 net7.0-tvos 已计算。 net7.0-windows 已计算。 net8.0 已计算。 net8.0-android 已计算。 net8.0-browser 已计算。 net8.0-ios 已计算。 net8.0-maccatalyst 已计算。 net8.0-macos 已计算。 net8.0-tvos 已计算。 net8.0-windows 已计算。 |
.NET Core | netcoreapp2.0 已计算。 netcoreapp2.1 已计算。 netcoreapp2.2 已计算。 netcoreapp3.0 已计算。 netcoreapp3.1 已计算。 |
.NET 标准化 | netstandard2.0 兼容。 netstandard2.1 已计算。 |
.NET 框架 | net461 已计算。 |
MonoAndroid | monoandroid 已计算。 |
MonoMac | monomac 已计算。 |
MonoTouch | monotouch 已计算。 |
Tizen | tizen40 已计算。 |
Xamarin.iOS | xamarinios 已计算。 |
Xamarin.Mac | xamarinmac 已计算。 |
Xamarin.TVOS | xamarintvos 已计算。 |
Xamarin.WatchOS | xamarinwatchos 已计算。 |
-
.NETStandard 2.0
NuGet 包
此包未被任何 NuGet 包使用。
GitHub 仓库
此包未被任何流行的 GitHub 仓库使用。
版本 | 下载 | 最后更新 |
---|---|---|
1.1.0 | 17,321 | 11/30/2023 |
1.1.0-beta.1 | 703 | 5/31/2023 |
1.0.1 | 15,124 | 2/17/2023 |
1.0.0 | 788 | 2/1/2023 |
1.0.0-beta.2 | 347 | 1/6/2023 |
1.0.0-beta.1 | 178 | 11/23/2022 |