
关于
Azure 资源管理器 .NET SDK,用于 Fabric 服务。
name: azure-mgmt-fabric-dotnet description: 用于 .NET 的 Azure Resource Manager Fabric SDK。 risk: unknown source: community date_added: '2026-02-27'
Azure.ResourceManager.Fabric (.NET)
用于通过 Azure Resource Manager 配置和管理 Microsoft Fabric 容量资源的管理平面 SDK。
仅限管理平面 此 SDK 管理 Fabric 容量(计算资源)。如需使用 Fabric 工作区、湖仓、数据仓库和数据项,请使用 Microsoft Fabric REST API 或数据平面 SDK。
安装
dotnet add package Azure.ResourceManager.Fabric
dotnet add package Azure.Identity
当前版本: 1.0.0 (GA - 2025年9月) API 版本: 2023-11-01 目标框架: .NET 8.0, .NET Standard 2.0
环境变量
AZURE_SUBSCRIPTION_ID=<your-subscription-id>
# 用于服务主体认证(可选)
AZURE_TENANT_ID=<tenant-id>
AZURE_CLIENT_ID=<client-id>
AZURE_CLIENT_SECRET=<client-secret>
认证
using Azure.Identity;
using Azure.ResourceManager;
using Azure.ResourceManager.Fabric;
// 始终使用 DefaultAzureCredential
var credential = new DefaultAzureCredential();
var armClient = new ArmClient(credential);
// 获取订阅
var subscription = await armClient.GetDefaultSubscriptionAsync();
资源层次结构
ArmClient
└── SubscriptionResource
└── ResourceGroupResource
└── FabricCapacityResource
核心工作流
1. 创建 Fabric 容量
using Azure.ResourceManager.Fabric;
using Azure.ResourceManager.Fabric.Models;
using Azure.Core;
// 获取资源组
var resourceGroup = await subscription.GetResourceGroupAsync("my-resource-group");
// 定义容量配置
var administration = new FabricCapacityAdministration(
new[] { "admin@contoso.com" } // 容量管理员(UPN 或对象 ID)
);
var properties = new FabricCapacityProperties(administration);
var sku = new FabricSku("F64", FabricSkuTier.Fabric);
var capacityData = new FabricCapacityData(
AzureLocation.WestUS2,
properties,
sku)
{
Tags = { ["Environment"] = "Production" }
};
// 创建容量(长时间运行的操作)
var capacityCollection = resourceGroup.Value.GetFabricCapacities();
var operation = await capacityCollection.CreateOrUpdateAsync(
WaitUntil.Completed,
"my-fabric-capacity",
capacityData);
FabricCapacityResource capacity = operation.Value;
Console.WriteLine($"Created capacity: {capacity.Data.Name}");
Console.WriteLine($"State: {capacity.Data.Properties.State}");
2. 获取 Fabric 容量
// 获取现有容量
var capacity = await resourceGroup.Value
.GetFabricCapacityAsync("my-fabric-capacity");
Console.WriteLine($"Name: {capacity.Value.Data.Name}");
Console.WriteLine($"Location: {capacity.Value.Data.Location}");
Console.WriteLine($"SKU: {capacity.Value.Data.Sku.Name}");
Console.WriteLine($"State: {capacity.Value.Data.Properties.State}");
Console.WriteLine($"Provisioning State: {capacity.Value.Data.Properties.ProvisioningState}");
3. 更新容量(扩展 SKU 或更改管理员)
var capacity = await resourceGroup.Value
.GetFabricCapacityAsync("my-fabric-capacity");
var patch = new FabricCapacityPatch
{
Sku = new FabricSku("F128", FabricSkuTier.Fabric), // 扩容
Properties = new FabricCapacityUpdateProperties
{
Administration = new FabricCapacityAdministration(
new[] { "admin@contoso.com", "newadmin@contoso.com" }
)
}
};
var updateOperation = await capacity.Value.UpdateAsync(
WaitUntil.Completed,
patch);
Console.WriteLine($"Updated SKU: {updateOperation.Value.Data.Sku.Name}");
4. 暂停和恢复容量
// 暂停容量(停止计算计费)
await capacity.Value.SuspendAsync(WaitUntil.Completed);
Console.WriteLine("Capacity suspended");
// 恢复容量
var resumeOperation = await capacity.Value.ResumeAsync(WaitUntil.Completed);
Console.WriteLine($"Capacity resumed. State: {resumeOperation.Value.Data.Properties.State}");
5. 删除容量
await capacity.Value.DeleteAsync(WaitUntil.Completed);
Console.WriteLine("Capacity deleted");
6. 列出所有容量
// 在资源组中
await foreach (var cap in resourceGroup.Value.GetFabricCapacities())
{
Console.WriteLine($"- {cap.Data.Name} ({cap.Data.Sku.Name})");
}
// 在订阅中
await foreach (var cap in subscription.GetFabricCapacitiesAsync())
{
Console.WriteLine($"- {cap.Data.Name} in {cap.Data.Location}");
}
7. 检查名称可用性
var checkContent = new FabricNameAvailabilityContent
{
Name = "my-new-capacity",
ResourceType = "Microsoft.Fabric/capacities"
};
var result = await subscription.CheckFabricCapacityNameAvailabilityAsync(
AzureLocation.WestUS2,
checkContent);
if (result.Value.IsNameAvailable == true)
{
Console.WriteLine("Name is available");
}
兼容工具
Claude CodeCursor
标签
后端开发
