Konfigurera och använda Azure Synapse Link för Azure Cosmos DB

GÄLLER för: SQL API Azure Cosmos DB API för MongoDB

Azure Synapse Link för Azure Cosmos DB är en molnbaserad funktion för transaktions- och analysbearbetning (HTAP) som gör att du kan köra analys i nästan realtid över driftdata i Azure Cosmos DB. Synapse Link en nära sömlös integrering mellan Azure Cosmos DB och Azure Synapse Analytics.

Azure Synapse Link är tillgängligt för Azure Cosmos DB SQL API eller för Azure Cosmos DB API för Mongo DB-konton. Använd följande steg för att köra analysfrågor med Azure Synapse Link för Azure Cosmos DB:

Du kan också läsa learn-modulen om hur du konfigurerar Azure Synapse Link för Azure Cosmos DB.

Anteckning

Om du vill använda kund hanterade nycklar med Azure Synapse Link måste du konfigurera kontots hanterade identitet i din Azure Key Vault-åtkomstprincip innan du aktiverar Synapse Link på ditt konto. Mer information finns i artikeln Configure customer-managed keys using Azure Cosmos DB accounts'managed identities (Konfigurera kund hanterade nycklar med hjälp Azure Cosmos DB hanterade identiteter).

Anteckning

Om du vill använda fullständigt återgivningsschema för SQL-API-konton (CORE) kan du inte använda Azure Portal för att Synapse Link. Det här alternativet kan inte ändras när Synapse Link har aktiverats i ditt konto och för att ange det måste du använda Azure CLI eller PowerShell. Mer information finns i schemarepresentationsdokumentationen för analysarkiv.

Azure Portal

  1. Logga in på Azure-portalen.

  2. Skapa ett nytt Azure-kontoeller välj ett befintligt Azure Cosmos DB konto.

  3. Gå till ditt Azure Cosmos DB konto och öppna fönstret Funktioner.

  4. Välj Synapse Link i listan med funktioner.

    Hitta Synapse Link funktion

  5. Därefter uppmanas du att aktivera Synapse-länken för ditt konto. Välj Aktivera. Den här processen kan ta 1 till 5 minuter att slutföra.

    Aktivera Synapse Link funktion

  6. Ditt konto har nu aktiverats för att använda Synapse Link. Se sedan hur du skapar analysarkivaktiverade containrar för att automatiskt börja replikera dina driftdata från transaktionslagret till analysarkivet.

Anteckning

När du Synapse Link på en lagringsdel aktiveras inte analysarkivet automatiskt. När du aktiverar Synapse Link på Cosmos DB-kontot aktiverar du analysarkiv på containrar för att börja använda Synapse Link.

Command-Line Tools

Aktivera Synapse Link i ditt COSMOS DB SQL API- eller MongoDB API-konto med hjälp av Azure CLI eller PowerShell.

Azure CLI

Används --enable-analytical-storage true för både create- och update-åtgärder. Du måste också välja typ av representationsschema. För SQL API-konton kan du --analytical-storage-schema-type använda med värdena eller FullFidelity WellDefined . För MongoDB API-konton använder du alltid --analytical-storage-schema-type FullFidelity .

PowerShell

Används EnableAnalyticalStorage true för både create- och update-åtgärder. Du måste också välja typ av representationsschema. För SQL API-konton kan du --analytical-storage-schema-type använda med värdena eller FullFidelity WellDefined . För MongoDB API-konton använder du alltid -AnalyticalStorageSchemaType FullFidelity .

Skapa en analysarkivaktiverad container

Du kan aktivera analysarkiv när du skapar en Azure Cosmos DB container med något av följande alternativ.

Azure Portal

  1. Logga in på Azure Portal eller Azure Cosmos DB Explorer.

  2. Gå till ditt Azure Cosmos DB konto och öppna Datautforskaren fliken.

  3. Välj Ny container och ange ett namn för information om databas, container, partitionsnyckel och dataflöde. Aktivera alternativet Analysarkiv. När du har aktivera analysarkivet skapas en container med egenskapen inställd på analytical TTL standardvärdet -1 (oändlig kvarhållning). Det här analysarkivet behåller alla historiska versioner av poster och kan ändras senare.

    Aktivera analysarkiv för Azure Cosmos DB container

  4. Om du tidigare inte Synapse Link på det här kontot uppmanas du att göra det eftersom det är en förutsättning för att skapa en container som är aktiverad för analysarkivet. Om du uppmanas väljer du Aktivera Synapse Link. Den här processen kan ta 1 till 5 minuter att slutföra.

  5. Välj OK för att skapa ett analysarkiv aktiverat Azure Cosmos DB containern.

  6. När containern har skapats kontrollerar du att analysarkivet har aktiverats genom att klicka på Inställningar, direkt under Dokument i Datautforskaren och kontrollera om alternativet Time to Live analysarkiv är aktiverat.

Azure Cosmos DB-SDK:er

Ange egenskapen analytical TTL till det obligatoriska värdet för att skapa en container som är aktiverad för analysarkivet. En lista över tillåtna värden finns i artikeln TTL-värden som stöds för analys.

.NET SDK

Följande kod skapar en container med analysarkiv med hjälp av .NET SDK. Ange egenskapen AnalyticalStoreTimeToLiveInSeconds till det obligatoriska värdet i sekunder eller använd för oändlig -1 kvarhållning. Den här inställningen kan ändras senare.

// 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

Följande kod skapar en container med analysarkiv med hjälp av Java V4 SDK. Ange egenskapen AnalyticalStoreTimeToLiveInSeconds till det obligatoriska värdet i sekunder eller använd för oändlig -1 kvarhållning. Den här inställningen kan ändras senare.

// 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

Följande kod skapar en container med analysarkiv med hjälp av Python V4 SDK. Ange egenskapen analytical_storage_ttl till det obligatoriska värdet i sekunder eller använd för oändlig -1 kvarhållning. Den här inställningen kan ändras senare.

# 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

Ange egenskapen analytical TTL till det obligatoriska värdet för att skapa en container som är aktiverad för analysarkivet. En lista över tillåtna värden finns i artikeln TTL-värden som stöds för analys.

Azure CLI

Följande alternativ skapar en container med analysarkiv med hjälp av Azure CLI. Ange egenskapen --analytical-storage-ttl till det obligatoriska värdet i sekunder eller använd för oändlig -1 kvarhållning. Den här inställningen kan ändras senare.

PowerShell

Följande alternativ skapar en container med analysarkiv med hjälp av PowerShell. Ange egenskapen -AnalyticalStorageTtl till det obligatoriska värdet i sekunder eller använd för oändlig -1 kvarhållning. Den här inställningen kan ändras senare.

Aktivera analysarkiv på en befintlig container

Anteckning

På grund av kortsiktiga kapacitetsbegränsningar måste du registrera dig för att aktivera Synapse Link på dina befintliga containrar. Beroende på väntande begäranden kan det ta allt från en dag till en vecka att godkänna den här begäran. Anvisningar för att kontrollera status för begäran finns nedan. Det här steget krävs en gång per prenumeration och alla nya databaskonton har också den här funktionen aktiverad. Du behöver azure-inbyggda roller som deltagare eller administratör för din prenumeration för att kunna registrera din begäran om att använda den befintliga containerfunktionen. Om du har problem eller frågor kan du kontakta cosmosdbsynapselink@microsoft.com .

Anteckning

Du kan aktivera analysarkiv på befintliga API Azure Cosmos DB SQL containrar. Den här funktionen är allmänt tillgänglig och kan användas för produktionsarbetsbelastningar.

Observera följande information när du aktiverar Synapse Link befintliga containrar:

  • Samma prestandaisolering av processen för automatisk synkronisering av analysarkiv gäller för den inledande synkroniseringen och det finns ingen prestandapåverkan på OLTP-arbetsbelastningen.

  • Den totala tiden för en containers inledande synkronisering med analysarkiv varierar beroende på datavolymen och dokumentkomplexiteten. Den här processen kan ta allt från några sekunder till flera dagar. Använd Azure Portal för att övervaka migreringsförloppet.

  • Dataflödet för containern eller databaskontot påverkar också den totala inledande synkroniseringstiden. Även om RU/s inte används i den här migreringen påverkar det totala antalet TILLGÄNGLIGA RU:er processens prestanda. Du kan tillfälligt öka miljöns tillgängliga RU:er för att påskynda processen.

  • Du kommer inte att kunna köra frågor mot analysarkivet för en befintlig container Synapse Link inte aktiveras på den containern. Oltp-arbetsbelastningen påverkas inte och du kan fortsätta att läsa data normalt. Data som matas in efter början av den första synkroniseringen sammanfogas i analysarkivet av den vanliga automatiska synkroniseringsprocessen för analysarkivet.

  • Befintliga MongoDB API-samlingar stöds inte för närvarande. Alternativet är att migrera data till en ny samling som skapats med analysarkiv aktiverat.

Anteckning

För närvarande går det inte att stänga av analysarkiv från en container. Klicka här om du vill ha mer information om priser för analysarkiv.

Azure Portal

  1. Logga in på Azure Portal eller Azure Cosmos DB Explorer.
  2. Gå till ditt Azure Cosmos DB konto och öppna fliken Synapse Link" i avsnittet Integreringar. På den här fliken kan du:
  3. Klicka på Registrera för att begära godkännande för din prenumeration. Om du vill se status för begäran går du tillbaka till samma portalfönster.
  4. När det har godkänts visas listan över containrar för ditt konto och du kan välja de som ska ha analysarkiv aktiverat.
  5. Du kan också gå till fliken Power BI i avsnittet Integreringar för att skapa Power BI instrumentpaneler på dina Synapse Link aktiverade containrar.

Command-Line Tools

Ange egenskapen analytical TTL till det obligatoriska värdet för att skapa en container som är aktiverad för analysarkivet. En lista över tillåtna värden finns i artikeln TTL-värden som stöds för analys.

Azure CLI

Använd följande steg för att aktivera analysarkiv på en befintlig container med hjälp av Azure CLI. Ange egenskapen --analytical-storage-ttl till det obligatoriska värdet i sekunder eller använd för oändlig -1 kvarhållning. Den här inställningen kan ändras senare.

PowerShell

Använd följande steg för att aktivera analysarkiv på en befintlig container med hjälp av PowerShell. Ange egenskapen -AnalyticalStorageTtl till det obligatoriska värdet i sekunder eller använd för oändlig -1 kvarhållning. Den här inställningen kan ändras senare.

Valfritt – Uppdatera analysarkivet time to live

När analysarkivet har aktiverats med ett visst TTL-värde kanske du vill uppdatera det till ett annat giltigt värde. Du kan uppdatera värdet med hjälp av Azure Portal, Azure CLI, PowerShell eller Cosmos DB-SDK:er. Information om de olika konfigurationsalternativen för TTL för analys finns i artikeln värden som stöds av TTL för analys.

Azure Portal

Om du har skapat en analysarkivaktiverad container via Azure Portal innehåller den analytical TTL standardvärdet -1 . Använd följande steg för att uppdatera det här värdet:

  1. Logga in på Azure Portal eller Azure Cosmos DB Explorer.
  2. Gå till ditt Azure Cosmos DB konto och öppna Datautforskaren fliken.
  3. Välj en befintlig container som har analysarkiv aktiverat. Expandera den och ändra följande värden:
    1. Öppna fönstret Scale & Settings (Skalning och inställningar).
    2. Under Inställnings find (Inställnings find) Storage Time to Live.
    3. Välj På (ingen standard) elleroch ange ett TTL-värde.
    4. Klicka på Spara för att spara ändringarna.

.NET SDK

Följande kod visar hur du uppdaterar TTL för analysarkiv med hjälp av .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

Följande kod visar hur du uppdaterar TTL för analysarkiv med hjälp av 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

Stöds inte för närvarande.

Azure CLI

Följande länkar visar hur du uppdaterar TTL för containeranalys med hjälp av Azure CLI:

PowerShell

Följande länkar visar hur du uppdaterar containrars analytiska TTL med hjälp av PowerShell:

Anslut till en Synapse-arbetsyta

Följ anvisningarna i Anslut för Azure Synapse Link om hur du kommer åt en Azure Cosmos DB-databas från Azure Synapse Analytics Studio med Azure Synapse Link.

Fråga analysarkiv med Apache Spark för Azure Synapse Analytics

Följ instruktionerna i artikeln Query Azure Cosmos DB analytical store using Spark 3 (Använda Spark 3) om hur du frågar med Synapse Spark 3. Den här artikeln innehåller några exempel på hur du kan interagera med analysarkivet från Synapse-gester. Gester visas när du högerklickar på en container. Med gester kan du snabbt generera kod och justera den efter dina behov. De är också perfekta för att identifiera data med ett enda klick.

För Spark 2-integrering använder du instruktionen i artikeln Azure Cosmos DB analysarkiv med Spark 2.

Fråga analysarkivet med hjälp av en serverlös SQL pool i Azure Synapse Analytics

Med en SQL-pool kan du köra frågor mot och analysera data i Azure Cosmos DB-containrar som är aktiverade med Azure Synapse Link. Du kan analysera data nästan i realtid utan att påverka prestanda för dina transaktionsarbetsbelastningar. Den erbjuder en välbekant T-SQL-syntax för att fråga efter data från analysarkivet och integrerad anslutning till en mängd olika BI- och ad hoc-frågeverktyg via T-SQL-gränssnittet. Mer information finns i artikeln Query analytical store using serverless SQL pool (Frågeanalysarkiv med serverlös lagringspool).

Använd serverlös SQL för att analysera och visualisera data i Power BI

Du kan skapa en serverlös SQL en pooldatabas och vyer över Synapse Link för Azure Cosmos DB. Senare kan du köra frågor mot Azure Cosmos DB containrar och sedan skapa en modell med Power BI över dessa vyer för att återspegla frågan. Det finns ingen prestanda- eller kostnadspåverkan för dina transaktionsarbetsbelastningar och ingen komplexitet med att hantera ETL-pipelines. Du kan använda antingen DirectQuery- eller importlägen. Mer information finns i artikeln använda en serverlös SQL för att analysera Azure Cosmos DB data Synapse Link server.

Konfigurera anpassad partitionering

Med anpassad partitionering kan du partitionera analysarkivdata på fält som ofta används som filter i analysfrågor, vilket ger bättre frågeprestanda.Mer information finns i introduktionen till anpassad partitionering och hur du konfigurerar anpassade partitioneringsartiklar.

Azure Resource Manager-mall

Mallen Azure Resource Manager skapar ett Synapse Link aktiverat Azure Cosmos DB konto för SQL API. Den här mallen skapar ett Core(SQL) API-konto i en region med en container konfigurerad med TTL för analys aktiverat och ett alternativ för att använda manuellt eller autoskala dataflöde. Om du vill distribuera den här mallen klickar du på Distribuera till Azure på readme-sidan.

Du hittar exempel för att komma igång med Azure Synapse Link på GitHub. Dessa demonstrerar lösningar från end-to-end med IoT- och detaljhandelsscenarier. Du kan också hitta exempel som motsvarar Azure Cosmos DB API för MongoDB i samma lagringsplatsen under MongoDB-mappen.

Nästa steg

Mer information finns i följande dokument: