Vytvoření kontejneru s povoleným analytickým úložištěm

Dokončeno

Po povolení služby Azure Synapse Link v účtu služby Azure Cosmos DB můžete vytvořit nebo aktualizovat kontejner s podporou analytického úložiště.

Analytické úložiště je úložiště založené na sloupcích ve stejném kontejneru jako provozní úložiště založené na řádcích. Proces automatické synchronizace synchronizuje změny v provozním úložišti s analytickým úložištěm, odkud se dají dotazovat, aniž by došlo ke zpracování režie v provozním úložišti.

Typy schémat analytického úložiště

Vzhledem k tomu, že se data z provozního úložiště synchronizují s analytickým úložištěm, schéma se dynamicky aktualizuje tak, aby odráželo strukturu synchronizovaných dokumentů. Konkrétní chování této údržby dynamického schématu závisí na typu schématu analytického úložiště nakonfigurovaného pro účet služby Azure Cosmos DB. Podporují se dva typy reprezentace schématu:

  • Dobře definované: Výchozí typ schématu pro účet Azure Cosmos DB for NoSQL.
  • Úplná věrnost: Výchozí (a pouze podporovaný) typ schématu pro účet Azure Cosmos DB pro MongoDB.

Analytické úložiště přijímá data JSON z provozního úložiště a uspořádá je do struktury založené na sloupcích. V dobře definovaném schématu určuje první výskyt pole JSON, který není null, datový typ pro toto pole. Následné výskyty pole, které nejsou kompatibilní s přiřazeným datovým typem, se do analytického úložiště neingestují.

Představte si například následující dva dokumenty JSON:

{"productID": 123, "productName": "Widget"}
{"productID": "124", "productName": "Wotsit"}

První dokument určuje, že pole PRODUCTID je číselná hodnota (celé číslo). Když se narazí na druhý dokument, jeho pole PRODUCTID má řetězcovou hodnotu, takže se neimportuje do analytického úložiště. Dokument a zbytek jeho pole se naimportují, ale nekompatibilní pole se zahodí. Následující sloupce představují data v analytickém úložišti:

productID productName
123 Widget
Wotsit

Ve schématu úplné věrnosti se datový typ připojí ke každé instanci pole s novými sloupci vytvořenými podle potřeby; povolením analytického úložiště, aby obsahovalo více výskytů pole, z nichž každý má jiný datový typ, jak je znázorněno v následující tabulce:

productID.int32 productName.string productID.string
123 Widget
Wotsit 124

Poznámka:

Další informace najdete v tématu Co je analytické úložiště Azure Cosmos DB?.

Povolení podpory analytického úložiště v kontejneru

Podporu analytického úložiště můžete povolit při vytváření nového kontejneru nebo pro existující kontejner. Pokud chcete povolit podporu analytického úložiště, můžete použít Azure Portal nebo můžete použít Azure CLI nebo Azure PowerShell z příkazového řádku nebo ve skriptu.

Pomocí webu Azure Portal

Pokud chcete povolit podporu analytického úložiště při vytváření nového kontejneru na webu Azure Portal, vyberte možnost Zapnuto pro analytické úložiště, jak je znázorněno tady:

Snímek obrazovky znázorňující možnost Analytické úložiště při vytváření nového kontejneru na webu Azure Portal

Případně můžete povolit podporu analytického úložiště pro existující kontejner na stránce Azure Synapse Link v části Integrace vašeho účtu cosmos DB, jak je znázorněno tady:

Snímek obrazovky zobrazující stránku Azure Synapse Link na webu Azure Portal s vybraným existujícím kontejnerem a povoleným tlačítkem Povolit Synapse Link

Použití Azure CLI

Pokud chcete pomocí Azure CLI povolit podporu analytického úložiště v kontejneru Azure Cosmos DB for NoSQL, spusťte az cosmosdb sql container create příkaz (pro vytvoření nového kontejneru) nebo az cosmosdb sql container update příkaz (pro konfiguraci existujícího kontejneru) s parametrem --analytical-storage-ttl a přiřaďte dobu uchovávání analytických dat. Zadání parametru -analytical-storage-ttl -1 umožňuje trvalé uchovávání analytických dat. Například následující příkaz vytvoří nový kontejner s názvem my-container s podporou analytického úložiště.

az cosmosdb sql container create --resource-group my-rg --account-name my-cosmos-db --database-name my-db --name my-container --partition-key-path "/productID" --analytical-storage-ttl -1

Pro účet Služby Azure Cosmos DB pro MongoDB můžete použít az cosmosdb mongodb collection create parametr nebo az cosmosdb mongodb collection update příkaz --analytical-storage-ttl . Pro účet Azure Cosmos DB pro Apache Gremlin použijte az cosmosdb gremlin graph create parametr nebo az cosmosdb gremlin graph update příkaz --analytical-storage-ttl .

Použití Azure Powershell

Pokud chcete pomocí Azure PowerShellu povolit podporu analytického úložiště v n kontejneru Azure Cosmos DB for NoSQL, spusťte New-AzCosmosDBSqlContainer rutinu (k vytvoření nového kontejneru) nebo Update-AzCosmosDBSqlContainer rutinu (ke konfiguraci existujícího kontejneru) s parametrem -AnalyticalStorageTtl a přiřaďte dobu uchovávání analytických dat. Zadání parametru -AnalyticalStorageTtl -1 umožňuje trvalé uchovávání analytických dat. Například následující příkaz vytvoří nový kontejner s názvem my-container s podporou analytického úložiště.

New-AzCosmosDBSqlContainer -ResourceGroupName "my-rg" -AccountName "my-cosmos-db" -DatabaseName "my-db" -Name "my-container" -PartitionKeyKind "hash" -PartitionKeyPath "/productID" -AnalyticalStorageTtl -1

Pro účet rozhraní API služby Azure Cosmos DB pro MongoDB použijte New-AzCosmosDBMongoDBCollection parametr nebo Update-AzCosmosDBMongoDBCollection rutinu -AnalyticalStorageTtl .

Důležité informace o povolení podpory analytického úložiště

Podporu analytického úložiště není možné zakázat bez odstranění kontejneru. Nastavení hodnoty TTL analytického úložiště na hodnotu 0 nebo null efektivně zakáže analytické úložiště tím, že už do něj nesynchronizaci nových položek z provozního úložiště a odstranění položek, které jsou už synchronizované z analytického úložiště. Po nastavení této hodnoty na 0 nemůžete v kontejneru znovu povolit podporu analytického úložiště.