Konfigurera Node.js-robot för tillägg
Från och med den 1 september 2023 rekommenderar vi starkt att du använder Azure Service Tag-metoden för nätverksisolering. Användningen av DL-ASE bör begränsas till mycket specifika scenarier. Innan du implementerar den här lösningen i en produktionsmiljö rekommenderar vi att du ber supportteamet om vägledning.
GÄLLER FÖR: SDK v4
Den här artikeln beskriver hur du uppdaterar en Node.js-robot så att den fungerar med namngivna pipes och hur du aktiverar Direct Line App Service-tillägget i Azure App Service-resursen där roboten finns.
Förutsättningar
- Ett Azure-konto. Om du inte redan har ett skapar du ett kostnadsfritt konto innan du börjar.
- En Node.js-robot som distribuerats i Azure.
- Bot Framework SDK för Node.js, 4.7 eller senare.
Aktivera Direct Line App Service-tillägg
I det här avsnittet beskrivs hur du aktiverar Direct Line App Service-tillägget med hjälp av App Service-tilläggsnyckeln från robotens direct line-kanalkonfiguration.
Uppdatera robotkod
Så här tillåter du att din app använder Direct Line App Service-tillägget Med namnet Pipe:
Redigera robotens
index.js
fil.Leta upp raden där du skapar robotens adapter.
När adaptern har skapats lägger du till följande instruktion, som hämtar App Service-namnet från miljön och instruerar adaptern att ansluta till lämplig namngiven pipe.
Om roboten
CloudAdapter
använder (rekommenderas):adapter.connectNamedPipe( process.env.APPSETTING_WEBSITE_SITE_NAME + '.directline', async (context) => { await myBot.run(context); }, process.env.MicrosoftAppId, AuthenticationConstants.ToChannelFromBotOAuthScope);
Om roboten använder den inaktuella
BotFrameworkAdapter
:adapter.useNamedPipe(async (context) => { await myBot.run(context); }, process.env.APPSETTING_WEBSITE_SITE_NAME + '.directline' );
Spara dina ändringar.
Redigera robotens
web.config
fil för att lägga till denAspNetCore
hanterare och regel som krävs av Direct Line App Service-tillägget i tjänstbegäranden.Redigera robotens
web.config
fil.Ändra taggens
webSocket
enabled
attribut tilltrue
.<webSocket enabled="true" />
I avsnittet
<handlers>
lägger du till en registrering för följande hanterare.<add name="aspNetCore" path="*/.bot/*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
I avsnittet
<rewrite>
lägger du till följande regel i regellistan.<!-- Do not interfere with Direct Line App Service extension requests. (This rule should be as high in the rules section as possible to avoid conflicts.) --> <rule name ="DLASE" stopProcessing="true"> <conditions> <add input="{REQUEST_URI}" pattern="^/.bot"/> </conditions> </rule>
Spara dina ändringar.
Distribuera om den uppdaterade roboten till Azure.
Aktivera direct line app service-tillägget för robot
I Azure-portalen går du till din Azure Bot-resurs .
- Under Inställningar väljer du Kanaler för att konfigurera de kanaler som roboten accepterar meddelanden från.
- Om den inte redan är aktiverad väljer du direct line-kanalen i listan över tillgängliga kanaler för att aktivera kanalen.
- När du har aktiverat Direct Line väljer du den igen på sidan Kanaler .
- Välj fliken App Service-tillägg .
- Under App Service-tilläggsnycklar väljer du ögonikonen bredvid motsvarande nyckel.
Gå till startsidan och välj App Services överst på sidan. Du kan också visa portalmenyn och sedan välja menyalternativet App Services . Azure visar sidan App Services .
I sökrutan anger du ditt Azure Bot-resursnamn . Resursen visas.
Observera att om du hovra över ikonen eller menyalternativet får du en lista över dina senast visade resurser. Din Azure Bot-resurs visas troligen.
Välj resurslänken.
I avsnittet Inställningar väljer du menyalternativet Konfiguration.
Lägg till följande inställningar i den högra panelen:
Namn Värde DirectLineExtensionKey Värdet för App Service-tilläggsnyckeln som du kopierade tidigare. DIRECTLINE_EXTENSION_VERSION senaste Om roboten finns i ett nationellt eller på annat sätt begränsat Azure-moln, där du inte kommer åt Azure via den offentliga portalen, måste du också lägga till följande inställning:
Namn Värde DirectLineExtensionABSEndpoint Slutpunkten som är specifik för Azure-molnet som roboten finns i. För USGov-molnet är https://directline.botframework.azure.us/v3/extension
slutpunkten till exempel .I avsnittet Konfiguration väljer du avsnittet Allmänna inställningar och aktiverar webbsocketer.
Spara inställningarna genom att klicka på Spara. Detta startar om Azure App Service.
Bekräfta att Direct Line-tillägget och roboten har konfigurerats
Gå till https://<your_app_service>.azurewebsites.net/.bot
i webbläsaren. Om allt är korrekt returnerar sidan följande JSON-innehåll:
{"v":"123","k":true,"ib":true,"ob":true,"initialized":true}
- v visar versionsversionen av Direct Line App Service-tillägget.
- k anger om tillägget kunde läsa en tilläggsnyckel från konfigurationen.
- initierad anger om tillägget kunde ladda ned robotmetadata från Azure AI Bot Service.
- ib anger om tillägget kunde upprätta en inkommande anslutning till roboten.
- ob anger om tillägget kunde upprätta en utgående anslutning från roboten.
Felsökning
Om värdena ib och ob som visas av .bot-slutpunkten är falska kan inte roboten och Direct Line App Service-tillägget ansluta till varandra.
- Dubbelkolla att koden för att använda namngivna pipes har lagts till i roboten.
- Bekräfta att roboten kan startas och köras. Användbara verktyg är Test i WebChat, som ansluter ytterligare en kanal, fjärrfelsökning eller loggning.
- Starta om hela Azure App Service som roboten finns i för att säkerställa en ren start av alla processer.
Om det initierade värdet för .bot-slutpunkten är falskt kan direct line App Service-tillägget inte verifiera apptjänsttilläggsnyckeln som lagts till i robotens program Inställningar ovan.
- Bekräfta att värdet har angetts korrekt.
- Växla till den alternativa tilläggsnyckeln som visas på robotens sidan Konfigurera direktrad .