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:

  1. Redigera robotens index.js fil.

    1. Leta upp raden där du skapar robotens adapter.

    2. 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'
        );
        
    3. Spara dina ändringar.

  2. Redigera robotens web.config fil för att lägga till den AspNetCore hanterare och regel som krävs av Direct Line App Service-tillägget i tjänstbegäranden.

    1. Redigera robotens web.config fil.

    2. Ändra taggens webSocket enabled attribut till true.

      <webSocket enabled="true" />
      
    3. I avsnittet <handlers> lägger du till en registrering för följande hanterare.

      <add name="aspNetCore" path="*/.bot/*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
      
    4. 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>
      
    5. Spara dina ändringar.

  3. Distribuera om den uppdaterade roboten till Azure.

Aktivera direct line app service-tillägget för robot

  1. I Azure-portalen går du till din Azure Bot-resurs .

    1. Under Inställningar väljer du Kanaler för att konfigurera de kanaler som roboten accepterar meddelanden från.
    2. Om den inte redan är aktiverad väljer du direct line-kanalen i listan över tillgängliga kanaler för att aktivera kanalen.
    3. När du har aktiverat Direct Line väljer du den igen på sidan Kanaler .
    4. Välj fliken App Service-tillägg .
    5. Under App Service-tilläggsnycklar väljer du ögonikonen bredvid motsvarande nyckel.
  2. 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 .

  3. 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.

  4. Välj resurslänken.

    1. I avsnittet Inställningar väljer du menyalternativet Konfiguration.

    2. 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
    3. 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/extensionslutpunkten till exempel .
    4. I avsnittet Konfiguration väljer du avsnittet Allmänna inställningar och aktiverar webbsocketer.

    5. 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.

    1. Dubbelkolla att koden för att använda namngivna pipes har lagts till i roboten.
    2. 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.
    3. 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.

    1. Bekräfta att värdet har angetts korrekt.
    2. Växla till den alternativa tilläggsnyckeln som visas på robotens sidan Konfigurera direktrad .

Nästa steg