robot Csatlakozás Direct Line-ba
Ez a cikk azt ismerteti, hogyan csatlakoztathat robotot a Direct Line csatornához. Ezen a csatornán kommunikálhat egy robottal az ügyfélalkalmazáson keresztül.
Megjegyzés:
A Direct Line egy szabványos, HTTPS protokollon keresztüli csatorna, amely lehetővé teszi az ügyfélalkalmazás és a robot közötti kommunikációt. Ha inkább hálózatelkülönítést szeretne, használja a Direct Line App Service-bővítményt WebSocketsen keresztül.
Előfeltételek
- Egy Azure-fiók. Ha még nem rendelkezik ilyen fiókkal, a kezdés előtt hozzon létre egy ingyenes fiókot .
- Az Azure-ban közzétett meglévő robot.
A Közvetlen vonal csatorna hozzáadása
Első lépésként hozzá kell adnia a Direct Line csatornát a robothoz.
- Nyissa meg az Azure Portalt.
- Nyissa meg az Azure Bot-erőforrást. A Robot Gépház területen válassza a Csatornák lehetőséget.
- Válassza a Közvetlen vonal lehetőséget az elérhető csatornák listájából.
A robot most már úgy van konfigurálva, hogy a Direct Line-t használja az alapértelmezett webhely használatával.
Másik lehetőségként hozzáadhat egy új webhelyet az alapértelmezett hely helyett. Új webhely létrehozásához kattintson az Új webhely gombra a Direct Line csatorna lapján.
Titkos kulcsok kezelése
A Közvetlen csatorna hozzáadásakor a Bot Framework titkos kulcsokat hoz létre. Az ügyfélalkalmazás ezekkel a kulcsokkal hitelesíti a Direct Line API-kéréseket, amelyek a robottal való kommunikáció során problémát tapasztalnak. További információért lásd: Hitelesítés.
Ha egy webhely Közvetlen vonal titkos kódját egyszerű szövegben szeretné megtekinteni, lépjen a Közvetlen vonal csatorna lapjára.
Válassza a Közvetlen vonal fület, majd a kulcsot lekérni kívánt webhelyet, például Default_Site. Az Azure megnyitja a Webhely konfigurálása panelt.
A Titkos kulcsok területen válassza a szem ikont a megfelelő kulcs mellett.
Másolja és biztonságosan tárolja a kulcsot. A kulccsal hitelesítheti azokat a Direct Line API-kéréseket, amelyeket az ügyfélalkalmazás problémákat tapasztal a robottal való kommunikációhoz.
Megjegyzés:
A titkos kulcsokat nem szabad felfedni vagy beágyazni az ügyfélalkalmazásokba. Lásd a következő lépést.
Az ajánlott eljárás a Direct Line API használata a kulcs jogkivonatra való cseréjéhez. Az ügyfélalkalmazás ezután a jogkivonat használatával hitelesíti a kéréseit egyetlen beszélgetés hatókörén belül.
Beállítások konfigurálása
A webhely beállításainak konfigurálása:
A Közvetlen vonal csatorna lapján válassza ki a konfigurálni kívánt webhelyet a Webhelyek listából. Ekkor megnyílik a Webhely konfigurálása ablaktábla, amely alább látható:
Válassza ki azt a Direct Line protokollverziót, amellyel az ügyfélalkalmazás kommunikálni fog egy robottal.
Tipp.
Ha új kapcsolatot hoz létre az ügyfélalkalmazás és a robot között, használja a Direct Line API 3.0-t.
Ha végzett, a webhelykonfiguráció mentéséhez válassza az Alkalmaz lehetőséget. Ismételje meg ezt a folyamatot egy új webhelytől kezdve minden olyan ügyfélalkalmazásnál, amelyhez csatlakozni szeretne a robothoz.
Továbbfejlesztett hitelesítés konfigurálása
Az egyik elérhető helykonfiguráció a Továbbfejlesztett hitelesítési lehetőségek, amelyek segítenek csökkenteni a robothoz való csatlakozás biztonsági kockázatait (például a webchat vezérlő használatával). További információ: Direct Line továbbfejlesztett hitelesítés.
Továbbfejlesztett hitelesítés hozzáadása:
Engedélyezze a hitelesítési beállítások továbbfejlesztését. A "Legalább egy megbízható forrással kell rendelkeznie" üzenet jelenik meg egy Megbízható forrás hozzáadása hivatkozással. Ha engedélyezi a továbbfejlesztett hitelesítést, meg kell adnia legalább egy megbízható forrást.
A megbízható forrás a rendszer által a felhasználók hitelesítésére használt tartomány. Ebben az esetben a Direct Line a tartomány használatával hoz létre jogkivonatot.
- Ha a konfigurációs felhasználói felület oldalának részeként konfigurálja a megbízható forrásokat, a rendszer mindig ezeket a beállításokat használja csak a jogkivonatok létrehozásához. A jogkivonat létrehozásakor vagy a beszélgetés indításakor a rendszer figyelmen kívül hagyja a további megbízható forrásokat (vagy a megbízható forrásokat egyiknek sem állítja be) (a rendszer nem fűzi hozzá őket a listához vagy keresztellenőrzéshez).
- Ha nem engedélyezte a továbbfejlesztett hitelesítést, a rendszer az API-hívások részeként küldött forrás URL-címet fogja használni.
Megbízható tartomány URL-címének hozzáadása után válassza az Alkalmaz lehetőséget.
Közvetlen vonal példarobotja
A .NET-példát innen töltheti le: Direct Line Bot Sample.
A példa két projektet tartalmaz:
- DirectLineBot. Létrehoz egy robotot, amely direct line csatornán keresztül csatlakozik.
- DirectLineClient. Ez egy konzolalkalmazás, amely a Direct Line csatornán keresztül beszél az előző robottal.
Direct Line API
A Direct Line API hitelesítő adatait az Azure Bot-regisztrációból kell beszerezni, és csak azt engedélyezi a hívónak, hogy csatlakozzon ahhoz a robothoz, amelyhez létrehozták őket. A robotprojektben frissítse a fájlt ezekkel az
appsettings.json
értékekkel.{ "MicrosoftAppId": "", "MicrosoftAppPassword": "" }
Az Azure Portalon engedélyezze a Direct Line-t a csatornák listájában, majd konfigurálja a Direct Line titkos kódját. Győződjön meg arról, hogy a 3.0-s verzió jelölőnégyzete be van jelölve. A konzolügyfél-projektben frissítse a
App.config
fájlt a Direct Line titkos kulcsával és a robotfogóponttal (Bot ID).<appSettings> <add key="DirectLineSecret" value="YourBotDirectLineSecret" /> <add key="BotId" value="YourBotHandle" /> </appSettings>
A felhasználói üzeneteket a rendszer a korábban létrehozott Direct Line Client Conversations.PostActivityAsync
metódussal küldi el a robotnak ConversationId
.
while (true)
{
string input = Console.ReadLine().Trim();
if (input.ToLower() == "exit")
{
break;
}
else
{
if (input.Length > 0)
{
Activity userMessage = new Activity
{
From = new ChannelAccount(fromUser),
Text = input,
Type = ActivityTypes.Message
};
await client.Conversations.PostActivityAsync(conversation.ConversationId, userMessage);
}
}
}