Azure Synapse Link voor Azure Cosmos DB configureren en gebruiken

VAN toepassing op: SQL api Azure Cosmos DB API voor MongoDb

Azure Synapse Link voor Azure Cosmos DB is een cloudeigen HTAP-functie (hybride transactionele en analytische verwerking) waarmee u bijna realtime analyses kunt uitvoeren op operationele gegevens in Azure Cosmos DB. Synapse Link zorgt voor een naadloze integratie tussen Azure Cosmos DB en Azure Synapse Analytics.

Azure Synapse Link is beschikbaar voor Azure Cosmos DB SQL API of voor Azure Cosmos DB API voor Mongo DB-accounts. Gebruik de volgende stappen om analytische query's uit te voeren met Azure Synapse Link voor Azure Cosmos DB:

U kunt ook de learn-module over het configureren van Azure Synapse Link voor Azure Cosmos DB.

Notitie

Als u door de klant beheerde sleutels wilt gebruiken met Azure Synapse Link, moet u de beheerde identiteit van uw account configureren in uw Azure Key Vault-toegangsbeleid voordat u Synapse Link in uw account inschakelen. Zie het artikel Door de klant beheerde sleutels configureren met behulp van Azure Cosmos DB-accounts voor meer informatie.

Notitie

Als u Full Fidelity Schema wilt gebruiken voor SQL API-accounts (CORE), kunt u de Azure Portal niet gebruiken om Synapse Link. Deze optie kan niet worden gewijzigd nadat Synapse Link is ingeschakeld in uw account en als u deze optie wilt instellen, moet u Azure CLI of PowerShell gebruiken. Raadpleeg de documentatie over de schemaweergave van de analytische opslag voor meer informatie.

Azure Portal

  1. Meld u aan bij de Azure Portal.

  2. Maak een nieuw Azure-accountof selecteer een bestaand Azure Cosmos DB account.

  3. Navigeer naar Azure Cosmos DB account en open het deelvenster Functies.

  4. Selecteer Synapse Link in de lijst met functies.

    De Synapse Link zoeken

  5. Vervolgens wordt u gevraagd om de synapse-koppeling voor uw account in teschakelen. Selecteer Inschakelen. Dit proces kan 1 tot 5 minuten duren.

    Functie Synapse Link inschakelen

  6. Uw account is nu ingeschakeld voor het gebruik van Synapse Link. Bekijk vervolgens hoe u voor analytische opslag ingeschakelde containers maakt om automatisch te beginnen met het repliceren van uw operationele gegevens van de transactionele opslag naar de analytische opslag.

Notitie

Als u Synapse Link schakelt u de analytische opslag niet automatisch in. Nadat u de Synapse Link voor het Cosmos DB account hebt ingeschakeld, moet u analytische opslag op containers inschakelen om aan de slag te gaan met Synapse Link.

Command-Line Tools

Schakel Synapse Link Azure CLI of PowerShell in Cosmos DB SQL API- of MongoDB-API-account in.

Azure CLI

Gebruik --enable-analytical-storage true voor zowel maak- als bijbewerkingen. U moet ook het type representatieschema kiezen. Voor SQL API-accounts kunt u gebruiken --analytical-storage-schema-type met de waarden of FullFidelity WellDefined . Gebruik altijd voor MongoDB --analytical-storage-schema-type FullFidelity API-accounts.

PowerShell

Gebruik EnableAnalyticalStorage true voor zowel maak- als bijbewerkingen. U moet ook het type representatieschema kiezen. Voor SQL API-accounts kunt u gebruiken --analytical-storage-schema-type met de waarden of FullFidelity WellDefined . Gebruik altijd voor MongoDB -AnalyticalStorageSchemaType FullFidelity API-accounts.

Een voor analytische opslag ingeschakelde container maken

U kunt analytische opslag in- of in Azure Cosmos DB container met behulp van een van de volgende opties.

Azure Portal

  1. Meld u aan bij de Azure Portal of de Azure Cosmos DB Explorer.

  2. Navigeer naar Azure Cosmos DB account en open het Data Explorer tabblad.

  3. Selecteer Nieuwe container en voer een naam in voor uw database, container, partitiesleutel en doorvoergegevens. Schakel de optie Analytische opslag in. Nadat u de analytische opslag hebt ingeschakeld, wordt er een container gemaakt met de eigenschap ingesteld op de analytical TTL standaardwaarde -1 (oneindige retentie). Deze analytische opslag die alle historische versies van records behoudt en later kan worden gewijzigd.

    Analytische opslag in Azure Cosmos DB container

  4. Als u eerder geen Synapse Link ingeschakeld voor dit account, wordt u gevraagd dit te doen, omdat het een vereiste is om een container met analytische opslag te maken. Als u hier om wordt gevraagd, selecteert u Synapse Link. Dit proces kan 1 tot 5 minuten duren.

  5. Selecteer OK om een analytische opslag te maken Azure Cosmos DB container.

  6. Nadat de container is gemaakt, controleert u of de analytische opslag is ingeschakeld door te klikken op Instellingen, direct onder Documenten in Data Explorer, en controleert u of de optie Analytical Store Time to Live is ingeschakeld.

Azure Cosmos DB SDK's

Stel de analytical TTL eigenschap in op de vereiste waarde om een container met analytische opslag te maken. Zie het artikel Ondersteunde waarden voor analytische TTL voor een lijst met toegestane waarden.

.NET SDK

Met de volgende code maakt u een container met analytische opslag met behulp van de .NET SDK. Stel de AnalyticalStoreTimeToLiveInSeconds eigenschap in seconden in op de vereiste waarde of gebruik voor oneindige -1 retentie. Deze instelling kan later worden gewijzigd.

// Create a container with a partition key, and analytical TTL configured to -1 (infinite retention)
ContainerProperties properties = new ContainerProperties()
{
    Id = "myContainerId",
    PartitionKeyPath = "/id",
    AnalyticalStoreTimeToLiveInSeconds = -1,
};
CosmosClient cosmosClient = new CosmosClient("myConnectionString");
await cosmosClient.GetDatabase("myDatabase").CreateContainerAsync(properties);

Java V4 SDK

Met de volgende code maakt u een container met analytische opslag met behulp van de Java V4 SDK. Stel de AnalyticalStoreTimeToLiveInSeconds eigenschap in seconden in op de vereiste waarde of gebruik voor oneindige -1 retentie. Deze instelling kan later worden gewijzigd.

// Create a container with a partition key and  analytical TTL configured to  -1 (infinite retention) 
CosmosContainerProperties containerProperties = new CosmosContainerProperties("myContainer", "/myPartitionKey");

containerProperties.setAnalyticalStoreTimeToLiveInSeconds(-1);

container = database.createContainerIfNotExists(containerProperties, 400).block().getContainer();

Python V4 SDK

Met de volgende code maakt u een container met analytische opslag met behulp van de Python V4 SDK. Stel de analytical_storage_ttl eigenschap in seconden in op de vereiste waarde of gebruik voor oneindige -1 retentie. Deze instelling kan later worden gewijzigd.

# Azure Cosmos DB Python SDK, for SQL API only.
# Creating an analytical store enabled container.

import azure.cosmos as cosmos
import azure.cosmos.cosmos_client as cosmos_client
import azure.cosmos.exceptions as exceptions
from azure.cosmos.partition_key import PartitionKey

HOST = 'your-cosmos-db-account-URI'
KEY = 'your-cosmos-db-account-key'
DATABASE = 'your-cosmos-db-database-name'
CONTAINER = 'your-cosmos-db-container-name'

# Client
client = cosmos_client.CosmosClient(HOST,  KEY )

# Database client
try:
    db = client.create_database(DATABASE)

except exceptions.CosmosResourceExistsError:
    db = client.get_database_client(DATABASE)

# Creating the container with analytical store enabled
try:
    container = db.create_container(
        id=CONTAINER,
        partition_key=PartitionKey(path='/id', kind='Hash'),analytical_storage_ttl=-1
    )
    properties = container.read()
    print('Container with id \'{0}\' created'.format(container.id))
    print('Partition Key - \'{0}\''.format(properties['partitionKey']))

except exceptions.CosmosResourceExistsError:
    print('A container with already exists')

Command-Line Tools

Stel de analytical TTL eigenschap in op de vereiste waarde om een container met analytische opslag te maken. Zie het artikel Ondersteunde waarden voor analytische TTL voor een lijst met toegestane waarden.

Azure CLI

Met de volgende opties maakt u een container met analytische opslag met behulp van Azure CLI. Stel de --analytical-storage-ttl eigenschap in seconden in op de vereiste waarde of gebruik voor oneindige -1 retentie. Deze instelling kan later worden gewijzigd.

PowerShell

Met de volgende opties maakt u een container met analytische opslag met behulp van PowerShell. Stel de -AnalyticalStorageTtl eigenschap in seconden in op de vereiste waarde of gebruik voor oneindige -1 retentie. Deze instelling kan later worden gewijzigd.

Analytische opslag inschakelen op een bestaande container

Notitie

Vanwege capaciteitsbeperkingen op de korte termijn moet u zich registreren om de Synapse Link uw bestaande containers in te stellen. Afhankelijk van de aanvragen die in behandeling zijn, kan het goedkeuren van deze aanvraag een dag tot een week duren. Instructies voor het controleren van de aanvraagstatus vindt u hieronder. Deze stap is eenmaal per abonnement vereist en voor alle nieuwe databaseaccounts is deze mogelijkheid ook ingeschakeld. U hebt ingebouwde Azure-rollen inzenders of beheerdersrollen voor uw abonnement nodig om uw aanvraag te kunnen registreren voor het gebruik van de bestaande containersfunctie. Als u problemen of vragen hebt, neem dan contact op met cosmosdbsynapselink@microsoft.com .

Notitie

U kunt analytische opslag in Azure Cosmos DB SQL API-containers. Deze mogelijkheid is algemeen beschikbaar en kan worden gebruikt voor productieworkloads.

Houd rekening met de volgende details bij het inschakelen Synapse Link uw bestaande containers:

  • Dezelfde isolatie van de prestaties van het proces voor automatische synchronisatie van de analytische opslag is van toepassing op de initiële synchronisatie en heeft geen invloed op de prestaties van uw OLTP-workload.

  • De initiële synchronisatie van een container met de totale tijd van de analytische opslag is afhankelijk van het gegevensvolume en de complexiteit van de documenten. Dit proces kan enkele seconden tot meerdere dagen duren. Gebruik de Azure Portal om de voortgang van de migratie te controleren.

  • De doorvoer van uw container of databaseaccount is ook van invloed op de totale initiële synchronisatietijd. Hoewel RU/s niet worden gebruikt in deze migratie, is het totale aantal beschikbare RU/s van invloed op de prestaties van het proces. U kunt de beschikbare RUS's van uw omgeving tijdelijk verhogen om het proces te versnellen.

  • U kunt geen query's uitvoeren op de analytische opslag van een bestaande container terwijl Synapse Link die container wordt ingeschakeld. Uw OLTP-workload wordt niet beïnvloed en u kunt gegevens normaal blijven lezen. Gegevens die na het begin van de initiële synchronisatie worden opgenomen, worden samengevoegd in de analytische opslag door het reguliere proces voor automatische synchronisatie van analytische opslag.

  • Momenteel worden bestaande MongoDB API-verzamelingen niet ondersteund. Het alternatief is om de gegevens te migreren naar een nieuwe verzameling die is gemaakt met analytische opslag ingeschakeld.

Notitie

Het is momenteel niet mogelijk om analytische opslag uit te schakelen vanuit een container. Klik hier voor meer informatie over prijzen voor analytische opslag.

Azure Portal

  1. Meld u aan bij de Azure Portal of de Azure Cosmos DB Explorer.
  2. Navigeer naar Azure Cosmos DB account en open het tabblad Synapse Link' in de sectie Integraties. Op dit tabblad kunt u het volgende doen:
  3. Klik op Registreren om goedkeuring voor uw abonnement aan te vragen. Als u de status van de aanvraag wilt bekijken, gaat u terug naar hetzelfde portalvenster.
  4. Wanneer dit is goedgekeurd, ziet u de lijst met containers van uw account en kunt u de containers selecteren waarop analytische opslag is ingeschakeld.
  5. U kunt desgewenst naar het tabblad Power BI gaan in de sectie Integraties om Power BI dashboards te maken op uw Synapse Link containers.

Command-Line Tools

Stel de analytical TTL eigenschap in op de vereiste waarde om een container met analytische opslag te maken. Zie het artikel Ondersteunde waarden voor analytische TTL voor een lijst met toegestane waarden.

Azure CLI

Gebruik de volgende stappen om analytische opslag in te stellen op een bestaande container met behulp van Azure CLI. Stel de --analytical-storage-ttl eigenschap in seconden in op de vereiste waarde of gebruik voor oneindige -1 retentie. Deze instelling kan later worden gewijzigd.

  • Registreer u voor goedkeuring met behulp van az feature registration create --namespace Microsoft.DocumentDB --name AnalyticalStoreMigration .
  • Controleer de aanvraagstatus met behulp van az feature registration show --namespace Microsoft.DocumentDB --name AnalyticalStoreMigration .
  • Werk Analytical ttl bij naar -1 na de goedkeuring van de aanvraag.
  • Controleer de migratiestatus in de Azure Portal.

PowerShell

Gebruik de volgende stappen om analytische opslag in te stellen op een bestaande container met behulp van PowerShell. Stel de -AnalyticalStorageTtl eigenschap in seconden in op de vereiste waarde of gebruik voor oneindige -1 retentie. Deze instelling kan later worden gewijzigd.

Optioneel: de time-to-live van de analytische opslag bijwerken

Nadat de analytische opslag is ingeschakeld met een bepaalde TTL-waarde, kunt u deze bijwerken naar een andere geldige waarde. U kunt de waarde bijwerken met behulp van de Azure Portal, Azure CLI, PowerShell of Cosmos DB SDK's. Zie het artikel Ondersteunde waarden voor analytische TTL voor meer informatie over de verschillende configuratieopties voor analytische TTL.

Azure Portal

Als u een voor analytische opslag ingeschakelde container hebt gemaakt via de Azure Portal, bevat deze de analytical TTL standaardwaarde -1 . Gebruik de volgende stappen om deze waarde bij te werken:

  1. Meld u aan bij de Azure Portal of de Azure Cosmos DB Explorer.
  2. Navigeer naar Azure Cosmos DB account en open het Data Explorer tabblad.
  3. Selecteer een bestaande container met analytische opslag ingeschakeld. Vouw deze uit en wijzig de volgende waarden:
    1. Open het venster Schaal en instellingen.
    2. Onder Instelling zoeken, analytische Storage Time to Live.
    3. Selecteer Aan (geen standaardinstelling) of selecteer Aan en stel een TTL-waarde in.
    4. Klik op Opslaan om de wijzigingen op te slaan.

.NET SDK

De volgende code laat zien hoe u de TTL voor analytische opslag bij kunt werken met behulp van de .NET SDK:

// Get the container, update AnalyticalStorageTimeToLiveInSeconds 
ContainerResponse containerResponse = await client.GetContainer("database", "container").ReadContainerAsync();
// Update analytical store TTL
containerResponse.Resource. AnalyticalStorageTimeToLiveInSeconds = 60 * 60 * 24 * 180  // Expire analytical store data in 6 months;
await client.GetContainer("database", "container").ReplaceContainerAsync(containerResponse.Resource);

Java V4 SDK

De volgende code laat zien hoe u de TTL voor analytische opslag bij kunt werken met behulp van de Java V4 SDK:

CosmosContainerProperties containerProperties = new CosmosContainerProperties("myContainer", "/myPartitionKey");

// Update analytical store TTL to expire analytical store data in 6 months;
containerProperties.setAnalyticalStoreTimeToLiveInSeconds (60 * 60 * 24 * 180 );  
 
// Update container settings
container.replace(containerProperties).block();

Python V4 SDK

Momenteel niet ondersteund.

Azure CLI

De volgende koppelingen laten zien hoe u de analytische TTL van containers kunt bijwerken met behulp van Azure CLI:

PowerShell

De volgende koppelingen laten zien hoe u de analytische TTL van containers kunt bijwerken met behulp van PowerShell:

Verbinding maken naar een Synapse-werkruimte

Gebruik de instructies in Verbinding maken Azure Synapse Link over toegang tot een Azure Cosmos DB-database vanuit Azure Synapse Analytics Studio met Azure Synapse Link.

Analytische opslag opvragen met Apache Spark voor Azure Synapse Analytics

Gebruik de instructies in het artikel Query Azure Cosmos DB analytical store using Spark 3 (Query's uitvoeren op analytische opslag met Behulp van Spark 3) voor het uitvoeren van query's met Synapse Spark 3. Dit artikel bevat enkele voorbeelden van hoe u met de analytische opslag kunt werken vanuit Synapse-gebaren. Deze gebaren zijn zichtbaar wanneer u met de rechtermuisknop op een container klikt. Met gebaren kunt u snel code genereren en aanpassen aan uw behoeften. Ze zijn ook ideaal voor het detecteren van gegevens met één klik.

Gebruik voor Spark 2-integratie de instructie in het artikel Query Azure Cosmos DB analytical store using Spark 2 (Query's uitvoeren op analytische opslag met behulp van Spark 2).

Query's uitvoeren op de analytische opslag met serverloze SQL in Azure Synapse Analytics

Met serverloze SQL kunt u gegevens in uw Azure Cosmos DB-containers opvragen en analyseren die zijn ingeschakeld met Azure Synapse Link. U kunt gegevens in bijna realtime analyseren zonder de prestaties van uw transactionele workloads te beïnvloeden. Het biedt een vertrouwde T-SQL-syntaxis voor het opvragen van gegevens uit de analytische opslag en geïntegreerde connectiviteit met een breed scala aan BI- en ad-hocqueryhulpprogramma's via de T-SQL-interface. Zie het artikel Query analytical store using serverless SQL pool (Analytische opslag opvragen met serverloze opslaggroep) voor meer informatie.

Serverloze SQL gebruiken om gegevens in een groep te analyseren en te Power BI

U kunt een serverloze pooldatabase SQL weergaven maken via Synapse Link voor Azure Cosmos DB. Later kunt u een query uitvoeren Azure Cosmos DB containers en vervolgens een model bouwen met Power BI weergaven om die query weer te geven. Er zijn geen gevolgen voor de prestaties of kosten voor uw transactionele workloads en er is geen complexiteit van het beheren van ETL-pijplijnen. U kunt directquery- of importmodi gebruiken. Zie het artikel Serverloze SQL gebruiken voor het analyseren van Azure Cosmos DB met Synapse Link voor meer informatie.

Aangepaste partitionering configureren

Met aangepaste partitionering kunt u analytische opslaggegevens partitioneren op velden die vaak worden gebruikt als filters in analytische query's, wat resulteert in verbeterde queryprestaties.Zie de inleiding tot aangepaste partitionering en artikelen over het configureren van aangepaste partitionering voor meer informatie.

Azure Resource Manager-sjabloon

Met Azure Resource Manager sjabloon maakt u een Synapse Link ingeschakeld Azure Cosmos DB-account voor SQL API. Met deze sjabloon maakt u een Core (SQL) API-account in één regio met een container die is geconfigureerd met analytische TTL ingeschakeld, en een optie voor het handmatig gebruiken of automatisch schalen van doorvoer. Als u deze sjabloon wilt implementeren, klikt u op implementeren in Azure op de leesmij-pagina.

U vindt voorbeelden om aan de slag te gaan met Azure Synapse Link op GitHub. Deze presenteren end-to-end oplossingen met IoT- en retailscenario's. U vindt de voorbeelden die overeenkomen met Azure Cosmos DB API voor MongoDB, ook in dezelfde repo onder de map MongoDB.

Volgende stappen

Zie de volgende documenten voor meer informatie: