Vytvoření kontejneru s povoleným analytickým úložištěm
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:
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:
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ě.