用途
azure-mgmt-botservice-py 是 Azure Bot Service 的 Python 管理 SDK,用于创建、管理和配置 Azure Bot Service 资源,覆盖机器人(Bot)、通道(Channel)与连接(Connection)。该技能适用于需要通过 Python 代码以编程方式管理 Azure Bot Service 的场景。
安装与环境变量
安装命令:
pip install azure-mgmt-botservice pip install azure-identity
需要设置的环境变量:
AZURE_SUBSCRIPTION_ID=<your-subscription-id> AZURE_RESOURCE_GROUP=<your-resource-group>
认证方式
使用 DefaultAzureCredential 进行认证,并初始化 AzureBotService 客户端:
from azure.identity import DefaultAzureCredential from azure.mgmt.botservice import AzureBotService import os
credential = DefaultAzureCredential() client = AzureBotService( credential=credential, subscription_id=os.environ["AZURE_SUBSCRIPTION_ID"] )
主要能力
机器人管理
支持创建机器人(client.bots.create),可设置 location、SKU(如 F0)、kind、显示名称、描述、endpoint、msa_app_id、msa_app_type 等属性;支持获取机器人详情(client.bots.get),读取显示名称、endpoint、SKU;支持按资源组列出机器人(client.bots.list_by_resource_group)与按订阅列出全部机器人(client.bots.list);支持更新机器人(client.bots.update)与删除机器人(client.bots.delete)。
通道配置
支持创建通道(client.channels.create),文档示例包括:
- Microsoft Teams 通道(MsTeamsChannel),可设置 is_enabled;
- Direct Line 通道(DirectLineChannel),可配置站点列表,设置 site_name、is_enabled、is_v1_enabled、is_v3_enabled;
- Web Chat 通道(WebChatChannel),可配置站点列表,设置 site_name、is_enabled。
还支持获取通道详情(client.channels.get)与列出通道密钥(client.channels.list_with_keys),后者可访问 Direct Line 站点的 key。文档列出的通道类型还包括 SlackChannel(Slack 工作区集成)、FacebookChannel(Messenger 集成)、EmailChannel(邮件通信)。
OAuth 连接设置
支持创建连接设置(client.bot_connection.create),可设置 client_id、client_secret、scopes、service_provider_id;支持按 Bot 服务列出连接(client.bot_connection.list_by_bot_service)。
客户端操作
文档列出的操作对象包括:
- client.bots:机器人 CRUD 操作;
- client.channels:通道配置;
- client.bot_connection:OAuth 连接设置;
- client.direct_line:Direct Line 通道操作;
- client.email:Email 通道操作;
- client.operations:可用操作;
- client.host_settings:主机设置操作。
SKU 选项
文档列出两种 SKU:F0 为免费层(消息数量受限),S1 为标准层(消息数量不受限)。
最佳实践
- 使用 DefaultAzureCredential 进行认证;
- 开发阶段使用 F0 SKU,生产环境升级到 S1;
- 安全存储 MSA App ID/Secret,可使用 Key Vault;
- 仅启用需要的通道,以减少攻击面;
- 定期轮换 Direct Line 密钥;
- 尽可能为机器人连接使用托管标识;
- 为 Web Chat 通道配置正确的 CORS。
适用场景
需要通过 Python 代码创建、查询、更新、删除 Azure Bot Service 机器人,配置 Teams、Direct Line、Web Chat 等通道,管理 OAuth 连接设置或查询通道密钥时适用。
限制
仅当任务与上述范围明确匹配时使用该技能。不应将输出视为环境特定验证、测试或专家评审的替代。若缺少必要的输入、权限、安全边界或成功标准,应停止并请求澄清。具体收费、价格、平台范围与完整效果暂未提供。