Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Skupiny relací poskytují podsekundové časy přidělování relací pro nové skupiny; jsou zodpovědné za správu a životní cyklus každé relace.
Konfigurace
Chování fondů relací můžete řídit pomocí následujících parametrů, které je možné použít u az containerapp sessionpool create.
| Účel | Vlastnictví | Description |
|---|---|---|
| Nastavte maximální počet relací | max-sessions |
Maximální počet souběžných relací povolených ve fondu. Požadavky, které přicházejí po dosažení maximálního limitu, jsou vráceny s chybou serveru 404, která značí, že do fondu nejsou přidělovány žádné další relace. |
| Doba čekání | cooldown-period |
Počet sekund, po které může být relace nečinná, než je relace ukončena. Období nečinnosti se resetuje při každém volání rozhraní API relace. Hodnota musí být mezi 300 a 3600. |
| Cílové množství relací | ready-sessions |
Cílový počet relací, které mají být připravené ve fondu. |
Vytvořit bazén
Proces vytvoření fondu se mírně liší podle toho, jestli vytváříte fond interpretů kódu nebo vlastní fond kontejnerů.
Fond interpretů kódu
Pokud chcete vytvořit fond relací interpretu kódu pomocí Azure CLI, ujistěte se, že máte nejnovější verze Azure CLI a rozšíření Azure Container Apps pomocí následujících příkazů:
# 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 Pomocí příkazu vytvořte fond. Následující příklad vytvoří fond relací pro výklad kódu Pythonu s názvem my-session-pool. Před spuštěním příkazu nezapomeňte nahradit <RESOURCE_GROUP> názvem vaší skupiny prostředků.
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
Při vytváření fondu relací můžete definovat následující nastavení:
| Setting | Description |
|---|---|
--container-type |
Typ interpretu kódu, který se má použít. Mezi podporované hodnoty patří PythonLTS, NodeLTSa Shell. |
--max-sessions |
Maximální povolený počet přidělených sezení současně. Maximální hodnota je 600. |
--cooldown-period |
Počet povolených nečinných sekund před ukončením. Období nečinnosti se resetuje při každém volání rozhraní API relace. Povolený rozsah je mezi 300 a 3600. |
--network-status |
Určuje, jestli je odchozí síťový provoz z relace povolený. Platné hodnoty jsou EgressDisabled (výchozí) a EgressEnabled. |
Důležité
Pokud povolíte výchozí přenos dat, bude mít kód spuštěný v relaci přístup k internetu. Buďte opatrní, pokud je kód nedůvěryhodný, protože se dá použít k provádění škodlivých aktivit, jako jsou útoky na dostupnost služby.
Získání koncového bodu rozhraní API pro správu
Pokud chcete používat relace interpretu kódu prostřednictvím integrací s architekturou LLM nebo voláním koncových bodů API pro správu přímo, potřebujete koncový bod API pro správu daného fondu.
Koncový bod je ve formátu https://<REGION>.dynamicsessions.io/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/sessionPools/<SESSION_POOL_NAME>.
Pokud chcete načíst koncový bod rozhraní API pro správu pro fond relací, použijte az containerapps sessionpool show příkaz. Před spuštěním příkazu nezapomeňte nahradit <RESOURCE_GROUP> názvem vaší skupiny prostředků.
az containerapp sessionpool show \
--name my-session-pool \
--resource-group <RESOURCE_GROUP> \
--query 'properties.poolManagementEndpoint' -o tsv
Vlastní fond kontejnerů
Pokud chcete vytvořit vlastní fond relací pro kontejnery, musíte poskytnout obraz kontejneru a nastavení konfigurace fondu.
Každou relaci vyvoláte nebo komunikujete pomocí požadavků HTTP. Vlastní kontejner musí vystavit server HTTP na portu, který zadáte, aby na tyto požadavky reagoval.
Pokud chcete vytvořit vlastní fond relací kontejnerů pomocí Azure CLI, ujistěte se, že máte nejnovější verze Azure CLI a rozšíření Azure Container Apps tím, že použijete následující příkazy:
az upgrade
az extension add --name containerapp --upgrade --allow-preview true -y
Vlastní fondy relací kontejneru vyžadují prostředí Azure Container Apps s povoleným profilem úlohy. Pokud prostředí nemáte, vytvořte ho az containerapp env create -n <ENVIRONMENT_NAME> -g <RESOURCE_GROUP> --location <LOCATION> --enable-workload-profiles pomocí příkazu.
Pomocí příkazu az containerapp sessionpool create vytvořte vlastní fond relací kontejneru.
Následující příklad vytvoří pool sezení s názvem my-session-pool a vlastním kontejnerovým image myregistry.azurecr.io/my-container-image:1.0.
Před odesláním požadavku nahraďte zástupné symboly mezi hranatými závorkami <> příslušnými hodnotami pro váš fond relací a identifikátor relace.
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>
Tento příkaz vytvoří fond relací s následujícím nastavením:
| Parameter | Hodnota | Description |
|---|---|---|
--name |
my-session-pool |
Název fondu relací. |
--resource-group |
my-resource-group |
Skupina prostředků, která obsahuje fond relací. |
--environment |
my-environment |
Název prostředí aplikace kontejneru nebo ID prostředku. |
--container-type |
CustomContainer |
Typ kontejneru fondu relací. Musí to být CustomContainer pro vlastní relace kontejneru. |
--image |
myregistry.azurecr.io/my-container-image:1.0 |
Obraz kontejneru, který se má použít pro fond relací. |
--registry-server |
myregistry.azurecr.io |
Název hostitele serveru registru kontejneru. |
--registry-username |
my-username |
Uživatelské jméno pro přihlášení k registru kontejneru. |
--registry-password |
my-password |
Heslo pro přihlášení k registru kontejneru. |
--cpu |
0.25 |
Požadovaný počet jader procesoru (CPU). |
--memory |
0.5Gi |
Požadovaná paměť. |
--target-port |
80 |
Port relace používaný pro příchozí přenos dat. |
--cooldown-period |
300 |
Počet sekund, po které může být relace nečinná, než se relace ukončí. Období nečinnosti se resetuje při každém volání rozhraní API relace. Hodnota musí být mezi 300 a 3600. |
--network-status |
EgressDisabled |
Určuje, jestli je odchozí síťový provoz z relace povolený. Platné hodnoty jsou EgressDisabled (výchozí) a EgressEnabled. |
--max-sessions |
10 |
Maximální počet relací, které lze přidělit současně. |
--ready-sessions |
5 |
Cílový počet relací, které jsou neustále připravené ve fondu relací. Zvyšte toto číslo, pokud jsou relace přidělovány rychleji než je fond doplňován. |
--env-vars |
"key1=value1" "key2=value2" |
Proměnné prostředí, které se mají nastavit v kontejneru. |
--location |
"Supported Location" |
Umístění fondu relací. |
Pokud chcete zkontrolovat stav fondu relací, použijte az containerapp sessionpool show příkaz:
az containerapp sessionpool show \
--name <SESSION_POOL_NAME> \
--resource-group <RESOURCE_GROUP> \
--query "properties.poolManagementEndpoint" \
--output tsv
Pokud chcete aktualizovat fond relací, použijte az containerapp sessionpool update příkaz.
Důležité
Pokud se relace používá ke spuštění nedůvěryhodného kódu, nezahrnujte informace ani data, ke kterým nechcete, aby nedůvěryhodný kód přistupoval. Předpokládejme, že kód je škodlivý a má úplný přístup ke kontejneru, včetně jeho proměnných prostředí, tajných kódů a souborů.
Koncový bod správy
Důležité
Identifikátor relace je citlivá informace, která vyžaduje zabezpečený proces, když vytvoříte a spravujete jeho hodnotu. Aby byla tato hodnota chráněná, musí vaše aplikace zajistit, aby každý uživatel nebo tenant měl přístup jenom k vlastním relacím.
Pokud se nepodaří zabezpečit přístup k relacím, může dojít ke zneužití nebo neoprávněnému přístupu k datům uloženým v relacích uživatelů. Další informace naleznete v části Identifikátory relací.
Pro správu relací v poolu jsou k dispozici následující koncové body:
| Cesta ke koncovému bodu | Metoda | Description |
|---|---|---|
code/execute |
POST |
Spusťte kód v relaci. |
files/upload |
POST |
Nahrajte soubor do relace. |
files/content/{filename} |
GET |
Stáhněte si soubor z relace. |
files |
GET |
Vypište soubory v sezení. |
Úplnou adresu URL pro každý koncový bod vytvoříte zřetězením koncového bodu rozhraní API pro správu fondu s cestou koncového bodu. Řetězec dotazu musí obsahovat identifier parametr obsahující identifikátor relace a api-version parametr s hodnotou 2024-02-02-preview.
Příklad: https://<REGION>.dynamicsessions.io/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/sessionPools/<SESSION_POOL_NAME>/code/execute?api-version=2024-02-02-preview&identifier=<IDENTIFIER>
Pokud chcete načíst koncový bod správy fondu relací, použijte az containerapp sessionpool show příkaz:
az containerapp sessionpool show \
--name <SESSION_POOL_NAME> \
--resource-group <RESOURCE_GROUP> \
--query "properties.poolManagementEndpoint" \
--output tsv
Všechny požadavky na koncový bod správy fondu musí obsahovat hlavičku Authorization s tokenem typu Bearer. Informace o ověřování pomocí rozhraní API pro správu fondů najdete v tématu Ověřování.
Každý požadavek rozhraní API musí také obsahovat řetězec dotazu s parametrem identifier a ID relace. Toto jedinečné ID relace umožňuje vaší aplikaci pracovat s konkrétními relacemi. Další informace o identifikátorech relací najdete v tématu Identifikátory relací.
Ukládání obrázků do mezipaměti
Když je fond relací vytvořen nebo aktualizován, Azure Container Apps uloží image kontejneru do mezipaměti v tomto fondu. Cacheování pomáhá urychlit proces vytváření nových relací.
Žádné změny obrázku se automaticky neprojeví v relacích. Pokud chcete image aktualizovat, aktualizujte fond relací novou značkou image. Pro každou aktualizaci image použijte jedinečnou značku, abyste zajistili, že se nová image natáhne.
Související obsah
Typy relací: Seznamte se s různými typy dynamických relací:
Kurzy: Práce přímo s rozhraním REST API nebo prostřednictvím agenta LLM:
- Použití agenta LLM:
- Použití rozhraní REST API