用途
Azure.ResourceManager.Fabric(.NET)是 Microsoft Fabric 容量资源的 Azure 资源管理器(ARM)管理平面 SDK,用于通过 Azure Resource Manager 预配和管理 Microsoft Fabric 容量资源。
该 SDK 仅覆盖管理平面,管理的是 Fabric 容量(计算资源)。如需操作 Fabric 工作区、lakehouse、warehouse 和数据项,应使用 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>
认证与资源层级
认证示例使用 DefaultAzureCredential,并建议始终使用该凭据,不要硬编码凭据。
资源层级:ArmClient → SubscriptionResource → ResourceGroupResource → FabricCapacityResource。
主要能力
- 创建 Fabric 容量:定义容量管理员(UPN 或对象 ID)、属性与 SKU(例如 FabricSku("F64", FabricSkuTier.Fabric)),通过 CreateOrUpdateAsync 创建,属于长时间运行操作。
- 获取 Fabric 容量:读取名称、位置、SKU、状态、预配状态等。
- 更新容量:调整 SKU(如从 F64 扩容到 F128)或变更管理员,使用 FabricCapacityPatch 调用 UpdateAsync。
- 暂停与恢复容量:SuspendAsync 暂停(停止计算计费),ResumeAsync 恢复。
- 删除容量:DeleteAsync。
- 列出容量:按资源组或订阅枚举。
- 检查名称可用性:使用 FabricNameAvailabilityContent 调用 CheckFabricCapacityNameAvailabilityAsync,返回是否可用及原因与消息。
- 列出可用 SKU:通过 GetSkusFabricCapacitiesAsync 列出订阅中可用 SKU 及位置;通过 GetSkusForCapacityAsync 列出已有容量可扩容到的 SKU。
SKU 参考
SKU 名称与容量单位(CU)及 Power BI 对应关系:F2=2;F4=4;F8=8(EM1/A1);F16=16(EM2/A2);F32=32(EM3/A3);F64=64(P1/A4);F128=128(P2/A5);F256=256(P3/A6);F512=512(P4/A7);F1024=1024(P5/A8);F2048=2048。
关键类型
ArmClient:所有 ARM 操作的入口点。FabricCapacityResource:表示 Fabric 容量实例。FabricCapacityCollection:容量 CRUD 操作集合。FabricCapacityData:容量创建/读取数据模型。FabricCapacityPatch:容量更新负载。FabricCapacityProperties:容量属性(管理员、状态)。FabricCapacityAdministration:管理员成员配置。FabricSku:SKU 配置(名称与层级)。FabricSkuTier:定价层(当前仅 "Fabric")。FabricProvisioningState:预配状态。FabricResourceState:资源状态。FabricNameAvailabilityContent:名称可用性检查请求。FabricNameAvailabilityResult:名称可用性检查响应。
预配状态(FabricProvisioningState):Succeeded、Failed、Canceled、Deleting、Provisioning、Updating。 资源状态(FabricResourceState):Active、Provisioning、Failed、Updating、Deleting、Suspending、Suspended、Pausing、Paused、Resuming、Scaling、Preparing。
使用方式与最佳实践
对必须完成后才能继续的操作使用 WaitUntil.Completed;需要手动轮询或并行运行时使用 WaitUntil.Started。始终使用 DefaultAzureCredential。针对 ARM API 错误处理 RequestFailedException。使用 CreateOrUpdateAsync 实现幂等操作。不使用时暂停容量,因为 Fabric 容量即使空闲也会对计算计费。对容量执行操作前检查预配状态。选择合适的 SKU,开发/测试可从 F2/F4 起步,生产环境再扩容。
错误处理可按 RequestFailedException 的 Status 区分:409(已存在或冲突)、400(无效配置)、403(权限不足或超出配额)等。
适用场景与限制
适用范围:Fabric 容量资源的预配、查询、扩容/缩容、管理员变更、暂停/恢复、删除、名称可用性检查与 SKU 查询。
注意事项:容量名称必须全局唯一,需在所有 Azure 订阅中唯一;暂停不会删除容量,暂停的容量仍然存在但不计计算费用;SKU 变更可能需要停机,扩容操作可能耗时数分钟;管理员 UPN 必须为有效的 Azure AD 用户;并非所有 SKU 在所有区域都可用,可用 GetSkusFabricCapacitiesAsync 检查;容量创建可能需要 5-15 分钟。
相关 SDK:Azure.ResourceManager.Fabric(管理平面,本 SDK)、Microsoft.Fabric.Api(数据平面操作,beta,安装需加 --prerelease)、Azure.ResourceManager(核心 ARM SDK)、Azure.Identity(认证)。
以上内容未提供的收费、价格、具体平台效果等信息,资料中暂未提供。