Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Cosmos DB i Microsoft Fabric förlitar sig uteslutande på Microsoft Entra ID-autentisering och inbyggda dataplansroller för att hantera autentisering och auktorisering. I den här guiden använder du Microsoft Entra-ID och ditt inloggade konto för att ansluta till en Cosmos DB-artefakt i Microsoft Fabric.
Viktigt!
Stegen liknar den process som används för att autentisera om du använder tjänstens huvudnamn, grupp eller annan typ av Microsoft Entra-ID-identitet. Om du vill ge ett huvudnamn för tjänsten möjlighet att ansluta till Microsoft Fabric och Cosmos DB-databasen, aktiverar du inställningen "Tjänstens huvudnamn kan använda Fabric-API:er i Fabric-klientorganisationen. Mer information finns i Klientinställningar för Microsoft Fabric. Den här inställningen är aktiverad som standard för nya kunder.
Förutsättningar
En befintlig Fabric-kapacitet
- Om du inte har Fabric-kapacitet, starta en utvärderingsversion av Fabric.
En befintlig Cosmos DB-databas i Fabric
- Om du inte redan har en skapar du en ny Cosmos DB-databas i Fabric.
En identitet med läsbehörighet för databasen i Fabric
- För mer information om Fabric-behörigheter, se åtkomstkontroller.
Azure CLI (kommandoradsgränssnittet för Azure)
- Om du inte redan har det installerar du Azure CLI.
- Python 3.12 eller senare
- Node.js 22 eller senare
- .NET SDK 9.0 eller senare
Hämta Cosmos DB-slutpunkt
Hämta först slutpunkten för Cosmos DB-databasen i Fabric. Den här slutpunkten krävs för att ansluta med hjälp av Azure SDK.
Öppna Fabric-portalen (https://app.fabric.microsoft.com).
Gå till din befintliga Cosmos DB-databas.
Välj alternativet Inställningar i menyraden för databasen.
I dialogrutan Inställningar navigerar du till avsnittet Anslutning . Kopiera sedan värdet för fältet Slutpunkt för Cosmos DB NoSQL-databas . Du använder det här värdet i senare steg.
Autentisera till Azure CLI
Autentisera dig nu till Azure CLI. Azure SDK kan använda olika autentiseringsmekanismer för att verifiera din identitet, men Azure CLI är det mest universella och friktionsfria alternativet på olika utvecklarspråk.
Öppna en terminal i din lokala utvecklingsmiljö.
Autentisera till Azure CLI med .
az loginaz loginFölj de interaktiva stegen för att utföra multifaktorautentisering (MFA) och välj din prenumeration.
Kontrollera att ditt konto är inloggat genom att verifiera din identitet.
az ad signed-in-user showObservera utdata från föregående kommando. Fältet
idinnehåller huvud-ID:t (objekt) för den för närvarande inloggade identiteten.{ "@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>" }Anmärkning
I Microsoft Entra-ID-termer kallas den här identiteten för din mänskliga identitet. Det är en typ av identitet som kan ansluta till databaser bland många olika typer, inklusive, men inte begränsat till:
- Hanterade identiteter (system eller användartilldelade)
- Belastningsidentiteter
- Programidentiteter
- Enhetsidentiteter
Dessa steg fokuserar på att använda din mänskliga identitet för att ansluta till databasen i Fabric, men stegen är likartade om du ansluter med en annan identitetstyp. Mer information om identiteter finns i grunderna för identiteter.
Ansluta med Azure SDK
Slutligen använder du Azure SDK för att ansluta till Cosmos DB-databasen i Fabric med hjälp av slutpunkten och din identitet. Azure SDK levereras med ett enhetligt identitetsbibliotek som automatiskt hanterar autentisering åt dig. Det här steget använder typen DefaultAzureCredential() , som automatiskt hittar rätt identitetstyp baserat på din miljö.
Anmärkning
Azure-autentiseringsobjekt stöds inte i Microsoft Fabric-notebook-filer. Du kan inte använda DefaultAzureCredential för att autentisera mot Cosmos DB i Fabric. Du måste skapa ett anpassat autentiseringsobjekt i dina notebook-filer för att autentisera. För mer information, se Autentisera till Cosmos DB i Microsoft Fabric från Fabric Notebooks.
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)
Anmärkning
I det här exemplet används paketen azure-identity och azure-cosmos från PyPI. Observera användningen av azure.cosmos.aio för asynkront stöd.
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);
}
Anmärkning
I det här exemplet används paketen @azure/identity och @azure/cosmos från 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);
}
}
Anmärkning
I det här exemplet används paketen Azure.Identity och Microsoft.Azure.Cosmos från NuGet.