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.
Cosmos DB ve službě Microsoft Fabric využívá výhradně Microsoft Entra ID pro ověřování a vestavěné role v datové rovině ke správě ověřování a autorizace. V této příručce použijete Id Microsoft Entra a váš přihlášený účet pro připojení k artefaktu Cosmos DB v Microsoft Fabric.
Důležité
Postup je podobný tomu, jakým se ověřuje, zda používáte instanční objekt, skupinu nebo jiný typ identity Entra ID od Microsoftu. Pokud chcete instančnímu objektu udělit možnost připojit se k Microsoft Fabric a databázi Cosmos DB, povolte v tenantovi Fabric nastavení "Instanční objekty můžou používat rozhraní Fabric API". Další informace najdete v tématu Nastavení tenanta Microsoft Fabric. Toto nastavení je ve výchozím nastavení povolené pro nové zákazníky.
Požadavky
Existující kapacita fabricu
- Pokud kapacitu Fabric nemáte, spusťte zkušební verzi Fabric.
Existující databáze Cosmos DB v systému Fabric
- Pokud ji ještě nemáte, vytvořte novou databázi Cosmos DB ve Fabric.
Identita s oprávněním ke čtení pro databázi ve Fabric.
- Další informace o oprávněních v systému Fabric viz Řízení přístupu.
Azure CLI (příkazový řádek nástroje Azure)
- Pokud ho ještě nemáte, nainstalujte Azure CLI.
- Python 3.12 nebo novější
- Node.js 22 nebo novější
- .NET SDK 9.0 nebo novější
Načtení koncového bodu Cosmos DB
Nejprve získejte koncový bod pro databázi Cosmos DB ve službě Fabric. Tento koncový bod se vyžaduje pro připojení pomocí sady Azure SDK.
Otevřete portál Fabric (https://app.fabric.microsoft.com).
Přejděte do existující databáze Cosmos DB.
V řádku nabídek databáze vyberte možnost Nastavení .
V dialogovém okně nastavení přejděte do části Připojení . Pak zkopírujte hodnotu pole koncového bodu pro databázi NoSQL služby Cosmos DB. Tuto hodnotu použijete v pozdějších krocích.
Ověřování v Azure CLI
Teď se ověřte v Azure CLI. Sada Azure SDK může k ověření vaší identity použít různé mechanismy ověřování, ale Azure CLI je univerzální a bezproblémovou možností v různých vývojářských jazycích.
V místním vývojovém prostředí otevřete terminál.
Ověření v Azure CLI pomocí
az login.az loginPodle interaktivních kroků proveďte vícefaktorové ověřování (MFA) a vyberte své předplatné.
Ověřte, že jste k účtu úspěšně přihlášeni tím, že ověříte svou identitu.
az ad signed-in-user showProhlédněte si výstup předchozího příkazu. Pole
idobsahuje identifikátor objektu aktuálně přihlášené identity.{ "@odata.context": "<https://graph.microsoft.com/v1.0/$metadata#users/$entity>", "businessPhones": [], "displayName": "Kai Carter", "givenName": "Kai", "id": "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb", "jobTitle": "Senior Sales Representative", "mail": "<kai@adventure-works.com>", "mobilePhone": null, "officeLocation": "Redmond", "preferredLanguage": null, "surname": "Carter", "userPrincipalName": "<kai@adventure-works.com>" }Poznámka:
V pojmech Microsoft Entra ID se tato identita označuje jako vaše lidská identita. Jedná se o typ identity, který se může připojit k databázím mezi mnoha různými typy, mezi které patří mimo jiné:
- Spravované identity (systémové nebo uživatelsky přiřazené)
- Identita pracovních zátěží
- Identity aplikací
- Identity zařízení
I když se tyto kroky zaměřují na použití identity uživatele pro připojení k databázi ve Fabricu, postup je podobný, pokud se připojujete pomocí jiného typu identity. Další informace o identitách najdete v tématu Základy identit.
Připojení pomocí sady Azure SDK
Nakonec se připojte pomocí Azure SDK sady k databázi Cosmos DB ve Fabric pomocí koncového bodu a vaší identity. Sada Azure SDK se dodává s jednotnou knihovnou identit , která automaticky zpracovává ověřování vaším jménem. Tento krok používá DefaultAzureCredential() typ, který automaticky najde správný typ identity na základě vašeho prostředí.
Poznámka:
Objekty přihlašovacích údajů Azure se v poznámkových blocích Microsoft Fabric nepodporují. Nelze použít DefaultAzureCredential pro autentizaci ke službě Cosmos DB ve Fabric. Abyste mohli provést ověření, musíte ve svých poznámkových blocích vytvořit vlastní objekt přihlašovacích údajů. Další informace najdete v části Ověřování do Cosmos DB ve službě Microsoft Fabric z poznámkových bloků Fabric.
from azure.cosmos.aio import CosmosClient
from azure.identity import DefaultAzureCredential
endpoint = "<cosmos-db-fabric-endpoint>"
credential = DefaultAzureCredential()
async with CosmosClient(endpoint, credential=credential) as client:
container = client.get_database_client("<database-name>").get_container_client("<container-name>")
nosql = "SELECT TOP 10 VALUE item.id FROM items AS item"
results = container.query_items(
query=nosql
)
items = []
async for item in results:
items.append(item)
for item in items:
print(item)
Poznámka:
Tato ukázka používá balíčky azure-identity a azure-cosmos z PyPI. Všimněte si použití azure.cosmos.aio pro podporu asynchronních operací.
import { Container, CosmosClient, CosmosClientOptions } from '@azure/cosmos'
import { TokenCredential, DefaultAzureCredential } from '@azure/identity'
const endpoint: string = '<cosmos-db-fabric-endpoint>';
const credential: TokenCredential = new DefaultAzureCredential();
const options: CosmosClientOptions = {
endpoint: endpoint,
aadCredentials: credential
};
const client: CosmosClient = new CosmosClient(options);
const container: Container = client.database('<database-name>').container('<container-name>');
const nosql = 'SELECT TOP 10 VALUE item.id FROM items AS item';
const querySpec = {
query: nosql
};
const response = await container.items.query(querySpec).fetchAll();
for (const item of response.resources) {
console.log(item);
}
Poznámka:
Tato ukázka používá balíček @azure/identity a @azure/cosmos z npm.
using Azure.Identity;
using Microsoft.Azure.Cosmos;
string endpoint = "<cosmos-db-fabric-endpoint>";
DefaultAzureCredential credential = new();
using CosmosClient client = new(endpoint, credential);
Container container = client
.GetDatabase("<database-name>")
.GetContainer("<container-name>");
string sql = "SELECT TOP 10 VALUE item.id FROM items AS item";
QueryDefinition query = new(sql);
FeedIterator<string> iterator = container.GetItemQueryIterator<string>(query);
while (iterator.HasMoreResults)
{
FeedResponse<string> response = await iterator.ReadNextAsync();
foreach (var item in response)
{
Console.WriteLine(item);
}
}
Poznámka:
Tato ukázka používá balíčky Azure.Identity a Microsoft.Azure.Cosmos z NuGetu.