Bot sağlama ve yayımlama
ŞUNLAR IÇIN GEÇERLIDIR: SDK v4
Bu makalede botunuz için kaynak oluşturmak, botunuzu dağıtıma hazırlamak ve botunuzu Azure'a dağıtmak için Azure CLI'nin nasıl kullanılacağı açıklanır.
Bu makalede, dağıtılmaya hazır bir bota sahip olduğunuz varsayılır. Basit bir yankı botu oluşturma hakkında bilgi için bkz . Bot Framework SDK'sı ile bot oluşturma. Bot Framework Örnekleri deposunda sağlanan örneklerden birini de kullanabilirsiniz.
İpucu
Bu makalede botunuz için bir Azure Bot kaynağı oluşturulur. Web Uygulaması Bot kaynağı veya Bot Kanalları Kayıt kaynağı kullanan mevcut botlar çalışmaya devam eder, ancak bu kaynak türlerini kullanan yeni botlar oluşturamazsınız.
Not
Bot Framework JavaScript, C# ve Python SDK'ları desteklenmeye devam edecektir, ancak Java SDK'sı son uzun vadeli destek Kasım 2023'te sona erecek şekilde kullanımdan kaldırılacaktır.
Java SDK ile oluşturulan mevcut botlar çalışmaya devam edecektir.
Yeni bot derlemesi için Microsoft Copilot Studio'yu kullanmayı göz önünde bulundurun ve doğru copilot çözümünü seçme hakkında bilgi edinin.
Daha fazla bilgi için bkz . Bot oluşturmanın geleceği.
Önkoşullar
Java botları için Maven'i yükleyin.
Bu işlem, botunuz için kaynak oluşturmak için iki Azure Resource Manager şablonu (ARM şablonu) kullanır.
Geçerli şablonlarınız yoksa, bot projenizde deploymentTemplates klasörünün bir kopyasını oluşturun: C#, JavaScript, Python veya Java.
Botları sağlamak ve yayımlamak için Azure CLI'yı kullanmak için şunları yapmanız gerekir:
Etkin aboneliği olan bir Azure hesabı. Ücretsiz bir hesap oluşturun.
Azure CLI yüklemesi.
Programlama diliniz için Azure CLI'nın aşağıdaki sürümünü kullanın. Bazı adımlar CLI'nın sonraki sürümlerinde çalışmaz.
Dil CLI sürümü C# ve JavaScript 2.39.0 veya üzeri Python 2.55.0 veya üzeri Java 2.29.2
Not
Botunuz depolama hizmeti veya dil hizmetleri gibi ek kaynaklar kullanıyorsa bunların ayrı olarak dağıtılması gerekir.
Dağıtımınızı planlama
Başlamadan önce bu kararları verin.
Karar | Notlar |
---|---|
Azure'da bot kaynaklarınızın kimliklerini nasıl yöneteceksiniz? | Kullanıcı tarafından atanan yönetilen kimlik, tek kiracılı uygulama kaydı veya mutli kiracı uygulama kaydı kullanabilirsiniz. Daha fazla bilgi için bkz . Kimlik kaynağı oluşturma. |
Bot kaynaklarınızı hangi kaynak grubunda veya kaynak gruplarında oluşturacaksınız? | Bu işlemi bilene kadar tek bir kaynak grubu kullanmanızı öneririz. Daha fazla bilgi için bkz . Azure kaynaklarını yönetme. |
Botunuzun bölgesel mi yoksa küresel mi olacağı | Bölgesel botlar hakkında bilgi için bkz. Azure AI Bot Hizmeti'de bölgeselleştirme. |
Bot kimliğiniz Azure'da birkaç farklı yolla yönetilebilir.
- Kullanıcı tarafından atanan yönetilen kimlik olarak bot kimlik bilgilerini kendiniz yönetmeniz gerekmez.
- Tek kiracılı bir uygulama olarak.
- Çok kiracılı bir uygulama olarak.
C#, JavaScript ve Python için Bot Framework SDK'sına kullanıcı tarafından atanan yönetilen kimlik ve tek kiracılı uygulama türleri desteği eklendi. Bu uygulama türleri diğer dillerde veya Bot Framework Oluşturucu, Bot Framework Öykünücüsü veya Geliştirme Tünellerinde desteklenmez.
Uygulama türü | Destek |
---|---|
Kullanıcı tarafından atanan yönetilen kimlik | Azure AI Bot Hizmeti ve C#, JavaScript ve Python SDK'ları |
Tek kiracılı | Azure AI Bot Hizmeti ve C#, JavaScript ve Python SDK'ları |
Çok kiracılı | Azure AI Bot Hizmeti, tüm Bot Framework SDK dilleri, Composer, Öykünücü ve Geliştirme Tünelleri |
Önemli
Python botları, Windows hizmetlerini veya botlarını içeren bir kaynak grubuna dağıtılamaz. Ancak, aynı kaynak grubuna birden çok Python botu dağıtılabilir. Farklı bir kaynak grubunda Azure AI hizmetleri gibi başka hizmetler oluşturun.
Azure kaynakları
Botunuzu dağıtmadan önce, ihtiyaç duyacağı Azure kaynaklarını oluşturur (veya sağlarsınız). Bazı adımlar için mevcut bir kaynağı kullanabilir veya yeni bir kaynak oluşturabilirsiniz.
Oluşturacağınız yeni kaynakların adlarına ve kullanacağınız mevcut kaynakların adlarına önceden karar vermek yararlı olabilir. Botunuz bu tür kaynakları kullanır.
- Botu sağlamak, yayımlamak ve yönetmek için kullanacağınız Azure aboneliği
- Bir veya daha fazla kaynak grubu
- Kullanıcı tarafından atanan yönetilen kimlik veya Microsoft Entra Id uygulama kaydı
- App Service Planı kaynağı
- App Service kaynağı
- Azure Bot kaynağı
Kaynaklar arasında kullanılan bilgiler
Azure'da kaynak oluştururken Azure, sonraki adımlarda ihtiyacınız olan kimlikleri, parolaları ve diğer bilgileri oluşturur veya ister. Aşağıdaki tabloda, kaydetmeniz gereken kaynak adlarının ötesindeki bilgiler, hangi adımda oluşturulduğu ve hangi adımlarda kullanıldığı listelenir.
Dikkat
Bu kimliklerin ve parolaların çoğu hassas bilgilerdir. Yaygın güvenlik yönergeleri hakkında bilgi için bkz . Bot Framework güvenlik yönergeleri.
Bilgiler | Nerede oluşturuldu veya bulundu | Kullanıldığı yer |
---|---|---|
Kiracı kimliği | Oturum açın ve aboneliği seçin | App Service kaynağı oluşturmak için Azure CLI kullanma, Azure Bot kaynağı oluşturmak veya güncelleştirmek için Azure CLI kullanma, Proje yapılandırma ayarlarını güncelleştirme |
Uygulama türü | Kimlik kaynağı oluşturma | App Service kaynağı oluşturmak için Azure CLI kullanma, Azure Bot kaynağı oluşturmak veya güncelleştirmek için Azure CLI kullanma, Proje yapılandırma ayarlarını güncelleştirme |
Client ID | Kimlik kaynağı oluşturma | App Service kaynağı oluşturmak için Azure CLI kullanma, Azure Bot kaynağı oluşturmak veya güncelleştirmek için Azure CLI kullanma, Proje yapılandırma ayarlarını güncelleştirme |
Temel uygulama hizmeti URL'si | App Service kaynağı oluşturmak için Azure CLI kullanma | Azure Bot kaynağı oluşturmak veya güncelleştirmek için Azure CLI kullanma |
App Service adı | App Service kaynağı oluşturmak için Azure CLI kullanma | Botunuzu Azure'da yayımlama |
Oturum açın ve aboneliği seçin
Komut penceresi açın.
Azure'da oturum açın.
az login
- Bir tarayıcı penceresi açılır. Oturum açma işlemini tamamlayın.
- Başarılı olduğunda komut, hesabınızın erişim iznine sahip olduğu aboneliklerin listesini oluşturur.
Kullanılacak aboneliği ayarlamak için şunu çalıştırın:
az account set --subscription "<subscription>"
Abonelik> için<, kullanılacak aboneliğin kimliğini veya adını kullanın.
Kullanıcı tarafından atanan bir yönetilen kimlik veya tek kiracılı bir bot oluşturacaksanız aboneliğin kaydını
tenantId
oluşturun. Aşağıdaki adımlarda kiracı kimliğini kullanacaksınız.
İpucu
Genel olmayan bir bulutta çalışmanız gerekiyorsa bkz . Azure CLI ile Azure bulut yönetimi.
Kaynak grupları oluşturun
Henüz uygun bir kaynak grubunuz yoksa, ihtiyacınız olan yeni kaynak gruplarını oluşturmak için komutunu kullanın az group create
.
az group create --name "<group>" --location "<region>"
Seçenek | Açıklama |
---|---|
Adı | Oluşturulacak kaynak grubunun adı. |
konum | Kaynak grubunun oluşturulacağı bölge. |
Daha fazla bilgi için bkz . Azure CLI ile Azure kaynak gruplarını yönetme.
Kimlik kaynağı oluşturma
Kullanıcı tarafından atanan yönetilen kimlik oluşturmak için komutunu kullanın
az identity create
. Başarılı olduğunda komutu JSON çıkışı oluşturur.az identity create --resource-group "<group>" --name "<identity>"
Seçenek Açıklama resource-group Kimliğin oluşturulacağı kaynak grubunun adı. Adı Oluşturulacak kimlik kaynağının adı. Daha fazla bilgi için az identity başvurusuna bakın.
Sonraki adımlarda ihtiyacınız olacak değerleri kaydedin.
- Kimlik kaynağının kaynak grubu adı
- Kimlik kaynağının adı
clientId
komut çıkışından
ARM şablonlarıyla kaynak oluşturma
Botunuz için App Service ve Azure Bot kaynaklarını oluşturun.
Her iki adımda da kaynak veya kaynak oluşturmak için arm şablonu ve az deployment group create
Azure CLI komutu kullanılır.
Botunuz için bir App Service kaynağı oluşturun. App service yeni veya mevcut bir App Service Planı içinde olabilir.
Ayrıntılı adımlar için bkz . App Service oluşturmak için Azure CLI kullanma.
Botunuz için bir Azure Bot kaynağı oluşturun.
Ayrıntılı adımlar için bkz . Azure Botu oluşturmak veya güncelleştirmek için Azure CLI kullanma.
Önemli
Bu adımları her iki sırayla da yapabilirsiniz. Ancak önce Azure Botunuzu oluşturursanız App Service kaynağınızı oluşturduktan sonra mesajlaşma uç noktasını güncelleştirmeniz gerekir.
Proje yapılandırma ayarlarını güncelleştirme
Bot kimlik bilgileri
Botunuzun yapılandırma dosyasına kimlik bilgileri eklemek için bu adımları izleyin. Dosya, botu oluşturmak için kullandığınız programlama diline bağlı olarak farklılık gösterir.
Önemli
Bot Framework SDK'sının Java sürümü yalnızca çok kiracılı botları destekler. C#, JavaScript ve Python sürümleri bot kimliğini yönetmek için üç uygulama türünü de destekler.
Dil | Dosya adı | Notlar |
---|---|---|
C# | appsettings.json | Botunuzun kimliğini yönetmek için üç uygulama türünü de destekler. |
JavaScript | .Env | Botunuzun kimliğini yönetmek için üç uygulama türünü de destekler. |
Java | application.properties | Yalnızca çok kiracılı botları destekler. |
Python | config.py | Botunuzun kimliğini yönetmek için üç uygulama türünü de destekler. |
Eklemeniz gereken kimlik bilgileri botunun uygulama türüne bağlıdır. Yapılandırma dosyanızda aşağıdaki değerleri sağlayın.
C#, JavaScript ve Python botlarında kullanılabilir.
Özellik | Değer |
---|---|
MicrosoftAppType |
UserAssignedMSI |
MicrosoftAppId |
Kullanıcı tarafından atanan yönetilen kimliğin istemci kimliği. |
MicrosoftAppPassword |
Uygulanamaz. Kullanıcı tarafından atanan yönetilen kimlik botu için bunu boş bırakın. |
MicrosoftAppTenantId |
Kullanıcı tarafından atanan yönetilen kimliğin kiracı kimliği. |
Proje dosyalarınızı hazırlama
Botunuzu dağıtmadan önce proje dosyalarınızı hazırlayın.
Projenizin kök klasörüne geçin. C# için kök, .csproj dosyasını içeren klasördür.
Yayın modunda temiz bir yeniden derleme yapın.
Daha önce yapmadıysanız, yerel kaynak kodu dizininizin köküne gerekli dosyaları eklemek için komutunu çalıştırın
az bot prepare-deploy
. Bu komut bot proje klasörünüzde bir.deployment
dosya oluşturur.az bot prepare-deploy --lang Csharp --code-dir "." --proj-file-path "<my-cs-proj>"
Seçenek Açıklama Lang Botun dili veya çalışma zamanı. Csharp
adresini kullanın.code-dir Oluşturulan dağıtım dosyalarını yerleştirecek dizin. Projenizin kök klasörünü kullanın. Varsayılan, geçerli dizindir. proj-file-path Botunuzun seçeneğine göre .csproj dosyasının code-dir
yolu.Projenizin kök klasöründe, tüm dosyaları ve alt klasörleri içeren bir zip dosyası oluşturun.
Botunuzu Azure'da yayımlama
Bu noktada, botunuzun kodunu App Service kaynağınıza dağıtmaya hazırsınız.
Not
Bu adımın tamamlanması birkaç dakika sürebilir. Ayrıca, dağıtımın bitip botunuzun test edilebilir olması arasında birkaç dakika daha sürebilir.
Komut satırından az webapp deploy
komutunu çalıştırarak uygulama hizmetiniz (web uygulaması) için Kudu zip anında iletme dağıtımını kullanarak dağıtım gerçekleştirin.
Seçenek | Açıklama |
---|---|
resource-group | Botunuzu içeren Azure kaynak grubunun adı. |
Adı | Daha önce kullandığınız uygulama hizmetinin adı. |
src | Oluşturduğunuz sıkıştırılmış proje dosyasının mutlak veya göreli yolu. |
İpucu
Varsayılan olarak, bu komut üretim yuvasına dağıtılır. Farklı bir yuva belirtmek için isteğe bağlı --slot
parametresini kullanın.
Daha fazla bilgi için komut başvurusu belgelerine az webapp deploy
bakın.
Web Sohbetinde Test
- Tarayıcınızda Azure portalına gidin.
- Bot kaynağınıza gidin.
- Web Sohbeti bölmesinde Test'i açın.
- Dağıtılan botunuzla etkileşime geçin.
Bot kaydı hakkında daha fazla bilgi için bkz. Bot Hizmeti ile bot kaydetme.
Kaynakları temizleme
Bu uygulamayı yayımlamayacaksanız, aşağıdaki adımlarla ilişkili kaynakları silin:
- Azure portalında botunuzun kaynak grubunu açın.
- Grubu ve içerdiği tüm kaynakları silmek için Kaynak grubunu sil'i seçin.
- Onay bölmesine kaynak grubu adını girin ve Sil'i seçin.
- Tek kiracılı veya çok kiracılı bir uygulama oluşturduysanız:
- Microsoft Entra Id dikey penceresine gidin.
- Botunuz için kullandığınız uygulama kaydını bulun ve silin.
Ek kaynaklar
Bot barındırmak için kullanılan Azure uygulamaları ve kaynakları hakkında daha fazla bilgi için bu makalelere bakın.
Konu | Makale |
---|---|
Azure CLI | Azure CLI nedir? |
Azure abonelik yönetimi | Azure CLI ile Azure aboneliklerini yönetme |
Azure bölgeleri | Bölgeler ve kullanılabilirlik alanları |
Kaynak grupları ve kaynak yönetimi | Azure kaynaklarını yönetme |
Yönetilen kimlikler | Azure kaynakları için yönetilen kimlikler nedir? |
Tek kiracılı ve çok kiracılı uygulamalar | Microsoft Entra Id'de kiracılık |
Web uygulamaları | App Service |
Web uygulamaları için işlem kaynakları | App Service planları |
Azure Resource Manager şablonları (ARM şablonları) | ARM şablonları nedir? ve Azure Resource Manager (ARM) dağıtım şablonlarını Azure CLI ile kullanma |
Azure faturalandırması | Faturalama ve maliyet yönetimi |
Kudu dosyaları
Web uygulaması dağıtım komutu C#, JavaScript ve Python botlarını dağıtmak için Kudu kullanır. Botunuzun kodunu dağıtmak için yapılandırılmamış zip dağıtım API'sini kullanırken davranış aşağıdaki gibidir:
Kudu, varsayılan olarak .zip dosyalardan yapılan dağıtımların çalışmaya hazır olduğunu ve npm yükleme veya dotnet restore/dotnet publish gibi dağıtım sırasında ek derleme adımları gerektirmediğini varsayar.
Dağıtılmakta olan zip dosyasına gerekli tüm bağımlılıkları içeren yerleşik kodunuzu eklemeniz önemlidir; aksi takdirde botunuz istendiği gibi çalışmaz. Daha fazla bilgi için App Service'e dosya dağıtma hakkındaki Azure belgelerine bakın.