Szybki Start: Tworzenie aplikacji node. js przy użyciu Azure Cosmos DB konta interfejsu API GremlinQuickstart: Build a Node.js application by using Azure Cosmos DB Gremlin API account

W tym przewodniku szybki start utworzysz konto interfejsu API Azure Cosmos DB Gremlin (Graph) z Azure Portal i zarządzasz nim, a następnie dodasz dane przy użyciu aplikacji node. js sklonowanej z usługi GitHub.In this quickstart, you create and manage an Azure Cosmos DB Gremlin (graph) API account from the Azure portal, and add data by using a Node.js app cloned from GitHub. Azure Cosmos DB to wielomodelowa usługa bazy danych, która pozwala szybko tworzyć i wysyłać zapytania dotyczące dokumentów, tabel, kluczy i wartościowych baz danych przy użyciu dystrybucji globalnej i możliwości skalowania w poziomie.Azure Cosmos DB is a multi-model database service that lets you quickly create and query document, table, key-value, and graph databases with global distribution and horizontal scale capabilities.

Wymagania wstępnePrerequisites

Tworzenie konta bazy danychCreate a database account

  1. W nowym oknie przeglądarki zaloguj się do witryny Azure Portal.In a new browser window, sign in to the Azure portal.

  2. W menu po lewej stronie wybierz pozycję Utwórz zasób.In the left menu, select Create a resource.

    Utwórz zasób w Azure Portal

  3. Na stronie Nowy wybierz pozycję bazy danych > Azure Cosmos DB.On the New page, select Databases > Azure Cosmos DB.

    Okienko Bazy danych w witrynie Azure Portal

  4. Na stronie Tworzenie konta Azure Cosmos DB wprowadź ustawienia dla nowego konta Azure Cosmos DB.On the Create Azure Cosmos DB Account page, enter the settings for the new Azure Cosmos DB account.

    UstawienieSetting WartośćValue OpisDescription
    SubskrypcjaSubscription Twoja subskrypcjaYour subscription Wybierz subskrypcję platformy Azure, której chcesz użyć dla tego konta usługi Azure Cosmos DB.Select the Azure subscription that you want to use for this Azure Cosmos DB account.
    Grupa zasobówResource Group Tworzenie nowego elementuCreate new

    Następnie wprowadź taką samą nazwę jak nazwa kontaThen enter the same name as Account Name
    Wybierz pozycjęUtwórz nowy.Select Create new. Następnie wprowadź nową nazwę grupy zasobów dla swojego konta.Then enter a new resource group name for your account. Dla uproszczenia Użyj takiej samej nazwy, jak nazwa konta Azure Cosmos DB.For simplicity, use the same name as your Azure Cosmos DB account name.
    Nazwa kontaAccount Name Wprowadź unikatową nazwęEnter a unique name Wprowadź unikatową nazwę do identyfikacji konta usługi Azure Cosmos DB.Enter a unique name to identify your Azure Cosmos DB account. Identyfikator URI konta zostanie Gremlin.Azure.com dołączony do unikatowej nazwy konta.Your account URI will be gremlin.azure.com appended to your unique account name.

    Nazwa konta może zawierać tylko małe litery, cyfry i łączniki (-) i musi mieć długość od 3 do 31 znaków.The account name can use only lowercase letters, numbers, and hyphens (-), and must be between 3 and 31 characters long.
    Interfejs APIAPI Gremlin (graf)Gremlin (graph) Interfejs API określa typ konta do utworzenia.The API determines the type of account to create. Azure Cosmos DB oferuje pięć interfejsów API: Core (SQL) dla baz danych dokumentów, Gremlin dla baz danych programu Graph, MongoDB dla baz danych dokumentów, Azure Table i Cassandra.Azure Cosmos DB provides five APIs: Core (SQL) for document databases, Gremlin for graph databases, MongoDB for document databases, Azure Table, and Cassandra. Należy utworzyć osobne konto dla każdego interfejsu API.You must create a separate account for each API.

    Wybierz pozycję Gremlin (Graph) , ponieważ w tym przewodniku szybki start tworzysz tabelę, która współpracuje z interfejsem API Gremlin.Select Gremlin (graph), because in this quickstart you are creating a table that works with the Gremlin API.

    Dowiedz się więcej o interfejsie API Gremlin.Learn more about the Gremlin API.
    LokalizacjaLocation Wybierz region najbliżej Twoich użytkownikówSelect the region closest to your users Wybierz lokalizację geograficzną, w której będzie hostowane konto usługi Azure Cosmos DB.Select a geographic location to host your Azure Cosmos DB account. Użyj lokalizacji znajdującej się najbliżej Twoich użytkowników, aby zapewnić im najszybszy dostęp do danych.Use the location that's closest to your users to give them the fastest access to the data.

    Wybierz pozycję Przeglądanie+tworzenie.Select Review+Create. Możesz pominąć sekcje Sieć i Tagi.You can skip the Network and Tags section.

    Strona nowego konta usługi Azure Cosmos DB

  5. Tworzenie konta potrwa kilka minut.The account creation takes a few minutes. Poczekaj, aż Portal wyświetli gratulacje! Twoje konto Azure Cosmos DB zostało utworzone .Wait for the portal to display the Congratulations! Your Azure Cosmos DB account was created page.

    Strona tworzenia konta Azure Cosmos DB

Dodawanie grafuAdd a graph

Teraz możesz użyć narzędzia Eksplorator danych w witrynie Azure Portal, aby utworzyć bazę danych grafów.You can now use the Data Explorer tool in the Azure portal to create a graph database.

  1. Wybierz pozycję Eksplorator danych > Nowy Graf.Select Data Explorer > New Graph.

    Obszar Dodaj graf jest wyświetlany po prawej stronie i konieczne może być przewinięcie w prawo w celu wyświetlenia go.The Add Graph area is displayed on the far right, you may need to scroll right to see it.

    Eksplorator danych witryny Azure Portal, strona Dodaj graf

  2. Na stronie Dodaj graf wprowadź ustawienia dla nowego grafu.In the Add graph page, enter the settings for the new graph.

    UstawienieSetting Sugerowana wartośćSuggested value OpisDescription
    Identyfikator bazy danychDatabase ID sample-databasesample-database Wprowadź sample-database jako nazwę nowej bazy danych.Enter sample-database as the name for the new database. Nazwy baz danych muszą zawierać od 1 do 255 znaków i nie mogą zawierać znaków / \ # ? ani mieć spacji na końcu.Database names must be between 1 and 255 characters, and cannot contain / \ # ? or a trailing space.
    PrzepływnośćThroughput 400 jednostek żądania400 RUs Zmień przepływność na 400 jednostek żądania na sekundę (RU/s).Change the throughput to 400 request units per second (RU/s). Jeśli chcesz zmniejszyć opóźnienie, możesz później przeskalować przepływność w górę.If you want to reduce latency, you can scale up the throughput later.
    Identyfikator grafuGraph ID sample-graphsample-graph Wprowadź sample-graph jako nazwę nowej kolekcji.Enter sample-graph as the name for your new collection. W przypadku nazw grafów obowiązują takie same wymagania dotyczące znaków jak dla identyfikatorów baz danych.Graph names have the same character requirements as database IDs.
    Klucz partycjiPartition Key /pk/pk Wszystkie konta Cosmos DB muszą mieć klucz partycji w poziomie.All Cosmos DB accounts need a partition key to horizontally scale. Dowiedz się, jak wybrać odpowiedni klucz partycji w artykule Partycjonowanie danych grafu.Learn how to select an appropriate partition key in the Graph Data Partitioning article.
  3. Po wypełnieniu formularza wybierz przycisk OK.Once the form is filled out, select OK.

Klonowanie przykładowej aplikacjiClone the sample application

Teraz sklonujemy aplikację interfejsu API języka Gremlin z repozytorium GitHub, ustawimy parametry połączenia i uruchomimy ją.Now let's clone a Gremlin API app from GitHub, set the connection string, and run it. Zobaczysz, jak łatwo jest pracować programowo z danymi.You'll see how easy it is to work with data programmatically.

  1. Otwórz wiersz polecenia, utwórz nowy folder o nazwie git-samples, a następnie zamknij wiersz polecenia.Open a command prompt, create a new folder named git-samples, then close the command prompt.

    md "C:\git-samples"
    
  2. Otwórz okno terminalu usługi Git, na przykład git bash, i użyj polecenia cd, aby przejść do nowego folderu instalacji aplikacji przykładowej.Open a git terminal window, such as git bash, and use the cd command to change to the new folder to install the sample app.

    cd "C:\git-samples"
    
  3. Uruchom następujące polecenie w celu sklonowania przykładowego repozytorium.Run the following command to clone the sample repository. To polecenie tworzy kopię przykładowej aplikacji na komputerze.This command creates a copy of the sample app on your computer.

    git clone https://github.com/Azure-Samples/azure-cosmos-db-graph-nodejs-getting-started.git
    
  4. Otwórz plik rozwiązania w programie Visual Studio.Open the solution file in Visual Studio.

Przeglądanie koduReview the code

Ten krok jest opcjonalny.This step is optional. Jeśli chcesz dowiedzieć się, jak zasoby bazy danych są tworzone w kodzie, możesz przejrzeć poniższe fragmenty kodu.If you're interested in learning how the database resources are created in the code, you can review the following snippets. W przeciwnym razie możesz od razu przejść do sekcji Aktualizowanie parametrów połączenia.Otherwise, you can skip ahead to Update your connection string.

Wszystkie poniższe fragmenty kodu pochodzą z pliku app.js.The following snippets are all taken from the app.js file.

Ta Aplikacja konsolowa używa sterownika Gremlin środowiska Node. js programu Open Source.This console app uses the open-source Gremlin Node.js driver.

  • Tworzenie klienta języka Gremlin.The Gremlin client is created.

    const authenticator = new Gremlin.driver.auth.PlainTextSaslAuthenticator(
        `/dbs/${config.database}/colls/${config.collection}`, 
        config.primaryKey
    )
    
    
    const client = new Gremlin.driver.Client(
        config.endpoint, 
        { 
            authenticator,
            traversalsource : "g",
            rejectUnauthorized : true,
            mimeType : "application/vnd.gremlin-v2.0+json"
        }
    );
    
    

    Konfiguracje są wszystkie w pliku config. js, który edytujemy w poniższej sekcji.The configurations are all in config.js, which we edit in the following section.

  • W celu wykonywania różnych operacji języka Gremlin zdefiniowano serie funkcji.A series of functions are defined to execute different Gremlin operations. To jest jedna z nich:This is one of them:

    function addVertex1()
    {
        console.log('Running Add Vertex1'); 
        return client.submit("g.addV(label).property('id', id).property('firstName', firstName).property('age', age).property('userid', userid).property('pk', 'pk')", {
                label:"person",
                id:"thomas",
                firstName:"Thomas",
                age:44, userid: 1
            }).then(function (result) {
                    console.log("Result: %s\n", JSON.stringify(result));
            });
    }
    
  • Każda funkcja wykonuje metodę client.execute z parametrem ciągu zapytania języka Gremlin.Each function executes a client.execute method with a Gremlin query string parameter. Oto przykład wykonywania metody g.V().count():Here is an example of how g.V().count() is executed:

    function countVertices()
    {
        console.log('Running Count');
        return client.submit("g.V().count()", { }).then(function (result) {
            console.log("Result: %s\n", JSON.stringify(result));
        });
    }
    
  • Na końcu pliku są następnie wywoływane wszystkie metody.At the end of the file, all methods are then invoked. Powoduje wykonywanie ich jedna po drugiej:This will execute them one after the other:

    client.open()
    .then(dropGraph)
    .then(addVertex1)
    .then(addVertex2)
    .then(addEdge)
    .then(countVertices)
    .catch((err) => {
        console.error("Error running query...");
        console.error(err)
    }).then((res) => {
        client.close();
        finish();
    }).catch((err) => 
        console.error("Fatal error:", err)
    );
    

Aktualizowanie parametrów połączeniaUpdate your connection string

  1. Otwórz plik config. js .Open the config.js file.

  2. W pliku config. jswypełnij klucz config.endpoint wartością Endpoint Gremlin na stronie Przegląd konta Cosmos DB w Azure Portal.In config.js, fill in the config.endpoint key with the Gremlin Endpoint value from the Overview page of your Cosmos DB account in the Azure portal.

    config.endpoint = "https://<your_Gremlin_account_name>.gremlin.cosmosdb.azure.com:443/";

    Wyświetlanie i kopiowanie klucza dostępu w Azure Portal, Strona przegląd

  3. W pliku config. jsWypełnij wartość config. PrimaryKey wartością klucza podstawowego ze strony klucze konta Cosmos DB w Azure Portal.In config.js, fill in the config.primaryKey value with the Primary Key value from the Keys page of your Cosmos DB account in the Azure portal.

    config.primaryKey = "PRIMARYKEY";

    Blok „Klucze” w witrynie Azure Portal

  4. Wprowadź nazwę bazy danych i nazwę grafu (kontenera) dla wartości parametrów config.database i config.collection.Enter the database name, and graph (container) name for the value of config.database and config.collection.

Oto przykład tego, jak ukończony plik config. js powinien wyglądać następująco:Here's an example of what your completed config.js file should look like:

var config = {}

// Note that this must not have HTTPS or the port number
config.endpoint = "https://testgraphacct.gremlin.cosmosdb.azure.com:443/"; 
config.primaryKey = "Pams6e7LEUS7LJ2Qk0fjZf3eGo65JdMWHmyn65i52w8ozPX2oxY3iP0yu05t9v1WymAHNcMwPIqNAEv3XDFsEg==";
config.database = "graphdb"
config.collection = "Persons"

module.exports = config;

Uruchamianie aplikacji konsolowejRun the console app

  1. Otwórz okno terminalu i przejdź do katalogu instalacyjnego pliku Package. JSON , który jest zawarty w projekcie, przy użyciu polecenia cd.Open a terminal window and change (via cd command) to the installation directory for the package.json file that's included in the project.

  2. Uruchom polecenie npm install, aby zainstalować wymagane moduły npm, w tym gremlin.Run npm install to install the required npm modules, including gremlin.

  3. Uruchom polecenie node app.js w terminalu, aby uruchomić aplikację Node.Run node app.js in a terminal to start your node application.

Przeglądanie w Eksploratorze danychBrowse with Data Explorer

Teraz możesz wrócić do Eksploratora danych w witrynie Azure Portal, aby wyświetlać nowe dane grafu, wykonywać o nie zapytania, modyfikować je i pracować z nimi.You can now go back to Data Explorer in the Azure portal to view, query, modify, and work with your new graph data.

W Eksploratorze danych nowa baza danych jest wyświetlana w okienku Grafy.In Data Explorer, the new database appears in the Graphs pane. Rozwiń bazę danych i kontener, a następnie wybierz pozycję Graf.Expand the database, followed by the container, and then select Graph.

Dane generowane przez aplikację przykładową będą wyświetlane w kolejnym okienku na karcie Graf, gdy wybierzesz przycisk Zastosuj filtr.The data generated by the sample app is displayed in the next pane within the Graph tab when you select Apply Filter.

Spróbuj uzupełnić wartość g.V() ciągiem .has('firstName', 'Thomas'), aby przetestować filtr.Try completing g.V() with .has('firstName', 'Thomas') to test the filter. Pamiętaj, że w wartości jest uwzględniana wielkość liter.Note that the value is case sensitive.

Przeglądanie umów SLA w witrynie Azure PortalReview SLAs in the Azure portal

Azure Portal monitoruje przepływność, magazyn, dostępność, opóźnienia i spójność konta Cosmos DB.The Azure portal monitors your Cosmos DB account throughput, storage, availability, latency, and consistency. Wykresy dla metryk skojarzonych z Umowa dotycząca poziomu usług Azure Cosmos dB (SLA) pokazują wartość SLA w porównaniu z rzeczywistą wydajnością.Charts for metrics associated with an Azure Cosmos DB Service Level Agreement (SLA) show the SLA value compared to actual performance. Ten pakiet metryk pozwala monitorować umowy SLA przezroczyste.This suite of metrics makes monitoring your SLAs transparent.

Aby przejrzeć metryki i umowy SLA:To review metrics and SLAs:

  1. Wybierz pozycję metryki w menu nawigacji konta Cosmos DB.Select Metrics in your Cosmos DB account's navigation menu.

  2. Wybierz kartę, na przykład opóźnienie, a następnie wybierz przedział czasu po prawej stronie.Select a tab such as Latency, and select a timeframe on the right. Porównaj wiersze rzeczywiste i SLA na wykresach.Compare the Actual and SLA lines on the charts.

    Zestaw metryk w usłudze Azure Cosmos DB

  3. Przejrzyj metryki na innych kartach.Review the metrics on the other tabs.

Czyszczenie zasobówClean up your resources

Po zakończeniu korzystania z aplikacji i konta Azure Cosmos DB można usunąć utworzone zasoby platformy Azure, aby nie nawiązać dodatkowych opłat.When you're done with your app and Azure Cosmos DB account, you can delete the Azure resources you created so you don't incur more charges. Aby usunąć zasoby:To delete the resources:

  1. Na pasku wyszukiwania Azure Portal Wyszukaj i wybierz pozycję grupy zasobów.In the Azure portal Search bar, search for and select Resource groups.

  2. Z listy wybierz grupę zasobów utworzoną dla tego przewodnika Szybki Start.From the list, select the resource group you created for this quickstart.

    Wybierz grupę zasobów do usunięcia

  3. Na stronie Przegląd grupy zasobów wybierz pozycję Usuń grupę zasobów.On the resource group Overview page, select Delete resource group.

    Usuwanie grupy zasobów

  4. W następnym oknie wprowadź nazwę grupy zasobów do usunięcia, a następnie wybierz pozycję Usuń.In the next window, enter the name of the resource group to delete, and then select Delete.

Następne krokiNext steps

W tym artykule przedstawiono sposób tworzenia konta Azure Cosmos DB, tworzenia wykresu przy użyciu Eksplorator danych i uruchamiania aplikacji node. js w celu dodania danych do grafu.In this article, you learned how to create an Azure Cosmos DB account, create a graph by using Data Explorer, and run a Node.js app to add data to the graph. Teraz możesz tworzyć bardziej złożone zapytania i implementować zaawansowaną logikę przechodzenia grafu za pomocą języka Gremlin.You can now build more complex queries and implement powerful graph traversal logic by using Gremlin.