Konfigurace a používání Azure Synapse Linku pro Azure Cosmos DB
platí pro:
SQL api
Azure Cosmos DB api pro MongoDB
Azure Synapse Link pro Azure Cosmos DB je funkce HTAP (Hybrid Transactional And Analytical Processing) nativní pro cloud, která umožňuje spouštět analýzy provozních dat v Azure Cosmos DB v reálném čase. Synapse Link vytváří těsnou bezproblémovou integraci mezi Azure Cosmos DB a Azure Synapse Analytics.
Azure Synapse Link je k dispozici pro rozhraní SQL API služby Azure Cosmos DB nebo pro účty rozhraní API služby Azure Cosmos DB pro Mongo DB. Ke spouštění analytických dotazů pomocí nástroje Azure Synapse Link for Azure Cosmos DB použijte následující postup:
- Povolení Azure Synapse Linku pro účty Azure Cosmos DB
- Vytvoření kontejneru s povoleným analytickým úložištěm
- Povolení analytického úložiště pro existující kontejner
- Volitelné – Aktualizace TTL analytického úložiště pro kontejner
- Připojení databáze Azure Cosmos do pracovního prostoru Azure Synapse
- Dotazování analytického úložiště pomocí Azure Synapse Sparku
- Dotazování analytického úložiště pomocí Azure Synapse bez serveru SQL fondu
- Použití Azure Synapse bez serveru SQL k analýze a vizualizaci dat v Power BI
Můžete se také podívat na modul Learn, kde se dozvíte, jak Azure Synapse Link pro Azure Cosmos DB.
Povolení Azure Synapse Linku pro účty Azure Cosmos DB
Poznámka
Pokud chcete používat klíče spravované zákazníkem s Azure Synapse Linkem, musíte před povolením přístupu k účtu nakonfigurovat spravovanou identitu vašeho účtu v zásadách Azure Key Vault přístupu Synapse Link. Další informace najdete v článku Konfigurace klíčů spravovaných zákazníkem pomocí spravovaných identit účtů Azure Cosmos DB.
Poznámka
Pokud chcete použít úplné schéma věrnosti pro účty rozhraní API SQL (CORE), nemůžete k povolení Azure Portal použít Synapse Link. Tuto možnost nelze po povolení Synapse Link účtu změnit a k její nastavení musíte použít Azure CLI nebo PowerShell. Další informace najdete v dokumentaci k reprezentaci schématu analytického úložiště.
portál Azure
Přihlaste se k webu Azure Portal.
Vytvořte nový účet Azurenebo vyberte existující účet Azure Cosmos DB.
Přejděte ke svému účtu Azure Cosmos DB a otevřete podokno Funkce.
V Synapse Link funkcí vyberte další možnosti.
Dále se zobrazí výzva k povolení synapse linku ve vašem účtu. Vyberte Povolit. Dokončení tohoto procesu může trvat 1 až 5 minut.
Váš účet teď může používat Synapse Link. Dále se podívejte, jak vytvořit kontejnery s povoleným analytickým úložištěm, které automaticky zahájí replikaci provozních dat z transakčního úložiště do analytického úložiště.
Poznámka
Zapnutím Synapse Link se analytické úložiště automaticky nezapnout. Po povolení Synapse Link účtu Cosmos DB povolte analytické úložiště v kontejnerech, abyste začali používat Synapse Link.
Nástroje příkazového řádku
Povolte Synapse Link účtu rozhraní API SQL nebo MongoDB API služby Cosmos DB pomocí Azure CLI nebo PowerShellu.
Azure CLI
Použijte --enable-analytical-storage true pro operace vytvoření i aktualizace. Musíte také zvolit typ schématu reprezentace. Pro SQL API můžete použít --analytical-storage-schema-type s hodnotami FullFidelity nebo WellDefined . Pro účty rozhraní MongoDB API vždy používejte --analytical-storage-schema-type FullFidelity .
- Vytvoření nového účtu Azure Cosmos DB s povolenými Synapse Link azure
- Aktualizace existujícího účtu Azure Cosmos DB, aby se Synapse Link
PowerShell
Použijte EnableAnalyticalStorage true pro operace vytvoření i aktualizace. Musíte také zvolit typ schématu reprezentace. Pro SQL API můžete použít --analytical-storage-schema-type s hodnotami FullFidelity nebo WellDefined . Pro účty rozhraní MongoDB API vždy používejte -AnalyticalStorageSchemaType FullFidelity .
- Vytvoření nového účtu Azure Cosmos DB s povolenými Synapse Link azure
- Aktualizace existujícího účtu Azure Cosmos DB, aby se Synapse Link
Vytvoření kontejneru s povoleným analytickým úložištěm
Analytické úložiště můžete při vytváření kontejneru Azure Cosmos DB zapnout pomocí jedné z následujících možností.
portál Azure
Přihlaste se k Azure Portal nebo Průzkumníku služby Azure Cosmos DB.
Přejděte ke svému účtu Azure Cosmos DB a otevřete kartu Průzkumník dat úložiště.
Vyberte Nový kontejner a zadejte název databáze, kontejneru, klíče oddílu a podrobnosti o propustnosti. Zapněte možnost Analytické úložiště. Po povolení analytického úložiště se vytvoří kontejner s vlastností nastavenou na výchozí hodnotu
analytical TTL-1 (nekonečné uchovávání). Toto analytické úložiště, které uchovává všechny historické verze záznamů a je možné ho později změnit.
Pokud jste u tohoto účtu Synapse Link ještě nepo povolení, zobrazí se výzva, protože vytvoření kontejneru s povoleným analytickým úložištěm je předpokladem. Pokud se zobrazí výzva, vyberte Povolit Synapse Link. Dokončení tohoto procesu může trvat 1 až 5 minut.
Vyberte OK a vytvořte kontejner Azure Cosmos DB s povoleným analytickým úložištěm.
Po vytvoření kontejneru ověřte, že je analytické úložiště povolené. Klikněte na Nastavení přímo pod dokumenty v Průzkumník dat a zkontrolujte, jestli je zapnutá možnost Time to Live analytického úložiště.
Sady SDK služby Azure Cosmos DB
Pokud chcete vytvořit kontejner s povoleným analytickým analytical TTL úložištěm, nastavte vlastnost na požadovanou hodnotu. Seznam povolených hodnot najdete v článku Podporované hodnoty analytické hodnoty TTL.
.NET SDK
Následující kód vytvoří kontejner s analytickým úložištěm pomocí sady .NET SDK. Nastavte AnalyticalStoreTimeToLiveInSeconds vlastnost na požadovanou hodnotu v sekundách nebo použijte pro -1 nekonečné uchovávání. Toto nastavení můžete později změnit.
// 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
Následující kód vytvoří kontejner s analytickým úložištěm pomocí sady Java SDK v4. Nastavte AnalyticalStoreTimeToLiveInSeconds vlastnost na požadovanou hodnotu v sekundách nebo použijte pro -1 nekonečné uchovávání. Toto nastavení můžete později změnit.
// 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
Následující kód vytvoří kontejner s analytickým úložištěm pomocí sady Python SDK v4. Nastavte analytical_storage_ttl vlastnost na požadovanou hodnotu v sekundách nebo použijte pro -1 nekonečné uchovávání. Toto nastavení můžete později změnit.
# 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')
Nástroje příkazového řádku
Pokud chcete vytvořit kontejner s povoleným analytickým analytical TTL úložištěm, nastavte vlastnost na požadovanou hodnotu. Seznam povolených hodnot najdete v článku Podporované hodnoty analytické hodnoty TTL.
Azure CLI
Následující možnosti vytvoří kontejner s analytickým úložištěm pomocí Azure CLI. Nastavte --analytical-storage-ttl vlastnost na požadovanou hodnotu v sekundách nebo použijte pro -1 nekonečné uchovávání. Toto nastavení můžete později změnit.
- Vytvoření kolekce MongoDB služby Azure Cosmos DB
- Vytvoření kontejneru rozhraní API Cosmos DB SQL Azure
PowerShell
Následující možnosti vytvoří kontejner s analytickým úložištěm pomocí PowerShellu. Nastavte -AnalyticalStorageTtl vlastnost na požadovanou hodnotu v sekundách nebo použijte pro -1 nekonečné uchovávání. Toto nastavení můžete později změnit.
- Vytvoření kolekce MongoDB služby Azure Cosmos DB
- Vytvoření kontejneru rozhraní API Cosmos DB SQL Azure
Povolení analytického úložiště pro existující kontejner
Poznámka
Kvůli krátkodobým omezením kapacity se musíte zaregistrovat, abyste umožnili Synapse Link stávajících kontejnerech. V závislosti na nevyřízených požadavcích může schválení této žádosti trvat od jednoho dne do týdne. Pokyny ke kontrole stavu žádosti jsou uvedené níže. Tento krok se vyžaduje jednou pro předplatné a všechny nové databázové účty budou mít tuto funkci také povolenou. Abyste mohli zaregistrovat svou žádost o použití funkce stávajících kontejnerů, potřebujete ve svém předplatném předdefinované role přispěvatele nebo správce Azure. Pokud máte nějaké problémy nebo dotazy, obraťte se na cosmosdbsynapselink@microsoft.com .
Poznámka
Analytické úložiště můžete zapnout u stávajících kontejnerů rozhraní API služby Azure Cosmos DB SQL. Tato funkce je obecně dostupná a je možné ji použít pro produkční úlohy.
Při povolování kontejnerů ve stávajících kontejnerech Synapse Link následující podrobnosti:
Stejná izolace výkonu procesu automatické synchronizace analytického úložiště platí pro počáteční synchronizaci a nemá žádný vliv na výkon úlohy OLTP.
Počáteční synchronizace kontejneru s celkovým časem analytického úložiště se bude lišit v závislosti na objemu dat a složitosti dokumentů. Tento proces může trvat od několika sekund až po několik dnů. K monitorování Azure Portal použijte následující postup.
Celkovou počáteční dobu synchronizace ovlivňuje také propustnost vašeho kontejneru nebo databázového účtu. I když se RU/s v této migraci nevyužírá, celkový počet RU/s, který je k dispozici, ovlivňuje výkon procesu. Pokud chcete tento proces zrychlit, můžete dočasně zvýšit počet dostupných REZERVOVANÝch edií vašeho prostředí.
Nebudete se moct dotazovat analytického úložiště existujícího kontejneru, zatímco Synapse Link pro tento kontejner povolená. Vaše úloha OLTP není ovlivněná a můžete pokračovat v normálním čtení dat. Data ingestovaná po zahájení počáteční synchronizace se sloučí do analytického úložiště běžným procesem automatické synchronizace analytického úložiště.
V současné době se stávající kolekce rozhraní MongoDB API nepodporují. Alternativou je migrace dat do nové kolekce vytvořené se zapnutým analytickým úložištěm.
Poznámka
V současné době není možné vypnout analytické úložiště z kontejneru. Kliknutím sem zobrazíte další informace o cenách analytického úložiště.
portál Azure
- Přihlaste se k Azure Portal nebo Průzkumníku služby Azure Cosmos DB.
- Přejděte ke svému účtu Azure Cosmos DB a otevřete kartu Synapse Link" v části Integrace. Na této kartě můžete:
- Kliknutím na Zaregistrovat požádejte o schválení předplatného. Pokud chcete zobrazit stav požadavku, vraťte se do stejného podokna portálu.
- Po schválení se zobrazí seznam kontejnerů vašeho účtu a budete moct vybrat ty, které budou mít povolené analytické úložiště.
- Volitelně můžete přejít na kartu Power BI v části Integrace a vytvořit řídicí panely Power BI kontejnerech s podporou Synapse Link prostředí.
Nástroje příkazového řádku
Pokud chcete vytvořit kontejner s povoleným analytickým analytical TTL úložištěm, nastavte vlastnost na požadovanou hodnotu. Seznam povolených hodnot najdete v článku Podporované hodnoty analytické hodnoty TTL.
Azure CLI
Pomocí následujícího postupu povolte analytické úložiště pro existující kontejner pomocí Azure CLI. Nastavte --analytical-storage-ttl vlastnost na požadovanou hodnotu v sekundách nebo použijte pro -1 nekonečné uchovávání. Toto nastavení můžete později změnit.
- Zaregistrujte se ke schválení pomocí
az feature registration create --namespace Microsoft.DocumentDB --name AnalyticalStoreMigrationpříkazu . - Pomocí příkazu zkontrolujte stav
az feature registration show --namespace Microsoft.DocumentDB --name AnalyticalStoreMigrationpožadavku. - Po schválení žádosti aktualizujte
-1analytickou ttl na . - Zkontrolujte stav migrace v Azure Portal.
PowerShell
Pomocí následujícího postupu povolte analytické úložiště pro existující kontejner pomocí PowerShellu. Nastavte -AnalyticalStorageTtl vlastnost na požadovanou hodnotu v sekundách nebo použijte pro -1 nekonečné uchovávání. Toto nastavení můžete později změnit.
- Zaregistrujte se ke schválení pomocí
Register-AzProviderFeature -ProviderName "Microsoft.DocumentDB" -FeatureName "AnalyticalStoreMigration"příkazu . - Zkontrolujte stav žádosti.
- Po schválení žádosti aktualizujte
-1analytickou ttl na . - Zkontrolujte stav migrace v Azure Portal.
Volitelné – Aktualizace doby života analytického úložiště
Po povolení analytického úložiště s konkrétní hodnotou TTL ji můžete aktualizovat na jinou platnou hodnotu. Hodnotu můžete aktualizovat pomocí sady SDK Azure Portal, Azure CLI, PowerShellu nebo Cosmos DB. Informace o různých možnostech konfigurace analytické hodnoty TTL najdete v článku Podporované hodnoty hodnoty TTL analytického systému.
portál Azure
Pokud jste vytvořili kontejner s povoleným analytickým úložištěm prostřednictvím Azure Portal, obsahuje výchozí analytical TTL hodnotu -1 . K aktualizaci této hodnoty použijte následující postup:
- Přihlaste se k Azure Portal nebo Průzkumníku služby Azure Cosmos DB.
- Přejděte ke svému účtu Azure Cosmos DB a otevřete kartu Průzkumník dat úložiště.
- Vyberte existující kontejner s povoleným analytickým úložištěm. Rozbalte ho a upravte následující hodnoty:
- Otevřete okno škálování & Nastavení dat.
- V části Nastavení vyhledejte analytickou Storage TT (Time to Live).
- Vyberte On (no default) (On (Není k dispozici výchozí) nebo vyberte On (Za dne) a nastavte hodnotu TTL.
- Kliknutím na Uložit uložte změny.
.NET SDK
Následující kód ukazuje, jak aktualizovat TTL pro analytické úložiště pomocí sady .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
Následující kód ukazuje, jak aktualizovat TTL pro analytické úložiště pomocí sady Java SDK v4:
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
V současné době se nepodporuje.
Azure CLI
Následující odkazy ukazují, jak aktualizovat analytické TTL kontejnerů pomocí Azure CLI:
PowerShell
Následující odkazy ukazují, jak aktualizovat analytické TTL kontejnerů pomocí PowerShellu:
Připojení do pracovního prostoru Synapse
Postupujte podle pokynů v Připojení Azure Synapse Link a přečtěte si, jak získat přístup k databázi Azure Cosmos DB z Azure Synapse Analytics Studia pomocí Azure Synapse Linku.
Analytické úložiště dotazů s využitím Apache Spark pro Azure Synapse Analytics
Pokyny k dotazování s využitím Synapse Sparku 3 najdete v článku Dotazování analytického úložiště Azure Cosmos DB pomocí Sparku 3. Tento článek obsahuje několik příkladů, jak můžete s analytickým úložištěm pracovat pomocí gest Synapse. Tato gesta se zobrazí po kliknutí pravým tlačítkem na kontejner. Pomocí gest můžete rychle vygenerovat kód a upravit ho podle svých potřeb. Jsou také ideální pro zjišťování dat jediným kliknutím.
V případě integrace Sparku 2 použijte pokyny v článku Dotazování analytického úložiště Azure Cosmos DB pomocí Sparku 2.
Dotazování analytického úložiště pomocí bez serveru SQL v Azure Synapse Analytics
Bez serveru SQL fond umožňuje dotazovat a analyzovat data v kontejnerech Azure Cosmos DB, které jsou povolené pomocí Azure Synapse Linku. Data můžete analyzovat v reálném čase, aniž by to ovlivnilo výkon transakčních úloh. Prostřednictvím rozhraní T-SQL nabízí známou syntaxi T SQL-SQL pro dotazování dat z analytického úložiště a integrované připojení k široké škále nástrojů bi a ad hoc dotazování. Další informace najdete v článku Analytické úložiště dotazů s využitím bez serverů SQL fondu.
Použití bez serveru SQL k analýze a vizualizaci dat v Power BI
Pro Azure SQL DB můžete vytvořit Synapse Link databáze a zobrazení Cosmos serveru. Později můžete dotazovat kontejnery Azure Cosmos DB a pak vytvořit model s Power BI zobrazeními tak, aby odrážel tento dotaz. Na transakční úlohy nemá žádný dopad na výkon ani náklady a správa kanálů ETL není složitá. Můžete použít režim DirectQuery nebo režim importu. Další informace najdete v článku o tom, jak pomocí SQL bez serveru analyzovat data Azure Cosmos DB Synapse Link.
Konfigurace vlastního dělení
Vlastní dělení umožňuje rozdělit data analytického úložiště na pole, která se běžně používají jako filtry v analytických dotazech, což vede ke zlepšení výkonu dotazů.Další informace najdete v úvodu k vlastnímu dělení a v článku o konfiguraci vlastního dělení.
Šablona Azure Resource Manageru
šablona Azure Resource Manager pro SQL API vytvoří Azure Cosmos DB účet s povoleným odkazem na Synapse. tato šablona vytvoří účet rozhraní API Core (SQL) v jedné oblasti s kontejnerem nakonfigurovaným s povoleným analytickým standardem TTL a možností ručního škálování nebo propustnosti. Tuto šablonu nasadíte kliknutím na nasadit do Azure na stránce Readme.
Začínáme s propojením Azure synapse – ukázky
Ukázky, které vám pomůžou začít s propojením Azure synapse, najdete v GitHub. Tato předvádí ucelená řešení s využitím scénářů IoT a Retail. můžete také najít ukázky, které odpovídají Azure Cosmos DB rozhraní API pro MongoDB ve stejném úložišti ve složce MongoDB .
Další kroky
Další informace najdete v následujících dokumentech: