我正在使用“botbuilder”库连接到我的azure 机器人。我的 azure 机器人有一个活跃的 Teams 频道。我想禁用对我的机器人服务的公共访问,因此我创建了一个专用终结点并禁用了 azure 机器人的公共访问。我需要如何更改 node.js 应用程序中的 BotFrameworkAdapter 配置,以便我的应用程序使用专用端点 FQDN 而不是机器人服务公共 url。
private createAdapter = () => {
this.adapter = new BotFrameworkAdapter(this.getConfiguration());
this.adapter.onTurnError = this.onTurnErrorHandler;
this.adapter.use(...this.middleware.loadBeforeRequestHandlers());
};
private getConfiguration = (): BotFrameworkAdapterSettings => {
const MicrosoftAppId = this.config.get('MICROSOFT_BOT_APP_ID');
const MicrosoftAppPassword = this.config.get('MICROSOFT_BOT_APP_SECRET');
return {
appId: MicrosoftAppId,
appPassword: MicrosoftAppPassword,
};
};
要使用 Node.js BotBuilder 库的专用端点向 Azure 机器人服务发送请求,您需要确保您的机器人配置为使用专用端点 URL 而不是公共端点 URL。首先,在 Azure 中为机器人服务设置专用终结点,并确保正确配置 DNS,以便机器人将服务主机名解析为与专用终结点关联的专用 IP。在 Node.js 代码中,通过设置 baseUrl 属性修改 BotFrameworkAdapter 以使用专用端点 URL。如果需要,请在应用程序中配置代理以通过专用网络路由请求。确保所有必要的网络安全设置(例如 NSG)允许进出专用端点的流量。最后,测试您的配置以确认请求通过专用端点正确路由。