Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Important
Olyan adatbázismegoldást keres nagy léptékű forgatókönyvekhez, amelyekben 99,9999-es% rendelkezésre állási szolgáltatásiszint-szerződés (SLA), azonnali automatikus skálázás és automatikus feladatátvétel több régióban? Fontolja meg az Azure Cosmos DB-t a NoSQL-hoz.
Szeretne egy online elemzési feldolgozási (OLAP) gráfot implementálni, vagy migrálni egy meglévő Apache Gremlin-alkalmazást? Fontolja meg a Graph funkciót a Microsoft Fabric-ben.
Az Apache Gremlinhez készült Azure Cosmos DB egy teljes körűen felügyelt gráfadatbázis-szolgáltatás, amely a gremlin lekérdezési nyelv használatával implementálja a népszerű Apache Tinkerpopgráf-számítási keretrendszert. A Gremlin API-ja alacsony súrlódási módot kínál a Gremlin használatának megkezdéséhez egy olyan szolgáltatással, amely minimális felügyelet mellett a lehető legtöbb növekedést és skálázást teszi lehetővé.
Ebben a rövid útmutatóban a Gremlin-konzollal csatlakozhat egy újonnan létrehozott Azure Cosmos DB for Gremlin-fiókhoz.
Prerequisites
- Egy Azure-fiók, aktív előfizetéssel.
- Nincs Azure-előfizetés? Regisztráljon egy ingyenes Azure-fiókra.
- Docker-gazdagép
- Azure parancssori felület (CLI)
Azure Cloud Shell
Az Azure egy interaktív shell-környezetet, az Azure Cloud Shell-t, üzemeltet, amelyet a böngészőn keresztül használhat. A Cloud Shell-ben Bash-t vagy PowerShell-t használhat az Azure szolgáltatások kezeléséhez. Felhasználhatja a Cloud Shell előre telepített parancsait a cikkben szereplő kód futtatására anélkül, hogy bármit telepítenie kellene a helyi környezetében.
Azure Cloud Shell indítása:
| Option | példa/hivatkozás |
|---|---|
| A kód vagy parancsblokk jobb felső sarkában válassza a Kipróbálás lehetőséget. A Try It kiválasztása nem másolja automatikusan a kódot vagy a parancsot a Cloud Shellbe. |
|
| Lépjen a https://shell.azure.com webhelyre, vagy válassza ki a Cloud Shell indítása gombot a Cloud Shell megnyitásához a böngészőjében. |
|
| Válassza a Cloud Shell gombot a jobb felső menüsávon a Azure portálon. |
|
Az Azure Cloud Shell használatához:
Indítsa el a Cloud Shell alkalmazást.
A kód vagy parancs másolásához kattintson a Másolás gombra egy kódblokkon (vagy parancsblokkon).
Másolja be a kódot vagy parancsot a Cloud Shell munkamenetbe a Windows és Linux rendszereken a Ctrl+Shift+V billentyűk kiválasztásával, vagy a macOS rendszeren a Cmd+Shift+V billentyűkiválasztásával.
A kód vagy parancs futtatásához válassza az Enter lehetőséget .
API létrehozása Gremlin-fiókhoz és kapcsolódó erőforrásokhoz
A Gremlin-konzol használata előtt létre kell hozni a Gremlin API-fiókot. Emellett segít az adatbázis és a gráf helyének megőrzésében is.
Hozzon létre shell változókat az accountName, resourceGroupName és a lokáció számára.
# 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"Ha még nem tette meg, jelentkezzen be az Azure CLI-be a használatával
az login.Hozzon létre egy új
az group createerőforráscsoportot az előfizetésében.az group create \ --name $resourceGroupName \ --location $locationÚj
az cosmosdb createAPI létrehozása Gremlin-fiókhoz alapértelmezett beállításokkal.az cosmosdb create \ --resource-group $resourceGroupName \ --name $accountName \ --capabilities "EnableGremlin" \ --locations regionName=$location \ --enable-free-tier trueMegjegyzés:
Azure-előfizetésenként egy ingyenes szintű Azure Cosmos DB-fiókkal rendelkezhet, és a fiók létrehozásakor kell feliratkoznia. Ha ez a parancs nem alkalmazza az ingyenes szintű kedvezményt, ez azt jelenti, hogy az előfizetés egy másik fiókja már engedélyezve lett az ingyenes szinttel.
Kérje le a Gremlin-végpont API-ját NAME a fiókhoz a következő használatával:
az cosmosdb show.az cosmosdb show \ --resource-group $resourceGroupName \ --name $accountName \ --query "name"Keresse meg a KULCSOT a fiók
az-cosmosdb-keys-listkulcsainak listájából.az cosmosdb keys list \ --resource-group $resourceGroupName \ --name $accountName \ --type "keys" \ --query "primaryMasterKey"Jegyezze fel a NAME és KEY értékeket. Ezeket a hitelesítő adatokat később fogja használni.
Hozzon létre egy, a következővel elnevezett adatbázist
cosmicworksaz cosmosdb gremlin database create: .az cosmosdb gremlin database create \ --resource-group $resourceGroupName \ --account-name $accountName \ --name "cosmicworks"diagram létrehozása a következő használatával:
az cosmosdb gremlin graph create. Nevezze el a gráfotproducts, majd állítsa be az átviteli sebességet400, és végül állítsa a partíciókulcs elérési útját a következőre/category: .az cosmosdb gremlin graph create \ --resource-group $resourceGroupName \ --account-name $accountName \ --database-name "cosmicworks" \ --name "products" \ --partition-key-path "/category" \ --throughput 400
A Gremlin-konzol indítása és konfigurálása a Dockerrel
A Gremlin konzol esetében ez a gyorsútmutató a Docker Hub tinkerpop/gremlin-console tárolóképét használja. Ez a kép biztosítja, hogy a konzol (3.4) megfelelő verzióját használja a Gremlin API-val való kapcsolathoz. A konzol futtatása után csatlakozzon a helyi Docker-gazdagépről a Gremlin-fiók távoli API-hoz.
Kérje le a
3.4tinkerpop/gremlin-consoletárolólemezkép verzióját.docker pull tinkerpop/gremlin-console:3.4Hozzon létre egy üres munkamappát. Az üres mappában hozzon létre egy remote-secure.yaml fájlt. Adja hozzá ezt a YAML-konfigurációt a fájlhoz.
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 } }Megjegyzés:
Cserélje le a
<account-name><account-key>helyőrzőket az ebben a rövid útmutatóban korábban beszerzett NÉV és KULCS értékekre.Nyisson meg egy új terminált a munkamappa környezetében, amely tartalmazza a remote-secure.yaml fájlt.
Futtassa a Docker konténerképet interaktív (
--interactive --tty) módban. Győződjön meg arról, hogy az aktuális munkamappát a/opt/gremlin-console/conf/tárolón belüli elérési úthoz csatlakoztatja.docker run -it --mount type=bind,source=.,target=/opt/gremlin-console/conf/ tinkerpop/gremlin-console:3.4A Gremlin konzoltárolón belül csatlakozzon a távoli (API for Gremlin) fiókhoz a remote-secure.yaml konfigurációs fájl használatával.
:remote connect tinkerpop.server conf/remote-secure.yaml
Csúcspontok és élek létrehozása és átjárása
Most, hogy a konzol csatlakozik a fiókhoz, a standard Gremlin szintaxissal hozhat létre és léptethet át csúcsokat és éleket is.
Adjon hozzá egy csúcspontot egy termékhez a következő tulajdonságokkal:
Value címke productazonosító 68719518371nameKiama classic surfboardprice285.55categorysurfboards:> g.addV('product').property('id', '68719518371').property('name', 'Kiama classic surfboard').property('price', 285.55).property('category', 'surfboards')Important
Ne felejtse el az
:>előtagot. A parancs távoli futtatásához THis-előtag szükséges.Adjon hozzá egy másik termék csúcspontot a következő tulajdonságokkal:
Value címke productazonosító 68719518403nameMontau Turtle Surfboardprice600categorysurfboards:> g.addV('product').property('id', '68719518403').property('name', 'Montau Turtle Surfboard').property('price', 600).property('category', 'surfboards')Hozzon létre egy peremhálózatot ,
replacesamely a két termék közötti kapcsolatot határozza meg.:> g.V(['surfboards', '68719518403']).addE('replaces').to(g.V(['surfboards', '68719518371']))A gráf összes csúcsának megszámlálása.
:> g.V().count()A gráfon haladva keresse meg az összes csúcspontot, amely helyettesíti a
Kiama classic surfboard-t.:> g.V().hasLabel('product').has('category', 'surfboards').has('name', 'Kiama classic surfboard').inE('replaces').outV()Haladjon át a gráfon, hogy megtalálja az összes csúcsot, amelyet a
Montau Turtle Surfboardhelyettesít.:> g.V().hasLabel('product').has('category', 'surfboards').has('name', 'Montau Turtle Surfboard').outE('replaces').inV()
Erőforrások tisztítása
Ha már nincs szüksége a Gremlin-fiók API-jára, törölje a megfelelő erőforráscsoportot.
Hozzon létre egy rendszerhéjváltozót a resourceGroupName számára, ha még nem létezik.
# Variable for resource group name resourceGroupName="msdocs-cosmos-gremlin-quickstart"Az erőforráscsoport törlésére használható
az group delete.az group delete \ --name $resourceGroupName
Hogyan oldottuk meg a problémát?
Az Apache Gremlinhez készült Azure Cosmos DB a Gremlin szolgáltatásként való felajánlásával megoldotta a problémát. Ezzel az ajánlattal nem kell saját Gremlin szerverpéldányokat beüzemelnie, és nem kell az infrastruktúráját kezelnie. Még több, skálázhatja a megoldást, ahogy az igények idővel növekednek.
A Gremlin-fiók API-hoz való csatlakozáshoz a tinkerpop/gremlin-console tárolórendszerkép használatával úgy futtatta a Gremlin-konzolt, hogy az nem igényelt helyi telepítést. Ezután a remote-secure.yaml fájlban tárolt konfigurációval csatlakozott a futó konténerből a Gremlin-fiók API-jához. Innen futtatott több gyakori Gremlin-parancsot.