Botu Direct Line'a bağlama
Bu makalede, bir botu Direct Line kanalına nasıl bağlayacağınız açıklanmaktadır. İstemci uygulamanız aracılığıyla bir botla iletişim kurmak için bu kanalı kullanın.
Dekont
Direct Line, bir istemci uygulaması ile bot arasında iletişime izin veren, HTTPS protokolü üzerinden standart bir kanaldır. Bunun yerine ağ yalıtımına ihtiyacınız varsa WebSockets üzerinden Direct Line App Service Uzantısı'nı kullanın.
Ön koşullar
- Azure hesabı. Henüz bir hesabınız yoksa başlamadan önce ücretsiz bir hesap oluşturun.
- Azure'da yayımlanan mevcut bir bot.
Direct Line kanalını ekleme
yapmanız gereken ilk şey, Doğrudan Hat kanalını botunuza eklemektir.
- Azure portalına gidin.
- Azure Bot kaynağınıza gidin. Bot Ayarlar altında Kanallar'ı seçin.
- Kullanılabilir Kanallar listesinden Doğrudan Çizgi'yi seçin.
Botunuz artık Varsayılan siteyi kullanarak Direct Line kullanacak şekilde yapılandırıldı.
Alternatif olarak, varsayılan siteyi kullanmak yerine yeni bir site ekleyebilirsiniz. Yeni bir site oluşturmak için Doğrudan Hat kanalı sayfasındaki Yeni site düğmesini seçin.
Gizli dizi anahtarlarını yönetme
Doğrudan Kanal eklediğinizde Bot Framework gizli anahtarlar oluşturur. İstemci uygulamanız, botla iletişim kurmak için sorun oluşturan Direct Line API isteklerinin kimliğini doğrulamak için bu anahtarları kullanır. Daha fazla bilgi için bkz. Kimlik doğrulaması.
Bir sitenin Direct Line gizli dizisini düz metin olarak görüntülemek için Doğrudan Çizgi kanal sayfasına gidin.
Doğrudan Çizgi sekmesini ve ardından anahtarı almak istediğiniz siteyi (örneğin, Default_Site) seçin. Azure, Siteyi yapılandır bölmesini açar.
Gizli anahtarlar'ın altında ilgili anahtarın yanındaki göz simgesini seçin.
Anahtarı kopyalayın ve güvenli bir şekilde depolayın. İstemci uygulamanızın bir botla iletişim kurmak için karşılaştığı Direct Line API isteklerinin kimliğini doğrulamak için anahtarını kullanın.
Dekont
Gizli diziler istemci uygulamalarına sunulmamalı veya ekli olmamalıdır. Sonraki adıma bakın.
En iyi yöntem, bir belirtecin anahtarını değiştirmek için Doğrudan Hat API'sini kullanmaktır. Ardından istemci uygulaması, tek bir konuşma kapsamında isteklerinin kimliğini doğrulamak için belirteci kullanır.
Ayarları yapılandırma
Site ayarlarınızı yapılandırmak için:
Doğrudan Hat kanalı sayfasında, Siteler listesinden yapılandırmak istediğiniz siteyi seçin. Aşağıda gösterilen Siteyi yapılandır bölmesi açılır:
İstemci uygulamanızın bir botla iletişim kurmak için kullanacağı Direct Line protokol sürümünü seçin.
Bahşiş
İstemci uygulamanız ve botunuz arasında yeni bir bağlantı oluşturuyorsanız Direct Line API 3.0'ı kullanın.
İşiniz bittiğinde, site yapılandırmasını kaydetmek için Uygula'yı seçin. Botunuza bağlanmak istediğiniz her istemci uygulaması için yeni bir siteden başlayarak bu işlemi yineleyin.
Gelişmiş kimlik doğrulamayı yapılandırma
Kullanılabilir site yapılandırmalarından biri, bota bağlanırken güvenlik risklerini azaltmaya yardımcı olan Gelişmiş kimlik doğrulama seçenekleridir (örneğin, Web Sohbeti denetimi kullanılarak). Daha fazla bilgi için bkz . Direct Line gelişmiş kimlik doğrulaması.
Gelişmiş kimlik doğrulaması eklemek için:
Gelişmiş kimlik doğrulama seçeneklerini etkinleştirin. "En az bir güvenilir kaynağınız olmalıdır" ifadesini içeren bir ileti, Güvenilen kaynak ekle bağlantısıyla görüntülenir. Gelişmiş kimlik doğrulamasını etkinleştirirseniz en az bir güvenilir kaynak belirtmeniz gerekir.
Güvenilen kaynak, sistem tarafından kullanıcıların kimliğini doğrulamak için kullanılan bir etki alanıdır. Bu durumda, Direct Line bir belirteç oluşturmak için etki alanını kullanır.
- Güvenilen kaynakları yapılandırma kullanıcı arabirimi sayfasının bir parçası olarak yapılandırırsanız, bu ayarlar her zaman bir belirtecin oluşturulması için tek ayar olarak kullanılır. Belirteç oluştururken veya konuşma başlatırken ek güvenilir çıkış noktaları gönderme (veya güvenilir çıkış noktalarını yok olarak ayarlama) yoksayılır (listeye eklenmez veya çapraz doğrulanmaz).
- Gelişmiş kimlik doğrulamasını etkinleştirmediyseniz, API çağrıları kapsamında gönderdiğiniz herhangi bir kaynak URL kullanılır.
Güvenilen bir etki alanı URL'si ekledikten sonra Uygula'yı seçin.
Direct Line örnek botu
Bu konumdan bir .NET örneği indirebilirsiniz: Direct Line Bot Örneği.
Örnek iki proje içerir:
- DirectLineBot. Direct Line kanalı üzerinden bağlanmak için bir bot oluşturur.
- DirectLineClient. Bu, Direct Line kanalı aracılığıyla önceki botla konuşan bir konsol uygulamasıdır.
Doğrudan Hat API'si
Doğrudan Hat API'si kimlik bilgileri Azure Bot kaydından alınmalıdır ve çağıranın yalnızca oluşturulduğu bota bağlanmasına izin verir. Bot projesinde dosyayı bu değerlerle güncelleştirin
appsettings.json
.{ "MicrosoftAppId": "", "MicrosoftAppPassword": "" }
Azure portalında, kanallar listesinde Direct Line'ı etkinleştirin ve ardından Direct Line gizli dizisini yapılandırın. Sürüm 3.0 onay kutusunun işaretli olduğundan emin olun. Konsol istemci projesinde, dosyayı Direct Line gizli anahtarı ve bot tanıtıcısı (Bot Kimliği) ile güncelleştirin
App.config
.<appSettings> <add key="DirectLineSecret" value="YourBotDirectLineSecret" /> <add key="BotId" value="YourBotHandle" /> </appSettings>
Kullanıcı iletileri, daha önce oluşturulan kullanılarak Direct Line client Conversations.PostActivityAsync
yöntemi kullanılarak bota ConversationId
gönderilir.
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);
}
}
}