Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Oturum havuzları yeni havuzlar için saniye altı oturum ayırma süreleri sağlar ve her oturumun yönetiminden ve yaşam döngüsünden sorumludur.
Konfigürasyon
için kullanılabilen az containerapp sessionpool createaşağıdaki parametreleri kullanarak oturum havuzlarının davranışını denetleyebilirsiniz.
| Amaç | Mülkiyet | Description |
|---|---|---|
| En fazla oturum sayısını ayarlama | max-sessions |
Havuzda izin verilen en fazla eşzamanlı oturum sayısı. Maksimum sınıra ulaşıldıktan sonra gelen istekler, havuza daha fazla oturum ayrılmadığını belirten bir 404 sunucu hatası ile geri döndürülür. |
| Bekleme süresi | cooldown-period |
Oturumun sonlandırılmadan önce boşta bulunabileceği saniye sayısı. Oturumun API'si her çağrıldığında boşta kalma süresi sıfırlanır. Değer, 300 ile 3600 arasında olmalıdır. |
| Hedef oturum miktarı | ready-sessions |
Havuzda hazır tutulacak hedef oturum sayısı. |
Havuz oluşturma
Havuz oluşturma işlemi, kod yorumlayıcı havuzu mu yoksa özel kapsayıcı havuzu mu oluşturduğunuza bağlı olarak biraz farklıdır.
Kod yorumlayıcı havuzu
Azure CLI kullanarak bir kod yorumlayıcısı oturum havuzu oluşturmak için aşağıdaki komutlarla Azure CLI'nın en son sürümlerine ve Azure Container Apps uzantısına sahip olduğunuzdan emin olun:
# Upgrade the Azure CLI
az upgrade
# Install or upgrade the Azure Container Apps extension
az extension add --name containerapp --upgrade --allow-preview true -y
az containerapps sessionpool create Havuzu oluşturmak için komutunu kullanın. Aşağıdaki örnek adlı my-session-poolbir Python kod yorumlayıcısı oturum havuzu oluşturur. komutunu çalıştırmadan önce öğesini kaynak grubu adınızla değiştirdiğinizden <RESOURCE_GROUP> emin olun.
az containerapp sessionpool create \
--name my-session-pool \
--resource-group <RESOURCE_GROUP> \
--location westus2 \
--container-type PythonLTS \
--max-sessions 100 \
--cooldown-period 300 \
--network-status EgressDisabled
Oturum havuzu oluştururken aşağıdaki ayarları tanımlayabilirsiniz:
| Setting | Description |
|---|---|
--container-type |
Kullanılacak kod yorumlayıcı türü. Desteklenen değerler , PythonLTSve NodeLTSdeğerlerini içerirShell. |
--max-sessions |
Eşzamanlı olarak izin verilen en fazla ayrılmış oturum sayısı. En büyük değer: 600. |
--cooldown-period |
Sonlandırmadan önce izin verilen boşta kalan saniye sayısı. Oturumun API'si her çağrıldığında boşta kalma süresi sıfırlanır. İzin verilen aralık 300 ile 3600 arasındadır. |
--network-status |
Oturumdan giden ağ trafiğine izin verilip verilmeyeceğini belirler. Geçerli değerler EgressDisabled (varsayılan) ve EgressEnabled'dir. |
Önemli
Çıkışı etkinleştirirseniz oturumda çalıştırılan kod İnternet'e erişebilir. Hizmet reddi saldırıları gibi kötü amaçlı etkinlikleri gerçekleştirmek için kullanılabildiğinden koda güvenilmediğinde dikkatli olun.
Yönetim API'sinin uç noktasını alma
LLM çerçevesi tümleştirmeleriyle veya doğrudan yönetim API'sinin uç noktalarını çağırarak kod yorumlayıcı oturumlarını kullanmak için havuzun yönetim API'sinin uç noktası gerekir.
Endpoint şu formatta bulunmaktadır: https://<REGION>.dynamicsessions.io/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/sessionPools/<SESSION_POOL_NAME>.
Bir oturum havuzu için yönetim API'sinin uç noktasını almak için komutunu kullanın az containerapps sessionpool show . komutunu çalıştırmadan önce öğesini kaynak grubu adınızla değiştirdiğinizden <RESOURCE_GROUP> emin olun.
az containerapp sessionpool show \
--name my-session-pool \
--resource-group <RESOURCE_GROUP> \
--query 'properties.poolManagementEndpoint' -o tsv
Özel konteyner havuzu
Özelleştirilmiş kapsayıcı oturum havuzu oluşturmak için bir kapsayıcı görüntüsü ve havuz yapılandırma ayarlarını sağlamanız gerekir.
HTTP isteklerini kullanarak her oturumu çağırır veya bunlarla iletişim kurarsınız. Özel kapsayıcı, bu istekleri yanıtlamak için belirttiğiniz bir bağlantı noktasında bir HTTP sunucusunu kullanıma sunmalıdır.
Azure CLI kullanarak özel bir kapsayıcı oturum havuzu oluşturmak için aşağıdaki komutlarla Azure CLI'nın en son sürümlerine ve Azure Container Apps uzantısına sahip olduğunuzdan emin olun:
az upgrade
az extension add --name containerapp --upgrade --allow-preview true -y
Özel kapsayıcı oturumu havuzları, iş yükü profilleri içeren bir Azure Container Apps ortamı gerektirir. Ortamınız yoksa, bir tane oluşturmak için az containerapp env create -n <ENVIRONMENT_NAME> -g <RESOURCE_GROUP> --location <LOCATION> komutunu kullanın.
az containerapp sessionpool create komutunu özel bir kapsayıcı oturum havuzu oluşturmak için kullanın.
Aşağıdaki örnek, özel kapsayıcı görüntüsüyle my-session-pooladlı myregistry.azurecr.io/my-container-image:1.0 bir oturum havuzu oluşturur.
İsteği göndermeden önce köşeli ayraçlar arasındaki <> yer tutucuları oturum havuzunuz ve oturum tanımlayıcınız için uygun değerlerle değiştirin.
az containerapp sessionpool create \
--name my-session-pool \
--resource-group <RESOURCE_GROUP> \
--environment <ENVIRONMENT> \
--registry-server myregistry.azurecr.io \
--registry-username <USER_NAME> \
--registry-password <PASSWORD> \
--container-type CustomContainer \
--image myregistry.azurecr.io/my-container-image:1.0 \
--cpu 0.25 --memory 0.5Gi \
--target-port 80 \
--cooldown-period 300 \
--network-status EgressDisabled \
--max-sessions 10 \
--ready-sessions 5 \
--env-vars "key1=value1" "key2=value2" \
--location <LOCATION>
Bu komut aşağıdaki ayarlarla bir oturum havuzu oluşturur:
| Parametre | Değer | Description |
|---|---|---|
--name |
my-session-pool |
Oturum havuzunun adı. |
--resource-group |
my-resource-group |
Oturum havuzunu içeren kaynak grubu. |
--environment |
my-environment |
Kapsayıcı uygulamasının ortamının adı veya kaynak kimliği. |
--container-type |
CustomContainer |
Oturum havuzunun container türü. Özel kapsayıcı oturumları için olmalıdır CustomContainer . |
--image |
myregistry.azurecr.io/my-container-image:1.0 |
Oturum havuzu için kullanılacak kapsayıcı görüntüsü. |
--registry-server |
myregistry.azurecr.io |
Kapsayıcı kayıt defteri sunucusu ana bilgisayar adı. |
--registry-username |
my-username |
Kapsayıcı kayıt defterinde oturum açmak için kullanılan kullanıcı adı. |
--registry-password |
my-password |
Kapsayıcı kayıt defterinde oturum açma parolası. |
--cpu |
0.25 |
Gerekli CPU çekirdek sayısı. |
--memory |
0.5Gi |
Gerekli bellek. |
--target-port |
80 |
Giriş trafiği için kullanılan oturum bağlantı noktası. |
--cooldown-period |
300 |
Oturumun sonlandırılmadan önce boşta bulunabileceği saniye sayısı. Oturumun API'si her çağrıldığında boşta kalma süresi sıfırlanır. Değer, 300 ile 3600 arasında olmalıdır. |
--network-status |
EgressDisabled |
Oturumdan giden ağ trafiğine izin verilip verilmeyeceğini belirler. Geçerli değerler EgressDisabled (varsayılan) ve EgressEnabled'dir. |
--max-sessions |
10 |
Aynı anda ayrılabilecek en fazla oturum sayısı. |
--ready-sessions |
5 |
Oturum havuzunda her zaman hazır olan hedef oturum sayısı. Oturumlar, havuz yenilendiğinden daha hızlı tahsis edilirse bu sayıyı artırın. |
--env-vars |
"key1=value1" "key2=value2" |
Kapsayıcıda ayarlanacağı ortam değişkenleri. |
--location |
"Supported Location" |
Oturum havuzunun konumu. |
Oturum havuzunun durumunu denetlemek için komutunu az containerapp sessionpool show kullanın:
az containerapp sessionpool show \
--name <SESSION_POOL_NAME> \
--resource-group <RESOURCE_GROUP> \
--query "properties.poolManagementEndpoint" \
--output tsv
Oturum havuzunu güncelleştirmek için komutunu kullanın az containerapp sessionpool update .
Önemli
Oturum güvenilmeyen kodu çalıştırmak için kullanılıyorsa, güvenilmeyen kodun erişmesini istemediğiniz bilgileri veya verileri eklemeyin. Kodun kötü amaçlı olduğunu ve kapsayıcıya ortam değişkenleri, gizli diziler ve dosyalar da dahil olmak üzere tam erişimi olduğunu varsayalım.
Yönetim uç noktası
Önemli
Oturum tanımlayıcısı, değerini oluşturup yönetirken güvenli bir işlem gerektiren hassas bilgilerdir. Bu değeri korumak için uygulamanızın her kullanıcının veya kiracının yalnızca kendi oturumlarına erişimi olduğundan emin olması gerekir.
Oturumlara erişimin güvenliğinin sağlanamaması, kullanıcılarınızın oturumlarında depolanan verilere yanlış veya yetkisiz erişime neden olabilir. Daha fazla bilgi için bkz . Oturum tanımlayıcıları
Havuzdaki oturumları yönetmek için aşağıdaki uç noktalar kullanılabilir:
| Uç nokta yolu | Yöntem | Description |
|---|---|---|
code/execute |
POST |
Bir oturumda kod yürütün. |
files/upload |
POST |
Oturuma dosya yükleme. |
files/content/{filename} |
GET |
Oturumdan dosya indirin. |
files |
GET |
Oturumdaki dosyaları listeleme. |
Havuzun yönetim API'si uç noktasını uç nokta yolu ile birleştirerek her uç nokta için tam URL oluşturursunuz. Sorgu dizesi oturum tanımlayıcısını içeren bir identifier parametre ve değerine api-versionsahip bir 2024-02-02-preview parametre içermelidir.
Örneğin: https://<REGION>.dynamicsessions.io/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/sessionPools/<SESSION_POOL_NAME>/code/execute?api-version=2024-02-02-preview&identifier=<IDENTIFIER>
Oturum havuzunun yönetim uç noktasını almak için komutunu az containerapp sessionpool show kullanın:
az containerapp sessionpool show \
--name <SESSION_POOL_NAME> \
--resource-group <RESOURCE_GROUP> \
--query "properties.poolManagementEndpoint" \
--output tsv
Havuz yönetimi uç noktasına yapılan tüm istekler bir taşıyıcı jeton içeren Authorization üst bilgi bulundurmalıdır. Havuz yönetimi API'siyle kimlik doğrulaması yapmayı öğrenmek için bkz. Kimlik doğrulaması.
Her API isteğinin oturum kimliğine sahip sorgu dizesi parametresini identifier de içermesi gerekir. Bu benzersiz oturum kimliği, uygulamanızın belirli oturumlarla etkileşim kurmasını sağlar. Oturum tanımlayıcıları hakkında daha fazla bilgi edinmek için bkz. Oturum tanımlayıcıları.
Görüntü önbelleğe alma
Bir oturum havuzu oluşturulduğunda veya güncelleştirildiğinde, Azure Container Apps havuzdaki kapsayıcı görüntüsünü önbelleğe alır. Bu önbelleğe alma, yeni oturum oluşturma işlemini hızlandırmaya yardımcı olur.
Görüntüde yapılan değişiklikler oturumlara otomatik olarak yansıtılmaz. Görüntüyü güncelleştirmek için oturum havuzunu yeni bir görüntü etiketiyle güncelleştirin. Yeni görüntünün çekildiğinden emin olmak için her görüntü güncelleştirmesi için benzersiz bir etiket kullanın.
İlgili içerik
Oturum türleri: Farklı dinamik oturum türleri hakkında bilgi edinin:
Öğreticiler: Doğrudan REST API ile veya bir LLM aracısı aracılığıyla çalışma:
- LLM aracısı kullanın:
- REST API'yi kullanma