Appearance
使用 .NET 管理 Azure Durable Task 调度器资源
解决 Azure 资源自动化部署问题:通过 .NET SDK 实现对 Azure Durable Task Scheduler 的管理平面操作,支持自动创建调度器、配置 SKU 规格及管理任务中心(Task Hub)。
为什么需要这个技能
在构建大规模分布式工作流时,Durable Task 提供了强大的编排能力。但通常开发者容易混淆“管理平面(Management Plane)”和“数据平面(Data Plane)”。
如果你需要通过代码动态创建调度器、调整实例容量(Capacity)、配置网络 IP 白名单或管理资源保留策略,而不是启动具体的编排实例,那么你就需要掌握 Azure.ResourceManager.DurableTask 这一管理平面 SDK。它允许你将基础设施的配置纳入到 .NET 自动化流水线中。
适用场景
- 自动化运维:根据不同环境(开发/测试/生产)自动部署不同 SKU 的调度器。
- 动态扩展:通过代码根据负载需求实时更新 Dedicated SKU 的实例容量。
- 安全加固:自动化管理调度器的 IP 允许列表(IP Allowlist)。
- 资源清理:在 CI/CD 流程末尾自动删除临时创建的任务中心和调度器。
核心工作流
1. 安装与认证
首先安装必要的 NuGet 包:
bash
dotnet add package Azure.ResourceManager.DurableTask
dotnet add package Azure.Identity使用 DefaultAzureCredential 进行身份验证,这是 Azure SDK 的推荐做法,可自动处理本地开发环境与云端托管环境的凭据切换。
2. 创建调度器 (Scheduler)
调度器支持 Dedicated(固定容量,适用于生产)和 Consumption(无服务器,适用于开发)两种 SKU。
csharp
// 定义调度器配置
var schedulerData = new DurableTaskSchedulerData(AzureLocation.EastUS)
{
Properties = new DurableTaskSchedulerProperties
{
Sku = new DurableTaskSchedulerSku(DurableTaskSchedulerSkuName.Dedicated)
{
Capacity = 1
},
IPAllowlist = { "10.0.0.0/24" }
}
};
// 执行创建(长时运行操作)
var schedulerCollection = resourceGroup.Value.GetDurableTaskSchedulers();
var operation = await schedulerCollection.CreateOrUpdateAsync(
WaitUntil.Completed,
"my-scheduler",
schedulerData);3. 管理任务中心 (Task Hub)
任务中心是调度器下的逻辑隔离单位,必须在调度器创建后才能创建。
csharp
var taskHubData = new DurableTaskHubData();
var taskHubCollection = scheduler.GetDurableTaskHubs();
var hubOperation = await taskHubCollection.CreateOrUpdateAsync(
WaitUntil.Completed,
"my-taskhub",
taskHubData);4. 资源清理顺序
由于资源之间存在依赖关系,删除时必须遵循从底层到顶层的顺序:先删除 Task Hub 后删除 Scheduler。
下载和安装
下载 azure-resource-manager-durabletask-dotnet 中文版 Skill ZIP
解压后将目录放入你的 AI 工具 skills 文件夹,重启工具后即可使用。具体路径参考内附的 USAGE.zh.md。
你可能还需要
暂无推荐