Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Important
Hledáte databázové řešení pro scénáře ve velkém měřítku s 99,999% smlouvou o úrovni služeb (SLA), okamžitým automatickým škálováním a automatickým převzetím služeb při selhání napříč několika oblastmi? Zvažte Azure Cosmos DB pro NoSQL.
Chcete implementovat graf online analytického zpracování (OLAP) nebo migrovat existující aplikaci Apache Gremlin? Zvažte Graph v Microsoft Fabricu.
Azure Cosmos DB pro Apache Gremlin je plně spravovaná databázová služba grafů, která implementuje oblíbenou Apache Tinkerpoparchitekturu grafových výpočtů pomocí dotazovacího jazyka Gremlin. Rozhraní API pro Gremlin poskytuje rychlý způsob, jak začít používat Gremlin se službou, která může růst a škálovat podle potřeby s minimální správou.
V tomto rychlém startu se pomocí konzoly Gremlin připojíte k nově vytvořenému účtu Azure Cosmos DB pro Gremlin.
Prerequisites
- Účet Azure s aktivním předplatným.
- Žádné předplatné Azure? Zaregistrujte si bezplatný účet Azure.
-
Hostitel Dockeru
- Nemáte nainstalovaný Docker? Vyzkoušejte tento rychlý start v GitHub Codespaces.
- Rozhraní příkazového řádku Azure (CLI)
Azure Cloud Shell
Azure hostuje Azure Cloud Shell, interaktivní shellové prostředí, které můžete použít ve svém prohlížeči. Pro práci se službami Azure můžete v prostředí Cloud Shell použít buď Bash, nebo PowerShell. Předinstalované příkazy Cloud Shellu můžete použít ke spuštění kódu v tomto článku, aniž byste museli instalovat cokoli do místního prostředí.
Spuštění služby Azure Cloud Shell:
| Option | Příklad nebo odkaz |
|---|---|
| Vyberte Vyzkoušet v pravém horním rohu bloku kódu nebo příkazu. Výběrem možnosti Vyzkoušet se kód ani příkaz automaticky nekopíruje do Cloud Shellu. |
|
| Přejděte na adresu https://shell.azure.com nebo výběrem tlačítka Spustit Cloud Shell otevřete Cloud Shell v prohlížeči. |
|
| Zvolte tlačítko Cloud Shell v pruhu nabídky v pravém horním rohu webu Azure Portal. |
|
Použití Azure Cloud Shellu:
Spusťte Cloud Shell.
Výběrem tlačítka Kopírovat v bloku kódu (nebo bloku příkazů) zkopírujte kód nebo příkaz.
Vložte kód nebo příkaz do Cloud Shell pomocí zvolení Ctrl+Shift+V ve Windows a Linuxu, nebo zvolení Cmd+Shift+V na macOS.
Stisknutím klávesy Enter spusťte kód nebo příkaz.
Vytvořte rozhraní API pro Gremlin účet a relevantní prostředky
Rozhraní API pro účet Gremlin by mělo být zřízeno před použitím konzole Gremlin. Kromě toho pomáhá mít také databázi a graf na místě.
Vytvořte shellové proměnné pro accountName, resourceGroupName a umístění.
# Variable for resource group name resourceGroupName="msdocs-cosmos-gremlin-quickstart" location="westus" # Variable for account name with a randomly generated suffix let suffix=$RANDOM*$RANDOM accountName="msdocs-gremlin-$suffix"Pokud jste to ještě neudělali, přihlaste se k Azure CLI pomocí
az login.Použijte
az group createk vytvoření nové skupiny prostředků ve vašem předplatném.az group create \ --name $resourceGroupName \ --location $locationPoužijte
az cosmosdb createk vytvoření nového rozhraní API pro účet Gremlin s výchozím nastavením.az cosmosdb create \ --resource-group $resourceGroupName \ --name $accountName \ --capabilities "EnableGremlin" \ --locations regionName=$location \ --enable-free-tier trueNote
Pro každé předplatné Azure můžete mít maximálně jeden účet Azure Cosmos DB úrovně Free a při vytváření tohoto účtu se musíte přihlásit. Pokud se tomuto příkazu nepodaří uplatnit slevu na úroveň Free, znamená to, že u úrovně Free už byl povolený jiný účet v předplatném.
Získejte API koncového bodu Gremlin NAME pro účet pomocí
az cosmosdb show.az cosmosdb show \ --resource-group $resourceGroupName \ --name $accountName \ --query "name"Najděte klíč ze seznamu klíčů pro účet pomocí
az-cosmosdb-keys-list.az cosmosdb keys list \ --resource-group $resourceGroupName \ --name $accountName \ --type "keys" \ --query "primaryMasterKey"Poznamenejte si hodnoty NAME a KEY. Tyto přihlašovací údaje použijete později.
Vytvořte databázi s názvem
cosmicworkspomocíaz cosmosdb gremlin database create.az cosmosdb gremlin database create \ --resource-group $resourceGroupName \ --account-name $accountName \ --name "cosmicworks"Vytvoření grafu pomocí
az cosmosdb gremlin graph create. Pojmenujte grafproducts, nastavte propustnost na400, a nakonec nastavte cestu ke klíči oddílu na hodnotu/category.az cosmosdb gremlin graph create \ --resource-group $resourceGroupName \ --account-name $accountName \ --database-name "cosmicworks" \ --name "products" \ --partition-key-path "/category" \ --throughput 400
Spuštění a konfigurace konzoly Gremlin pomocí Dockeru
Pro konzolu Gremlin tento rychlý start používá image kontejneru tinkerpop/gremlin-console z Docker Hubu. Tato image zajišťuje, že pro připojení k rozhraní API pro Gremlin používáte odpovídající verzi konzoly (3.4). Po spuštění konzoly se připojte z místního hostitele Dockeru ke vzdálenému rozhraní API pro účet Gremlin.
3.4Stáhněte si verzi image kontejnerutinkerpop/gremlin-console.docker pull tinkerpop/gremlin-console:3.4Vytvořte prázdnou pracovní složku. V prázdné složce vytvořte soubor remote-secure.yaml . Přidejte do souboru tuto konfiguraci YAML.
hosts: [<account-name>.gremlin.cosmos.azure.com] port: 443 username: /dbs/cosmicworks/colls/products password: <account-key> connectionPool: { enableSsl: true, sslEnabledProtocols: [TLSv1.2] } serializer: { className: org.apache.tinkerpop.gremlin.driver.ser.GraphSONMessageSerializerV2d0, config: { serializeResultToString: true } }Note
Nahraďte zástupné symboly
<account-name>a<account-key>hodnotami NAME a KEY získanými dříve v tomto rychlém startu.Otevřete nový terminál v kontextu pracovní složky, která obsahuje soubor remote-secure.yaml .
Spusťte image kontejneru Dockeru v interaktivním
--interactive --tty() režimu. Ujistěte se, že aktuální pracovní složku připojíte k/opt/gremlin-console/conf/cestě v kontejneru.docker run -it --mount type=bind,source=.,target=/opt/gremlin-console/conf/ tinkerpop/gremlin-console:3.4V kontejneru konzoly Gremlin se připojte ke vzdálenému účtu (API pro Gremlin) pomocí konfiguračního souboru remote-secure.yaml .
:remote connect tinkerpop.server conf/remote-secure.yaml
Vytváření a procházení vrcholů a hran
Teď, když je konzola připojená k účtu, použijte standardní syntaxi Gremlin k vytvoření a procházení vrcholů i hran.
Přidejte vrchol pro produkt s následujícími vlastnostmi:
Value Štítek productid 68719518371nameKiama classic surfboardprice285.55categorysurfboards:> g.addV('product').property('id', '68719518371').property('name', 'Kiama classic surfboard').property('price', 285.55).property('category', 'surfboards')Important
Nezapomeňte na předponu
:>. Předpona THis je nutná ke vzdálenému spuštění příkazu.Přidejte další vrchol produktu s těmito vlastnostmi:
Value Štítek productid 68719518403nameMontau Turtle Surfboardprice600categorysurfboards:> g.addV('product').property('id', '68719518403').property('name', 'Montau Turtle Surfboard').property('price', 600).property('category', 'surfboards')Vytvořte hranu s názvem
replaces, která definuje vztah mezi těmito dvěma produkty.:> g.V(['surfboards', '68719518403']).addE('replaces').to(g.V(['surfboards', '68719518371']))Spočítejte všechny vrcholy v grafu.
:> g.V().count()Projděte graf a vyhledejte všechny vrcholy, které nahradí
Kiama classic surfboard.:> g.V().hasLabel('product').has('category', 'surfboards').has('name', 'Kiama classic surfboard').inE('replaces').outV()Projděte graf a vyhledejte všechny vrcholy, které
Montau Turtle Surfboardnahradí.:> g.V().hasLabel('product').has('category', 'surfboards').has('name', 'Montau Turtle Surfboard').outE('replaces').inV()
Vyčistěte zdroje
Pokud už rozhraní API pro účet Gremlin nepotřebujete, odstraňte odpovídající skupinu prostředků.
Vytvořte shellovou proměnnou pro resourceGroupName, pokud ještě neexistuje.
# Variable for resource group name resourceGroupName="msdocs-cosmos-gremlin-quickstart"Použijte
az group deletepro odstranění skupiny prostředků.az group delete \ --name $resourceGroupName
Jak jsme tento problém vyřešili?
Azure Cosmos DB pro Apache Gremlin vyřešila náš problém tím, že nabízí Gremlin jako službu. Díky této nabídce nemusíte provozovat vlastní instance serveru Gremlin ani spravovat vlastní infrastrukturu. Ještě více můžete škálovat své řešení podle svých potřeb v průběhu času.
Pokud jste se chtěli připojit k API účtu Gremlin, použili jste image kontejneru tinkerpop/gremlin-console ke spuštění konzole Gremlin tak, aby nebyla vyžadována místní instalace. Pak jste použili konfiguraci uloženou v souboru remote-secure.yaml k připojení se z běžícího kontejneru k API účtu Gremlin. Odtud jste spustili několik běžných příkazů Gremlin.