Mulai cepat: Melintasi simpul dan tepi dengan konsol Gremlin dan Azure Cosmos DB untuk Apache Gremlin
BERLAKU UNTUK: Gremlin
Azure Cosmos DB for Apache Gremlin adalah layanan database grafik yang dikelola sepenuhnya yang mengimplementasikan kerangka kerja komputasi grafik yang populer Apache Tinkerpop
menggunakan bahasa kueri Gremlin. API untuk Gremlin memberi Anda cara gesekan rendah untuk mulai menggunakan Gremlin dengan layanan yang dapat tumbuh dan meluaskan skala sebanyak yang Anda butuhkan dengan manajemen minimal.
Dalam mulai cepat ini, Anda menggunakan konsol Gremlin untuk menyambungkan ke akun Azure Cosmos DB for Gremlin yang baru dibuat.
Prasyarat
- Akun Azure dengan langganan aktif.
- Tidak ada langganan Azure? Daftar untuk akun Azure gratis.
- Tidak ingin langganan Azure? Anda dapat mencoba Azure Cosmos DB gratis tanpa memerlukan langganan.
- Host Docker
- Belum menginstal Docker? Coba mulai cepat ini di GitHub Codespaces.
- Azure Command-Line Interface (CLI)
Azure Cloud Shell
Azure meng-hosting Azure Cloud Shell, lingkungan shell interaktif yang dapat Anda gunakan melalui browser. Anda dapat menggunakan Bash atau PowerShell dengan Cloud Shell untuk bekerja dengan layanan Azure. Anda dapat menggunakan perintah Cloud Shell yang telah diinstal sebelumnya untuk menjalankan kode dalam artikel ini tanpa harus menginstal apa-apa di lingkungan lokal Anda.
Untuk memulai Azure Cloud Shell:
Opsi | Contoh/Tautan |
---|---|
Pilih Coba di pojok kanan atas blok kode atau perintah. Memilih Coba tidak otomatis menyalin kode atau perintah ke Cloud Shell. | ![]() |
Buka https://shell.azure.com, atau pilih tombol Luncurkan Cloud Shell untuk membuka Cloud Shell di browser Anda. | ![]() |
Pilih tombol Cloud Shell pada bilah menu di kanan atas di portal Microsoft Azure. | ![]() |
Untuk menggunakan Azure Cloud Shell:
Mulai Cloud Shell.
Pilih tombol Salin pada blok kode (atau blok perintah) untuk menyalin kode atau perintah.
Tempel kode atau perintah ke dalam sesi Cloud Shell dengan memilih Ctrl+Shift+V di Windows dan Linux, atau dengan memilih Cmd+Shift+V di macOS.
Pilih Masukkan untuk menjalankan kode atau perintah.
Membuat API untuk akun Gremlin dan sumber daya yang relevan
API untuk akun Gremlin harus dibuat sebelum menggunakan konsol Gremlin. Selain itu, ini membantu juga memiliki database dan grafik di tempat.
Buat variabel shell untuk accountName, resourceGroupName, dan location.
# 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"
Jika Anda belum melakukannya, masuk ke Azure CLI menggunakan
az login
.Gunakan
az group create
untuk membuat grup sumber daya baru di langganan Anda.az group create \ --name $resourceGroupName \ --location $location
Gunakan
az cosmosdb create
untuk membuat API baru untuk akun Gremlin dengan pengaturan default.az cosmosdb create \ --resource-group $resourceGroupName \ --name $accountName \ --capabilities "EnableGremlin" \ --locations regionName=$location \ --enable-free-tier true
Catatan
Anda dapat memiliki hingga satu akun Azure Cosmos DB tingkat gratis per langganan Azure dan harus ikut serta saat membuat akun. Jika perintah ini gagal menerapkan diskon tingkat gratis, ini berarti akun lain dalam langganan telah diaktifkan dengan tingkat gratis.
Dapatkan API untuk NAMA titik akhir Gremlin untuk akun menggunakan
az cosmosdb show
.az cosmosdb show \ --resource-group $resourceGroupName \ --name $accountName \ --query "name"
Temukan KEY dari daftar kunci untuk akun dengan
az-cosmosdb-keys-list
.az cosmosdb keys list \ --resource-group $resourceGroupName \ --name $accountName \ --type "keys" \ --query "primaryMasterKey"
Catat nilai NAME dan KEY . Anda menggunakan kredensial ini nanti.
Buat database bernama
cosmicworks
menggunakanaz cosmosdb gremlin database create
.az cosmosdb gremlin database create \ --resource-group $resourceGroupName \ --account-name $accountName \ --name "cosmicworks"
Buat grafik menggunakan
az cosmosdb gremlin graph create
. Beri nama grafikproducts
, lalu atur throughput ke400
, dan akhirnya atur jalur kunci partisi ke/category
.az cosmosdb gremlin graph create \ --resource-group $resourceGroupName \ --account-name $accountName \ --database-name "cosmicworks" \ --name "products" \ --partition-key-path "/category" \ --throughput 400
Memulai dan mengonfigurasi konsol Gremlin menggunakan Docker
Untuk konsol tinkerpop/gremlin-console
gremlin, mulai cepat ini menggunakan gambar kontainer dari Docker Hub. Gambar ini memastikan bahwa Anda menggunakan versi konsol yang sesuai (3.4
) untuk koneksi dengan API untuk Gremlin. Setelah konsol berjalan, sambungkan dari host Docker lokal Anda ke API jarak jauh untuk akun Gremlin.
3.4
Tarik versitinkerpop/gremlin-console
gambar kontainer.docker pull tinkerpop/gremlin-console:3.4
Buat folder kerja kosong. Di folder kosong, buat file remote-secure.yaml . Tambahkan konfigurasi YAML ini ke file.
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 } }
Catatan
<account-name>
Ganti tempat penampung dan<account-key>
dengan nilai NAME dan KEY yang diperoleh sebelumnya dalam mulai cepat ini.Buka terminal baru dalam konteks folder kerja Anda yang menyertakan file remote-secure.yaml .
Jalankan gambar kontainer Docker dalam mode interaktif (
--interactive --tty
). Pastikan Anda memasang folder kerja saat ini ke/opt/gremlin-console/conf/
jalur dalam kontainer.docker run -it --mount type=bind,source=.,target=/opt/gremlin-console/conf/ tinkerpop/gremlin-console:3.4
Dalam kontainer konsol Gremlin, sambungkan ke akun jarak jauh (API untuk Gremlin) menggunakan file konfigurasi remote-secure.yaml .
:remote connect tinkerpop.server conf/remote-secure.yaml
Membuat dan melintasi simpul dan tepi
Sekarang setelah konsol terhubung ke akun, gunakan sintaks Gremlin standar untuk membuat dan melintasi simpul dan tepi.
Tambahkan puncak untuk produk dengan properti berikut:
Nilai label product
id 68719518371
name
Kiama classic surfboard
price
285.55
category
surfboards
:> g.addV('product').property('id', '68719518371').property('name', 'Kiama classic surfboard').property('price', 285.55).property('category', 'surfboards')
Penting
Jangan foget awalan
:>
. Awalan THis diperlukan untuk menjalankan perintah dari jarak jauh.Tambahkan vertex produk lain dengan properti ini:
Nilai label product
id 68719518403
name
Montau Turtle Surfboard
price
600
category
surfboards
:> g.addV('product').property('id', '68719518403').property('name', 'Montau Turtle Surfboard').property('price', 600).property('category', 'surfboards')
Buat tepi bernama
replaces
untuk menentukan hubungan antara kedua produk.:> g.V(['surfboards', '68719518403']).addE('replaces').to(g.V(['surfboards', '68719518371']))
Hitung semua simpul dalam grafik.
:> g.V().count()
Melintasi grafik untuk menemukan semua simpul yang menggantikan
Kiama classic surfboard
.:> g.V().hasLabel('product').has('category', 'surfboards').has('name', 'Kiama classic surfboard').inE('replaces').outV()
Melintasi grafik untuk menemukan semua simpul yang
Montau Turtle Surfboard
menggantikan.:> g.V().hasLabel('product').has('category', 'surfboards').has('name', 'Montau Turtle Surfboard').outE('replaces').inV()
Membersihkan sumber daya
Ketika Anda tidak lagi memerlukan API untuk akun Gremlin, hapus grup sumber daya yang sesuai.
Buat variabel shell untuk resourceGroupName jika belum ada.
# Variable for resource group name resourceGroupName="msdocs-cosmos-gremlin-quickstart"
Gunakan
az group delete
untuk menghapus grup sumber daya.az group delete \ --name $resourceGroupName
Bagaimana kita memecahkan masalah?
Azure Cosmos DB untuk Apache Gremlin memecahkan masalah kami dengan menawarkan Gremlin sebagai layanan. Dengan penawaran ini, Anda tidak diharuskan untuk membuat instans server Gremlin Anda sendiri atau mengelola infrastruktur Anda sendiri. Bahkan lebih, Anda dapat menskalakan solusi saat kebutuhan Anda tumbuh dari waktu ke waktu.
Untuk menyambungkan ke API untuk akun Gremlin, Anda menggunakan tinkerpop/gremlin-console
gambar kontainer untuk menjalankan konsol gremlin dengan cara yang tidak memerlukan penginstalan lokal. Kemudian, Anda menggunakan konfigurasi yang disimpan dalam file remote-secure.yaml untuk menyambungkan dari kontainer yang sedang berjalan API untuk akun Gremlin. Dari sana, Anda menjalankan beberapa perintah Gremlin umum.