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.
Poznámka
Aktualizace hostitelů funkcí není podporována. Pokud chcete upravit capability host, musíte odstranit stávající host a vytvořit jej znovu s novou konfigurací.
Hostitelé schopností jsou dílčí prostředky, které konfigurujete jak na úrovni účtu Microsoft Foundry, tak i na úrovni projektu Foundry. Sdělí službě Foundry Agent Service, kam se mají ukládat a zpracovávat data agenta, včetně:
- Historie konverzací
- Nahrávání souborů
- Vektorová úložiště
Požadavky
- Projekt Microsoft Foundry
- Pokud používáte vlastní prostředky pro data agenta (standardní nastavení agenta), vytvořte požadované Azure prostředky a připojení:
- Požadovaná oprávnění:
- Role přispěvatele na účtu Foundry pro vytváření hostitelů funkcí
- User Access Administrator nebo Owner role pro přiřazení přístupu k prostředkům Azure (pro standardní instalaci agenta)
- Podrobnosti najdete v tématu Požádka oprávnění a Řízení přístupu na základě role (RBAC) v Microsoft Foundry.
Proč používat hostitele schopností?
Hostitelé schopností vám umožňují použít vlastní prostředky Azure místo použití výchozích prostředků platformy spravovaných Microsoftem. Získáte tyto možnosti:
- Data sovereignty – Zachovejte všechna data agenta v rámci předplatného Azure.
- Řízení zabezpečení – používejte vlastní účty úložiště, databáze a vyhledávací služby.
- Dodržování předpisů – Splnění konkrétních zákonných nebo organizačních požadavků
Jak fungují hostitelé schopností?
Vytváření capability hosts se nevyžaduje. Pokud chcete, aby agenti používali vaše vlastní prostředky Azure, vytvořte hostitele schopností jak na úrovni účtu, tak i projektu.
Výchozí chování (Microsoft spravované prostředky)
Pokud nevytvoříte hostitele funkcí, služba agenta automaticky používá Microsoft spravované Azure prostředky pro:
- Úložiště konverzací (historie konverzací, definice agentů)
- Úložiště souborů (nahrané dokumenty)
- Vektorové vyhledávání (vkládání a načítání)
Přineste si vlastní prostředky
Když vytváříte hostitele schopností na úrovni účtu i projektu, vaše Azure prostředky ukládají a zpracovávají data agenta. Toto je standardní nastavení agenta. Informace o zabezpečení služby agenta naleznete v tématu Nastavení privátní sítě pro Foundry Agent Service.
Další informace o standardním nastavení agenta najdete v tématu Připravenost integrovaného podniku s nastavením standardního agenta.
Poznámka
Pro standardní nastavení agenta a základní nastavení agenta doporučujeme používat samostatné účty a projekty Foundry. Vyhněte se kombinování typů nastavení ve stejném účtu Foundry.
Hierarchie konfigurace
Hostitelé funkcí fungují ve dvou odlišných oborech platnosti:
- Výchozí hodnoty služby (Microsoft-spravované vyhledávání a úložiště) – Používá se, když není nakonfigurovaný žádný hostitelský server.
- Hostitelská funkce na úrovni účtu – Povolí službu Agent na úrovni účtu.
- Hostitel funkcí na úrovni projektu – určuje, které prostředky BYO služba Agent Service používá pro daný konkrétní projekt.
Important
Hostitel funkcí na úrovni projektu slouží službě Agent Service k určení, které prostředky pro úložiště, konverzace a vektorové úložiště se mají pro projekt použít. Neexistuje žádná automatická dědičnost konfigurace prostředků BYO z hostitele funkcí účtu do projektu. I když hostitel schopností účtu odkazuje na připojení, Agent Service je pro projekt nepoužívá, pokud na tato připojení není explicitně odkazováno v hostiteli schopností projektu.
Pochopit omezení hostitele schopností
Při vytváření hostitelů schopností mějte na paměti tato důležitá omezení, abyste se vyhnuli konfliktům:
Jeden poskytovatel funkce pro každý rozsah: Každý účet a každý projekt může mít pouze jednoho aktivního poskytovatele funkce. Pokud se pokusíte vytvořit druhého hostitele schopností s jiným názvem ve stejném oboru, zobrazí se chyba 409.
Nemůžete aktualizovat konfigurace: Pokud potřebujete změnit konfiguraci, odstraňte existujícího hostitele funkcí a vytvořte ho znovu.
Předpoklad pro hostitele kapacit na úrovni účtu: Nemůžete vytvořit hostitele kapacit projektu, pokud hostitel kapacit na úrovni účtu již neexistuje.
Vytvoření připojení pro hostitele funkcí
Funkce hostuje referenční názvy připojení, které vytvoříte v účtu a projektu Foundry. Než nakonfigurujete hostitele funkcí projektu pro standardní nastavení agenta, vytvořte připojení pro prostředky, které ukládají data agenta:
- Úložiště konverzací: připojení Azure Cosmos DB
- Souborové úložiště: připojení Azure Storage
- Vectorové úložiště: připojení služby Azure AI Vyhledávač
Pokud chcete použít nasazení modelu z vašeho vlastního prostředku Azure OpenAI, vytvořte také připojení k Azure OpenAI.
Pokud chcete přidat připojení na portálu Foundry, přečtěte si téma Přidání nového připojení k projektu.
Požadované vlastnosti připojení
Aby služba Agent Service mohla za běhu správně rozpoznat a používat vaše prostředky, musí mít každé připojení, na které odkazuje hostitel schopností, vyplněné následující vlastnosti:
| Vlastnost | Description |
|---|---|
authType |
Typ ověřování pro připojení (například AAD) |
category |
Typ prostředku Azure (například AzureStorageAccount, AzureCosmosDb, CognitiveSearch) |
target |
Adresa URL koncového bodu služby pro prostředek (ne ID prostředku) |
metadata.ResourceId |
Úplné ID prostředku Azure |
Important
Pole metadata.ResourceId je povinné, aby služba Agent Service mohla za běhu správně vyhledat vaše prostředky. To platí pro připojení na úrovni projektu i na úrovni účtu, na něž odkazuje hostitel funkce.
Následující příklad ukazuje správně nakonfigurované připojení Azure Storage:
{
"properties": {
"authType": "AAD",
"category": "AzureStorageAccount",
"target": "https://{storageAccountName}.blob.core.windows.net/",
"metadata": {
"ResourceId": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{storageAccountName}"
}
}
}
Poznámka
Přestože šablony připojení mohou obsahovat další pole metadat, funkčními požadavky na správné rozlišení a chování za běhu jsou platné metadata.ResourceId a správně vyplněné vlastnosti authType, category a target.
Konfigurace hostitelů funkcí
V současné době spravujete hostitele schopností pomocí rozhraní REST API. Podpora sady SDK pro správu hostitelů funkcí není dostupná.
Požadované vlastnosti (hostitel schopností projektu)
Pokud chcete použít vlastní prostředky pro data agenta (standardní nastavení agenta), nakonfigurujte hostitele funkcí projektu s následujícími vlastnostmi:
| Vlastnost | Účel | Požadovaný prostředek Azure | Příklad názvu připojení |
|---|---|---|---|
threadStorageConnections |
Ukládá definice agenta a historii konverzací. | Azure Cosmos DB | "my-cosmosdb-connection" |
vectorStoreConnections |
Zpracovává vektorové úložiště pro načítání a vyhledávání. | Azure AI Vyhledávač | "my-ai-search-connection" |
storageConnections |
Spravuje nahrávání souborů a úložiště blobů. | účet Azure Storage | "my-storage-connection" |
Volitelná vlastnost
| Vlastnost | Účel | Požadovaný prostředek Azure | Kdy použít |
|---|---|---|---|
aiServicesConnections |
Použijte vlastní nasazení modelů | Azure OpenAI | Pokud chcete použít modely z existujícího modelu Azure OpenAI místo předdefinovaných modelů na úrovni účtu. |
Hostitel funkcí účtu
Pomocí hostitele funkcí účtu povolte službu agenta na úrovni účtu.
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/capabilityHosts/{name}?api-version=2025-06-01
{
"properties": {
"capabilityHostKind": "Agents"
}
}
Referenční informace: Rozhraní REST API pro správu účtů Foundry
Hostitel schopností projektu
Hostitel schopností pro projekt je to, z čeho služba Agent Service zjišťuje, které zdroje BYO má pro projekt použít. Všichni agenti v tomto projektu budou používat zdroje odkazované zde:
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/projects/{projectName}/capabilityHosts/{name}?api-version=2025-06-01
{
"properties": {
"capabilityHostKind": "Agents",
"threadStorageConnections": ["my-cosmos-db-connection"],
"vectorStoreConnections": ["my-ai-search-connection"],
"storageConnections": ["my-storage-account-connection"],
"aiServicesConnections": ["my-azure-openai-connection"]
}
}
Referenční informace: Hostitelé schopností projektu - Vytvořit nebo aktualizovat
Volitelné: Připojení na úrovni účtu s hostiteli funkcí projektu
Můžete také definovat připojení na úrovni účtu. Při vytvoření nového projektu v rámci tohoto účtu jsou tato připojení zděděna projektem. Konfigurace hostitele schopností projektu se však nedědí – stále musíte explicitně vytvořit hostitele schopností projektu a odkázat na připojení, která má Agent Service pro daný projekt používat.
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/capabilityHosts/{name}?api-version=2025-06-01
{
"properties": {
"capabilityHostKind": "Agents",
"threadStorageConnections": ["shared-cosmosdb-connection"],
"vectorStoreConnections": ["shared-ai-search-connection"],
"storageConnections": ["shared-storage-connection"]
}
}
Poznámka
Připojení definovaná na úrovni účtu jsou zděděna novými projekty. Konfigurace hostitele pro schopnosti projektu se však nedědí. Pokud chcete tato připojení použít se službou Agent Service, musíte vytvořit hostitele schopností projektu, který explicitně odkazuje na připojení na úrovni projektu.
Ověření konfigurace
Pomocí těchto kroků ověřte, že jsou hostitelé schopností správně nakonfigurovaní:
Získejte hostitele funkcí účtu a ověřte, že existuje.
GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/capabilityHosts?api-version=2025-06-01Získejte hostitele schopností projektu a potvrďte, že odkazuje na očekávané názvy připojení.
GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/projects/{projectName}/capabilityHosts?api-version=2025-06-01Otestujte konfiguraci vytvořením testovacího agenta a spuštěním konverzace. Potvrďte, že:
- Konverzace se zobrazí ve vašem Azure Cosmos DB.
- Nahrané soubory se zobrazí ve vašem účtu Azure Storage
- Vektorová data se zobrazí v indexu Azure AI Vyhledávač
Pokud aktualizujete připojení nebo chcete změnit umístění uložení dat, odstraňte a znovu vytvořte hostitele funkcí s aktualizovanou konfigurací.
Smazat hostitele schopností
Upozornění
Odstranění hostitele schopností ovlivňuje všechny agenty, kteří na něm závisejí. Než budete pokračovat, ujistěte se, že rozumíte dopadu. Pokud například odstraníte hostitele funkcí projektu a účtu, agenti v projektu už nemají přístup k souborům, konverzacím a úložištím vektorů, ke kterým dříve přistupovali.
Odstranění hostitele schopností na úrovni účtu
DELETE https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/capabilityHosts/{name}?api-version=2025-06-01
Odstranit hostitele schopností na úrovni projektu
DELETE https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/projects/{projectName}/capabilityHosts/{name}?api-version=2025-06-01
Řešení potíží
Pokud při vytváření hostitelů funkcí dochází k problémům, najdete v této části řešení nejběžnějších problémů a chyb.
Chyby konfliktu HTTP 409
Problém: Několik hostitelů schopností na jeden rozsah
Příznaky: Při pokusu o vytvoření hostitele schopností se zobrazí chyba 409 Konflikt, i když se domníváte, že obor je prázdný.
Chybová zpráva:
{
"error": {
"code": "Conflict",
"message": "There is an existing Capability Host with name: existing-host, provisioning state: Succeeded for workspace: /subscriptions/.../workspaces/my-workspace, cannot create a new Capability Host with name: new-host for the same ClientId."
}
}
Kořenová příčina: Každý účet a každý projekt může mít pouze jednoho aktivního hostitele schopností. Pokoušíte se vytvořit host schopností s jiným názvem, když už ve stejném oboru existuje.
Řešení:
- Kontrola existujících hostitelů schopností – Prozkoumejte možnosti a zjistěte, co už existuje.
- Použití konzistentního pojmenování – Ujistěte se, že používáte stejný název ve všech požadavcích na stejný obor.
- Kontrola požadavků – Zjistěte, jestli stávající hostitel schopností splňuje vaše potřeby.
Postup ověření: Pomocí požadavků GET v části Ověření konfigurace, ověřte, jestli hostitel funkcí již v cílovém oboru existuje.
Problém: Probíhající souběžné operace
Příznaky: Zobrazí se chyba 409 Konflikt označující, že je aktuálně spuštěna jiná operace.
Chybová zpráva:
{
"error": {
"code": "Conflict",
"message": "Create: Capability Host my-host is currently in non creating, retry after its complete: /subscriptions/.../workspaces/my-workspace"
}
}
Příčina: Pokoušíte se vytvořit hostitele funkcí, zatímco probíhá jiná operace (aktualizace, odstranění, úprava) ve stejném rozsahu.
Řešení:
- Počkejte na dokončení aktuální operace – Zkontrolujte stav probíhajících operací.
- Monitorování průběhu operace – Sledování dokončení pomocí rozhraní API operací
- Implementovat logiku opakování – Použití exponenciálního zpoždění pro dočasné konflikty
Monitorování operací:
GET https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.CognitiveServices/locations/{location}/operationResults/{operationId}?api-version=2025-06-01
Osvědčené postupy pro prevenci konfliktů
1. Ověření předběžné žádosti
Před provedením změn vždy ověřte aktuální stav:
- Dotazování stávajících hostitelů funkcí v cílovém rozsahu
- Kontrola probíhajících operací
- Vysvětlení aktuální konfigurace
2. Implementace logiky opakování s exponenciálním zpožováním
try
{
var response = await CreateCapabilityHostAsync(request);
return response;
}
catch (HttpRequestException ex) when (ex.Message.Contains("409"))
{
if (ex.Message.Contains("existing Capability Host with name"))
{
// Handle name conflict - check if existing resource is acceptable
var existing = await GetExistingCapabilityHostAsync();
if (IsAcceptable(existing))
{
return existing; // Use existing resource
}
else
{
throw new InvalidOperationException("Scope already has a capability host with different name");
}
}
else if (ex.Message.Contains("currently in non creating"))
{
// Handle concurrent operation - implement retry with backoff
await Task.Delay(TimeSpan.FromSeconds(30));
return await CreateCapabilityHostAsync(request); // Retry once
}
}
3. Vysvětlení idempotentního chování
Systém podporuje idempotentní požadavky na vytváření:
- Stejný název + stejná konfigurace → Vrátí existující prostředek (200 OK)
- Stejný název + jiná konfigurace → Vrátí chybu 400 Chybný požadavek
- Jiný název → Vrátí konflikt 409
4. Pracovní postup změny konfigurace
Vzhledem k tomu, že aktualizace nejsou podporované, postupujte podle této sekvence změn konfigurace:
- Odstranění existujícího hostitele schopností
- Počkejte na dokončení odstranění.
- Vytvořte nového hosta s požadovanou konfigurací schopností
Běžné scénáře
- Vývoj a testování: Používejte prostředky spravované Microsoft. Není potřeba žádná konfigurace hostitele možností.
- Production s požadavky na dodržování předpisů: Vytvářejte funkční hostitele s vašimi Azure Cosmos DB, úložišti a vyhledáváním AI.
- Sdílené prostředky napříč projekty: Nakonfigurujte připojení na úrovni účtu a pak vytvořte hostitele schopností projektu pro každý projekt, který tato připojení explicitně odkazuje.