Skip to content

使用 Python SDK 自动化管理 Microsoft Fabric 容量与资源

解决云资源手动配置低效问题:通过 Python SDK 实现对 Microsoft Fabric 容量(Capacity)的全生命周期管理,包括自动化扩缩容、成本控制(暂停/恢复)以及资源状态监控。

为什么需要这个技能

在企业级数据分析场景中,Microsoft Fabric 的容量管理直接影响到成本和性能。如果依赖 Azure 门户手动操作,在面对多个环境(开发、测试、生产)或需要根据业务周期动态调整资源时,效率极低且容易出错。

通过 azure-mgmt-fabric 库,开发者可以将容量管理集成到 CI/CD 流水线或自动化脚本中。例如,可以在非工作时间自动暂停容量以节省开支,或在数据处理高峰期自动将 SKU 从 F2 升级到 F64。

适用场景

  • 成本优化:编写定时脚本,在周末或夜间自动调用 begin_suspend 暂停容量,并在工作日 begin_resume 恢复。
  • 动态扩缩容:根据监控指标自动调用 begin_update 更改 SKU 等级(如从 F4 升级到 F16)。
  • 环境快速部署:在创建新的项目环境时,一键自动化部署所需的 Fabric 容量并配置管理员。
  • 资源审计:通过 list_by_subscription 快速遍历并汇总所有订阅下的容量使用情况和状态。

核心工作流

  1. 环境准备:安装 azure-mgmt-fabricazure-identity 库,并配置订阅 ID 与资源组环境变量。
  2. 身份认证:使用 DefaultAzureCredential 实现无密钥认证,确保安全地连接到 Azure 资源。
  3. 资源操作
    • 创建/更新:定义 FabricCapacity 模型(指定 Location 和 SKU),调用 begin_create_or_update
    • 状态控制:利用 begin_suspendbegin_resume 管理计费状态。
    • 查询验证:通过 get 方法检查容量当前的 state(如 Active, Paused)。
  4. 异步处理:由于资源变更属于长耗时操作(LRO),必须使用 .result() 等待操作完成或通过轮询监控进度。

代码实现

安装与认证

bash
pip install azure-mgmt-fabric
pip install azure-identity
python
from azure.identity import DefaultAzureCredential
from azure.mgmt.fabric import FabricMgmtClient
import os

credential = DefaultAzureCredential()
client = FabricMgmtClient(
    credential=credential,
    subscription_id=os.environ["AZURE_SUBSCRIPTION_ID"]
)

创建 Fabric 容量示例

python
from azure.mgmt.fabric.models import FabricCapacity, FabricCapacityProperties, CapacitySku

resource_group = os.environ["AZURE_RESOURCE_GROUP"]
capacity_name = "myfabriccapacity"

capacity = client.fabric_capacities.begin_create_or_update(
    resource_group_name=resource_group,
    capacity_name=capacity_name,
    resource=FabricCapacity(
        location="eastus",
        sku=CapacitySku(name="F2", tier="Fabric"),
        properties=FabricCapacityProperties(
            administration=FabricCapacityAdministration(members=["user@contoso.com"])
        )
    )
).result()

下载和安装

下载 azure-mgmt-fabric-py 中文版 Skill ZIP

解压后将目录放入你的 AI 工具 skills 文件夹,重启工具后即可使用。具体路径参考内附的 USAGE.zh.md

你可能还需要

暂无推荐