【Azure Bot Service】在中国区Azure上部署机器人的 Python 版配置
问题描述
在中国区Azure上使用Azure Bot Service服务,入门教程中创建机器人由四种语言的SDK可以选择(C#, Java, JavaScript 和 Python , 并且Java SDK也已经停用),所以可选的只有三种。

当选择使用Python SDK后,根据入门文档(使用 Bot Framework SDK 创建机器人:https://docs.azure.cn/zh-cn/bot-service/bot-service-quickstart-create-bot?view=azure-bot-service-4.0&tabs=python%2Cvs)本地测试通过,当需要把配置到中国区的Azure时候,却发现没有Python的配置介绍。

不用怕,本文就是来弥补Python SDK需要设置的参数!
问题解答
根据配置Azure Bot Service的文档步骤,也是需要配置云适配器来构建 Adapter对象
第一部分:使用 CloudAdapter 并加载配置文件config.py
from botbuilder.core import (
TurnContext,
)
from botbuilder.core.integration import aiohttp_error_middleware
from botbuilder.integration.aiohttp import CloudAdapter, ConfigurationBotFrameworkAuthentication
from botbuilder.schema import Activity, ActivityTypes
from config import DefaultConfig
....
CONFIG = DefaultConfig()
ADAPTER = CloudAdapter(ConfigurationBotFrameworkAuthentication(CONFIG))
第二部分:在 config.py 中添加如下配置项
import os """ Bot Configuration """ class DefaultConfig:
""" Bot Configuration """ PORT = 3978 APP_ID = os.environ.get("MicrosoftAppId", "your application id")
APP_PASSWORD = os.environ.get("MicrosoftAppPassword", "application secret value")
APP_TYPE = os.environ.get("MicrosoftAppType", "MultiTenant")
# APP_TYPE = os.environ.get("MicrosoftAppType", "SingleTenant")
APP_TENANTID = os.environ.get("MicrosoftAppTenantId", "") OAUTH_URL = os.environ.get("OAuthUrl", "https://token.botframework.azure.cn/")
TO_BOT_FROM_CHANNEL_TOKEN_ISSUER = os.environ.get("ToBotFromChannelTokenIssuer", "https://api.botframework.azure.cn") TO_BOT_FROM_CHANNEL_OPENID_METADATA_URL = os.environ.get("ToBotFromChannelOpenIdMetadataUrl", "https://login.botframework.azure.cn/v1/.well-known/openidconfiguration")
TO_BOT_FROM_EMULATOR_OPENID_METADATA_URL = os.environ.get("ToBotFromEmulatorOpenIdMetadataUrl", "https://login.partner.microsoftonline.cn/<your tenant id>/v2.0/.well-known/openid-configuration") TO_CHANNEL_FROM_BOT_LOGIN_URL = os.environ.get("ToChannelFromBotLoginUrl","https://login.partner.microsoftonline.cn/<your tenant id>")
#TO_CHANNEL_FROM_BOT_LOGIN_URL = os.environ.get("ToChannelFromBotLoginUrl","https://login.partner.microsoftonline.cn/microsoftservices.partner.onmschina.cn") #For Multi Tenant
TO_CHANNEL_FROM_BOT_OAUTH_SCOPE = os.environ.get("ToChannelFromBotOAuthScope", "https://api.botframework.azure.cn") VALIDATE_AUTHORITY = os.environ.get("ValidateAuthority", "true")
以上参数的值与C#和JavaScript一样,主要的问题是需要找到正确的参数名称 (上面的参数名称均是根据SDK的源码和参考文档中寻找)
参考资料
使用 Bot Framework SDK 创建机器人:https://docs.azure.cn/zh-cn/bot-service/bot-service-quickstart-create-bot?view=azure-bot-service-4.0&tabs=python%2Cvs
在由世纪互联运营的 Microsoft Azure 中配置机器人:https://learn.microsoft.com/zh-cn/azure/bot-service/how-to-deploy-china-cloud?view=azure-bot-service-4.0&tabs=javascript#configure-multitenant-bot
BotFrameworkAuthenticationFactory 类:https://learn.microsoft.com/zh-cn/python/api/botframework-connector/botframework.connector.auth.bot_framework_authentication_factory.botframeworkauthenticationfactory?view=botbuilder-py-latest
【Azure Bot Service】在中国区Azure上部署机器人的 Python 版配置的更多相关文章
- How to Build a Chat Bot Using Azure Bot Service and Train It with LUIS
Introduction If you haven’t had much programming experience before, building a conversational bot an ...
- Windows Azure Cloud Service (43) 使用Azure In-Role Cache缓存(2)Dedicated Role
<Windows Azure Platform 系列文章目录> Update 2016-01-12 https://azure.microsoft.com/zh-cn/documentat ...
- 【Azure 云服务】如何从Azure Cloud Service中获取项目的部署文件
问题描述 在历史已经部署的云服务(Azure Cloud Service)中,如何获取到项目在很久以前的部署包文件呢? 解决办法 1)如果部署云服务是通过门户上传部署包到存储账号中,则可以直接从存储账 ...
- Windows Azure Cloud Service (36) 在Azure Cloud Service配置SSL证书
<Windows Azure Platform 系列文章目录> 在某些时候,我们需要在Azure PaaS Cloud Service配置HTTPS连接.本章将介绍如何在本地创建证书,然后 ...
- Windows Azure Cloud Service (42) 使用Azure In-Role Cache缓存(1)Co-located Role
<Windows Azure Platform 系列文章目录> Update 2016-01-12 https://azure.microsoft.com/zh-cn/documentat ...
- 通过Azure bot framework composer 设计一个AI对话机器人bot(查询天气)
本文介绍通过机器人框架设计器 (Bot framework composer)接近拖拉拽的方式设计一个聊天机器人,该聊天机器人的主要功能是发起http请求查询天气.当然,稍微变通下,可以用来查询几乎任 ...
- windows server服务器上部署java+tomcat网站域名配置
如果只是部署java项目的话,可以把IIS删除,然后在服务器上安装jdk tomcat 配置好环境变量,就和你在自己计算机上开发一样,把你的项目war包拷到tomcat下的webapps里(任意目录都 ...
- centos上部署flask项目之环境配置-MySQL的安装
1.添加mysql 的yum源 wget 'https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm' rpm ...
- 同一台服务器上部署多个Tomcat的配置修改方法
同一服务器部署多个tomcat时,存在端口号冲突的问题,所以需要修改tomcat配置文件server.xml,以tomcat7为例. 首先了解下tomcat的几个主要端口: <Server po ...
- ASP.NET Core在Azure Kubernetes Service中的部署和管理
目录 ASP.NET Core在Azure Kubernetes Service中的部署和管理 目标 准备工作 注册 Azure 账户 AKS文档 进入Azure门户(控制台) 安装 Azure Cl ...
随机推荐
- python ast模块使用
ast(Abstract Syntax Trees)是python中非常有用的一个模块,我们可以通过分析python的抽象语法树来对python的代码进行分析和修改. ast作用在python代码的语 ...
- WPF的Image控件图片不能显示出来
在Visual studio中,将图片的属性的"生成操作"从"无"改为"资源". 最终解决问题:
- slf4j、logback、log4j、log4j2的区别
区别 slf4j是一个日志接口,自己没有具体实现日志系统,只提供了一组标准的调用api,这样将调用和具体的日志实现分离,使用slf4j后有利于根据自己实际的需求更换具体的日志系统,比如,之前使用的具体 ...
- Golang实现RPC
RPC 一.简介 远程过程调用(Remote Procedure Call,RPC)是一个计算机通信协议 : 该协议允许运行于一台计算机的程序调用另一台计算机的子程序,而程序员无需额 外地为这个交互作 ...
- Docker安装运行报错wsl问题排查方案
Docker运行报错wsl问题排查方案 在window中安装运行Docker Desktop时容易遇到有关wsl的报错问题,这里给出几个排查解决的方法用于记录. 排查步骤如下: 一.开启虚拟化问题 1 ...
- MinHook 对.NET底层的 SendMessage 拦截真实案例反思
一:背景 1. 讲故事 上一篇我们说到了 minhook 的一个简单使用,这一篇给大家分享一个 minhook 在 dump 分析中的实战,先看下面的线程栈. 0:044> ~~[138c]s ...
- SonarQube的使用
一.简单介绍 SonarQube是一种自动代码审查工具,用于检测代码中的错误,漏洞和代码异味.它可以与您现有的工作流程集成,以便在项目分支和拉取请求之间进行连续的代码检查,在很多企业中都会使用到,进行 ...
- 详解鸿蒙Next仓颉开发语言中的全屏模式
大家好,今天跟大家分享一下仓颉开发语言中的全屏模式. 和ArkTS一样,仓颉的新建项目默认是非全屏模式的,如果你的应用颜色比较丰富,就会发现屏幕上方和底部的留白,这是应用自动避让了屏幕上方摄像头区域和 ...
- 开源技术交流丨ChengYing部署Hadoop集群实战
一.直播介绍 上期雅泽同学对ChengYing是什么.有什么样的功能特性,如何快速入门做了介绍,本期海洋同学将会为大家分享ChengYing部署Hadoop集群实战的相关内容,欢迎大家积极参与. 二. ...
- 我的第一个 WinUI 3 程序,遇到了 5 次碰壁
为什么要学习 WinUI 3呢? Winform 程序,简单.直接.快速: Wpf 程序,丰富.多样.好看: WinUI3 呢?据说它是前两者的升级版,比它们更酷炫,性能更好,而且跨平台,是技术的前沿 ...