Azure.ResourceManager.Compute 1.5.0
前缀已保留
dotnet add package Azure.ResourceManager.Compute --version 1.5.0
NuGet\Install-Package Azure.ResourceManager.Compute -Version 1.5.0
<PackageReference Include="Azure.ResourceManager.Compute" Version="1.5.0" />
paket add Azure.ResourceManager.Compute --version 1.5.0
#r "nuget: Azure.ResourceManager.Compute, 1.5.0"
// Install Azure.ResourceManager.Compute as a Cake Addin #addin nuget:?package=Azure.ResourceManager.Compute&version=1.5.0 // Install Azure.ResourceManager.Compute as a Cake Tool #tool nuget:?package=Azure.ResourceManager.Compute&version=1.5.0
Microsoft Azure Compute 的 .NET 管理客户端库
Microsoft Azure Compute 提供托管应用程序所需的托管基础结构。利用云计算中的计算能力并按需伸缩。对应用程序进行容器化,部署 Windows 和 Linux 虚拟机 (VM),并利用将 VM 迁移到 Azure 的灵活选项。通过全面支持混合环境,按您想的方式和地点部署。Azure 计算还包括全面的标识解决方案,因此您将获得管理的端点保护,并支持 Active Directory,有助于保护本地和云应用程序的访问。部署出色的应用程序,通过按量付费定价和 Azure 混合优惠节省资金。
本库支持管理 Microsoft Azure Compute 资源。
本库遵循 新的 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 安装 .NET Azure Compute 管理库
dotnet add package Azure.ResourceManager.Compute
先决条件
- 您必须拥有一个 Microsoft Azure 订阅。
验证客户端
创建已验证客户端的默认选项是使用DefaultAzureCredential
。由于所有管理API都通过同一个端点,为了与资源交互,只需要创建一个顶级ArmClient
即可。
要认证到Azure并创建一个ArmClient
,请执行以下代码:
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager;
ArmClient armClient = new ArmClient(new DefaultAzureCredential());
关于Azure.Identity.DefaultAzureCredential
类的更多文档可以在这篇文档中找到。
关键概念
Azure .NET SDK的关键概念可以在这里找到:链接
示例
创建可用性集
在创建可用性集之前,我们需要有一个资源组。
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 = "myRgName";
AzureLocation location = AzureLocation.WestUS2;
ArmOperation<ResourceGroupResource> lro = await rgCollection.CreateOrUpdateAsync(WaitUntil.Completed, rgName, new ResourceGroupData(location));
ResourceGroupResource resourceGroup = lro.Value;
AvailabilitySetCollection availabilitySetCollection = resourceGroup.GetAvailabilitySets();
string availabilitySetName = "myAvailabilitySet";
AvailabilitySetData input = new AvailabilitySetData(location);
ArmOperation<AvailabilitySetResource> lro = await availabilitySetCollection.CreateOrUpdateAsync(WaitUntil.Completed, availabilitySetName, input);
AvailabilitySetResource availabilitySet = lro.Value;
获取资源组中的所有可用性集
// First, initialize the ArmClient and get the default subscription
ArmClient armClient = new ArmClient(new DefaultAzureCredential());
// Now we get a ResourceGroupResource collection for that subscription
SubscriptionResource subscription = await armClient.GetDefaultSubscriptionAsync();
ResourceGroupCollection rgCollection = subscription.GetResourceGroups();
string rgName = "myRgName";
ResourceGroupResource resourceGroup = await rgCollection.GetAsync(rgName);
// First, we get the availability set collection from the resource group
AvailabilitySetCollection availabilitySetCollection = resourceGroup.GetAvailabilitySets();
// With GetAllAsync(), we can get a list of the availability sets in the collection
AsyncPageable<AvailabilitySetResource> response = availabilitySetCollection.GetAllAsync();
await foreach (AvailabilitySetResource availabilitySet in response)
{
Console.WriteLine(availabilitySet.Data.Name);
}
更新可用性集
// First, initialize the ArmClient and get the default subscription
ArmClient armClient = new ArmClient(new DefaultAzureCredential());
// Now we get a ResourceGroupResource collection for that subscription
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 = "myRgName";
ResourceGroupResource resourceGroup = await rgCollection.GetAsync(rgName);
AvailabilitySetCollection availabilitySetCollection = resourceGroup.GetAvailabilitySets();
string availabilitySetName = "myAvailabilitySet";
AvailabilitySetResource availabilitySet = await availabilitySetCollection.GetAsync(availabilitySetName);
// availabilitySet is an AvailabilitySetResource instance created above
AvailabilitySetPatch update = new AvailabilitySetPatch()
{
PlatformFaultDomainCount = 3
};
AvailabilitySetResource updatedAvailabilitySet = await availabilitySet.UpdateAsync(update);
删除可用性集
// First, initialize the ArmClient and get the default subscription
ArmClient armClient = new ArmClient(new DefaultAzureCredential());
// Now we get a ResourceGroupResource collection for that subscription
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 = "myRgName";
ResourceGroupResource resourceGroup = await rgCollection.GetAsync(rgName);
AvailabilitySetCollection availabilitySetCollection = resourceGroup.GetAvailabilitySets();
string availabilitySetName = "myAvailabilitySet";
AvailabilitySetResource availabilitySet = await availabilitySetCollection.GetAsync(availabilitySetName);
// delete the availability set
await availabilitySet.DeleteAsync(WaitUntil.Completed);
检查可用性集是否存在
如果您只想检查可用性集是否存在,可以使用CheckIfExists
函数。
ArmClient armClient = new ArmClient(new DefaultAzureCredential());
SubscriptionResource subscription = await armClient.GetDefaultSubscriptionAsync();
ResourceGroupCollection rgCollection = subscription.GetResourceGroups();
string rgName = "myRgName";
ResourceGroupResource resourceGroup = await rgCollection.GetAsync(rgName);
string availabilitySetName = "myAvailabilitySet";
bool exists = await resourceGroup.GetAvailabilitySets().ExistsAsync(availabilitySetName);
if (exists)
{
Console.WriteLine($"Availability Set {availabilitySetName} exists.");
}
else
{
Console.WriteLine($"Availability Set {availabilitySetName} does not exist.");
}
给可用性集添加标签
// First, initialize the ArmClient and get the default subscription
ArmClient armClient = new ArmClient(new DefaultAzureCredential());
// Now we get a ResourceGroupResource collection for that subscription
SubscriptionResource subscription = await armClient.GetDefaultSubscriptionAsync();
ResourceGroupCollection rgCollection = subscription.GetResourceGroups();
string rgName = "myRgName";
ResourceGroupResource resourceGroup = await rgCollection.GetAsync(rgName);
AvailabilitySetCollection availabilitySetCollection = resourceGroup.GetAvailabilitySets();
string availabilitySetName = "myAvailabilitySet";
AvailabilitySetResource availabilitySet = await availabilitySetCollection.GetAsync(availabilitySetName);
// add a tag on this availabilitySet
AvailabilitySetResource updatedAvailabilitySet = await availabilitySet.AddTagAsync("key", "value");
有关更多详细示例,请参阅我们可用的示例。
故障排除
- 通过GitHub Issues提交问题。
- 在Stack Overflow上检查以前的提问或使用Azure和.NET标签提出新的问题。
下一步
更多示例代码
更多文档
有关Azure SDK的更多信息,请参阅此网站。
贡献
有关为该存储库做出贡献的详细信息,请参阅贡献指南。
本项目欢迎贡献和建议。大多数贡献都需要您同意一个贡献者许可协议(CLA),声明您有权且确实授予我们使用您的贡献的权利。有关详细信息,请访问https://cla.microsoft.com。
当您提交拉取请求时,CLA-bot将自动确定您是否需要提供CLA,并以适当的方式装饰拉取请求(例如,标签,评论)。遵循机器人提供的说明。您只需在整个使用我们的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 Standard | netstandard2.0 兼容。 netstandard2.1 已计算。 |
.NET Framework | net461 已计算。 net462 已计算。 net463 已计算。 net47 已计算。 net471 已计算。 net472 已计算。 net48 已计算。 net481 已计算。 |
MonoAndroid | monoandroid 已计算。 |
MonoMac | monomac 已计算。 |
MonoTouch | monotouch 已计算。 |
Tizen | tizen40 已计算。 tizen60 已计算。 |
Xamarin.iOS | xamarinios 已计算。 |
Xamarin.Mac | xamarinmac 已计算。 |
Xamarin.TVOS | xamarintvos 已计算。 |
Xamarin.WatchOS | xamarinwatchos 已计算。 |
-
.NETStandard 2.0
- Azure.Core (>= 1.39.0)
- Azure.ResourceManager (>= 1.11.1)
- System.ClientModel (>= 1.0.0)
- System.Text.Json (>= 4.7.2)
NuGet 包 (5)
显示最依赖 Azure.ResourceManager.Compute 的前 5 个 NuGet 包
包 | 下载 |
---|---|
Neon.Kube.Azure
仅限内部使用:neonKUBE 针对 Azure 的托管管理器 |
|
ModularPipelines.Azure 与 Azure 交互的实用程序。 |
|
Cloudlib
包描述 |
|
Ngs.Agent.AzureResources
包描述 |
|
DotnetModularPipelines.Azure
与 Azure 交互的实用程序。 |
GitHub 仓库 (5)
显示最依赖 Azure.ResourceManager.Compute 的前 5 个流行的 GitHub 仓库
仓库 | 星级 |
---|---|
Azure/azure-sdk-for-net
此仓库用于 Azure SDK for .NET 的活跃开发。对于 SDK 的消费者,我们建议访问我们的公共开发者文档 https://learn.microsoft.com/dotnet/azure/ 或我们的版本化开发者文档 https://azure.github.io/azure-sdk-for-net。
|
|
microsoft/onefuzz
一个自托管的 Fuzzing-As-A-Service 平台
|
|
thomhurst/ModularPipelines
用 C# 编写你的流水线!
|
|
Stratus-Security/Subdominator
互联网最佳子域名接管工具
|
|
TheCloudTheory/arm-estimator
ACE (Azure 成本估算器) - 对 ARM 模板、Bicep 和 Terraform 的自动化成本估算
|
版本 | 下载 | 最后更新 |
---|---|---|
1.5.0 | 106,915 | 5/10/2024 |
1.5.0-beta.1 | 266 | 4/26/2024 |
1.4.0 | 116,650 | 2/23/2024 |
1.4.0-beta.1 | 247 | 1/26/2024 |
1.3.0 | 77,801 | 1/2/2024 |
1.2.1 | 59,955 | 11/24/2023 |
1.2.0 | 191,027 | 9/15/2023 |
1.2.0-beta.3 | 1,690 | 8/14/2023 |
1.2.0-beta.2 | 945 | 7/28/2023 |
1.2.0-beta.1 | 3,397 | 6/1/2023 |
1.1.0 | 371,582 | 2/15/2023 |
1.0.1 | 130,349 | 11/29/2022 |
1.0.0 | 270,559 | 7/11/2022 |
1.0.0-beta.9 | 36,407 | 6/14/2022 |
1.0.0-beta.8 | 25,604 | 4/8/2022 |
1.0.0-beta.7 | 1,268 | 3/31/2022 |
1.0.0-beta.6 | 13,729 | 1/29/2022 |
1.0.0-beta.5 | 28,612 | 12/28/2021 |
1.0.0-beta.4 | 10,783 | 12/2/2021 |
1.0.0-beta.3 | 11,810 | 10/29/2021 |
1.0.0-beta.2 | 4,763 | 9/14/2021 |
1.0.0-beta.1 | 6,063 | 8/31/2021 |