Rychlý start: Vytvoření grafové databáze v Azure Cosmos DB pomocí PHP a Azure Portal

PLATÍ PRO: Gremlin API

Tento rychlý start ukazuje, jak pomocí jazyka PHP a rozhraní Gremlin API služby Azure Cosmos DB sestavit aplikaci konzoly naklonováním příkladu z GitHubu. Tento rychlý start vás také provede vytvořením účtu Azure Cosmos DB pomocí webu Azure Portal.

Azure Cosmos DB je globálně distribuovaná databázová služba Microsoftu pro více modelů. Můžete rychle vytvořit a dotazovat databáze dokumentů, párů klíč-hodnota a grafů, které tak můžou využívat výhody možnosti globální distribuce a horizontálního škálování v jádru služby Azure Cosmos DB.

Požadavky

Pokud předplatné Azure nemáte, vytvořte si před zahájením bezplatný účet Azure . Alternativně můžete vyzkoušet službu Azure Cosmos DB zdarma bez předplatného Azure, poplatků a závazků.

Dále musí být splněny všechny tyto podmínky:

Vytvoření účtu databáze

Než budete moct vytvořit databázi grafu, je potřeba pomocí služby Azure Cosmos DB vytvořit účet databáze Gremlin (Graph).

  1. V novém okně prohlížeče se přihlaste k webu Azure Portal.

  2. V nabídce vlevo vyberte Vytvořit prostředek.

    Create a resource in the Azure portal

  3. Na stránce Nový vyberte DatabasesAzure>Cosmos DB.

    The Azure portal Databases pane

  4. Na stránce Vytvořit účet azure Cosmos DB zadejte nastavení nového účtu Azure Cosmos DB.

    Nastavení Hodnota Popis
    Předplatné Název předplatného Vyberte předplatné Azure, které chcete použít pro tento účet Azure Cosmos.
    Skupina prostředků Název skupiny prostředků Vyberte skupinu prostředků nebo vyberte Vytvořit nový a zadejte jedinečný název nové skupiny prostředků.
    Account Name Zadejte jedinečný název. Zadejte jedinečný název, který identifikuje váš účet služby Azure Cosmos DB. Identifikátor URI vašeho účtu se gremlin.azure.com připojí k vašemu jedinečnému názvu účtu.

    Název účtu může používat jenom malá písmena, číslice a pomlčky (-) a musí mít délku 3 až 44 znaků.
    Rozhraní API Gremlin (graf) Rozhraní API určuje typ účtu, který se má vytvořit. Azure Cosmos DB poskytuje pět rozhraní API: Core (SQL) pro databáze dokumentů, Gremlin pro grafové databáze, MongoDB pro databáze dokumentů, Azure Table a Cassandra. Pro každé rozhraní API musíte vytvořit samostatný účet.

    Vyberte Gremlin (graf), protože v tomto rychlém startu vytváříte tabulku, která funguje s rozhraním Gremlin API.

    Přečtěte si další informace o rozhraní Gremlin API.
    Umístění Oblast nejbližší vašim uživatelům Vyberte zeměpisné umístění, ve kterém chcete účet služby Azure Cosmos DB hostovat. Použijte umístění, které je nejblíže vašim uživatelům, abyste jim poskytli nejrychlejší přístup k datům.
    Režim kapacity Zřízená propustnost nebo bezserverová Vyberte Zřízenou propustnost a vytvořte účet v režimu zřízené propustnosti . Vyberte Bezserverový účet a vytvořte účet v bezserverovém režimu.
    Uplatnění slevy na úroveň Free služby Azure Cosmos DB Použít nebo neaplikovat S úrovní Free služby Azure Cosmos DB získáte prvních 1000 RU/s a 25 GB úložiště zdarma v účtu. Přečtěte si další informace o úrovni Free.

    Poznámka

    Pro každé předplatné Azure můžete mít až jeden bezplatný účet Azure Cosmos DB a při vytváření účtu se musíte přihlásit. Pokud možnost uplatnění slevy na úroveň Free nevidíte, znamená to, že pro úroveň Free už byl povolený jiný účet v předplatném.

    The new account page for Azure Cosmos DB

  5. Na kartě Globální distribuce nakonfigurujte následující podrobnosti. Pro účely tohoto rychlého startu můžete ponechat výchozí hodnoty:

    Nastavení Hodnota Popis
    Geografická redundance Zakázat Povolte nebo zakažte globální distribuci vašeho účtu spárováním oblasti s párovou oblastí. Do svého účtu můžete později přidat další oblasti.
    Zápisy do více oblastí Zakázat Funkce zápisu do více oblastí umožňuje využívat zřízenou propustnost pro vaše databáze a kontejnery po celém světě.

    Poznámka

    Pokud jako režim kapacity vyberete bezserverový režim, nejsou k dispozici následující možnosti:

    • Použít slevu založenou na bezplatné úrovni
    • Geografická redundance
    • Zápisy do více oblastí
  6. Volitelně můžete nakonfigurovat další podrobnosti na následujících kartách:

  7. Vyberte Zkontrolovat a vytvořit.

  8. Vytvoření účtu trvá několik minut. Počkejte, až se na portálu zobrazí blahopřejeme! Stránka s vytvořeným účtem Azure Cosmos DB

    Azure Cosmos DB account created page

Přidání grafu

Teď můžete pomocí nástroje Průzkumník dat na webu Azure Portal vytvořit databázi grafu.

  1. Vyberte Data ExplorerZnovte Graph>.

    Úplně vpravo se zobrazí oblast Přidat graf. Pokud ji nevidíte, možná se budete muset posunout doprava.

    The Azure portal Data Explorer, Add Graph page

  2. Na stránce Přidat graf zadejte nastavení pro nový graf.

    Nastavení Navrhovaná hodnota Popis
    ID databáze sample-database Jako název nové databáze zadejte sample-database. Názvy databází musí mít délku 1 až 255 znaků a nesmí obsahovat znaky / \ # ? ani koncové mezery.
    Propustnost 400 RU/s Změňte propustnost na 400 jednotek žádostí za sekundu (RU/s). Pokud budete chtít snížit latenci, můžete propustnost později navýšit.
    ID grafu sample-graph Jako název nové kolekce zadejte sample-graph. U názvů grafů platí stejné požadavky na znaky jako u ID databází.
    Partition Key (Klíč oddílu) /pk Všechny účty databáze Cosmos potřebují klíč oddílu pro horizontální škálování. Přečtěte si, jak vybrat odpovídající klíč oddílu v článku o dělení dat Graph.
  3. Po vyplnění formuláře vyberte OK.

Klonování ukázkové aplikace

Teď přejděme k práci s kódem. Pojďme naklonovat aplikaci rozhraní Gremlin API z GitHubu, nastavit připojovací řetězec a spustit ji. Přesvědčíte se, jak snadno se pracuje s daty prostřednictvím kódu programu.

  1. Otevřete příkazový řádek, vytvořte novou složku git-samples a pak příkazový řádek zavřete.

    md "C:\git-samples"
    
  2. Otevřete okno terminálu Git, například Git Bash, a pomocí příkazu cd přejděte do složky, do které chcete nainstalovat ukázkovou aplikaci.

    cd "C:\git-samples"
    
  3. Ukázkové úložiště naklonujete spuštěním následujícího příkazu. Tento příkaz vytvoří na vašem počítači kopii ukázkové aplikace.

    git clone https://github.com/Azure-Samples/azure-cosmos-db-graph-php-getting-started.git
    

Kontrola kódu

Tento krok je volitelný. Pokud chcete zjistit, jak se v kódu vytvářejí prostředky databáze, můžete si prohlédnout následující fragmenty kódu. Všechny fragmenty kódu pocházejí ze souboru connect.php ve složce C:\git-samples\azure-cosmos-db-graph-php-getting-started\. Jinak můžete přeskočit přímo k části Aktualizace informací o připojení.

  • Objekt connection konzoly Gremlin se inicializuje na začátku souboru connect.php pomocí objektu $db.

    $db = new Connection([
        'host' => '<your_server_address>.graphs.azure.com',
        'username' => '/dbs/<db>/colls/<coll>',
        'password' => 'your_primary_key'
        ,'port' => '443'
    
        // Required parameter
        ,'ssl' => TRUE
    ]);
    
  • Pomocí metody $db->send($query); se provede série kroků konzoly Gremlin.

    $query = "g.V().drop()";
    ...
    $result = $db->send($query);
    $errors = array_filter($result);
    }
    

Aktualizace informací o připojení

Teď se vraťte na portál Azure, kde najdete informace o připojení, a zkopírujte je do aplikace. Tato nastavení umožní aplikaci komunikovat s hostovanou databází.

  1. Na portálu Azure klikněte na Klíče.

    Zkopírujte první část hodnoty identifikátoru URI.

    View and copy an access key in the Azure portal, Keys page

  2. Otevřete soubor connect.php a na řádek 8 místo your_server_address vložte hodnotu identifikátoru URI.

    Inicializace objektu Connection by teď měla vypadat podobně jako v následujícím kódu:

    $db = new Connection([
        'host' => 'testgraphacct.gremlin.cosmosdb.azure.com',
        'username' => '/dbs/<db>/colls/<coll>',
        'password' => 'your_primary_key'
        ,'port' => '443'
    
        // Required parameter
        ,'ssl' => TRUE
    ]);
    
  3. Změňte parametr username v objektu Connection na název vaší databáze a grafu. Pokud jste použili doporučené hodnoty sample-database a sample-graph, měl by vypadat jako v následujícím kódu:

    'username' => '/dbs/sample-database/colls/sample-graph'

    Celý objekt Connection by teď měl vypadat jako v následujícím kódu:

    $db = new Connection([
        'host' => 'testgraphacct.gremlin.cosmosdb.azure.com',
        'username' => '/dbs/sample-database/colls/sample-graph',
        'password' => 'your_primary_key',
        'port' => '443'
    
        // Required parameter
        ,'ssl' => TRUE
    ]);
    
  4. Na portálu Azure pomocí tlačítka pro kopírování zkopírujte PRIMÁRNÍ KLÍČ a vložte ho místo your_primary_key v parametru password.

    Inicializace objektu Connection by teď měla vypadat jako v následujícím kódu:

    $db = new Connection([
        'host' => 'testgraphacct.graphs.azure.com',
        'username' => '/dbs/sample-database/colls/sample-graph',
        'password' => '2Ggkr662ifxz2Mg==',
        'port' => '443'
    
        // Required parameter
        ,'ssl' => TRUE
    ]);
    
  5. Uložte soubor connect.php.

Spuštění aplikace konzoly

  1. V okně terminálu Git přejděte příkazem cd do složky azure-cosmos-db-graph-php-getting-started.

    cd "C:\git-samples\azure-cosmos-db-graph-php-getting-started"
    
  2. V okně terminálu Git pomocí následujícího příkazu nainstalujte požadované závislosti jazyka PHP.

    composer install
    
  3. V okně terminálu Git pomocí následujícího příkazu spusťte aplikaci v jazyce PHP.

    php connect.php
    

    V okně terminálu se zobrazí vrcholy, které se přidávají do grafu.

    Pokud dochází k chybám časového limitu, zkontrolujte, že jste v části Aktualizace informací o připojení správně aktualizovali informace o připojení, a zkuste poslední příkaz spustit znovu.

    Po zastavení programu stiskněte Enter a pak v internetovém prohlížeči přejděte zpátky na portál Azure.

Kontrola a přidání ukázkových dat

Teď můžete přejít zpět do Průzkumníku dat a zobrazit vrcholy přidané do grafu a přidat další datové body.

  1. Klikněte na Průzkumník dat, rozbalte sample-graph, klikněte na Graf a potom klikněte na Použít filtr.

    Screenshot shows Graph selected from the A P I with the option to Apply Filter.

  2. V seznamu Výsledky si všimněte nových uživatelů přidaných do grafu. Vyberte ben a všimněte si, že jsou připojené k dotazování. Vrcholy můžete přesouvat přetahováním, přibližovat a oddalovat můžete pomocí kolečka myši a zvětšit plochu grafu můžete pomocí obousměrné šipky.

    New vertices in the graph in Data Explorer in the Azure portal

  3. Teď přidáme několik nových uživatelů. Klikněte na tlačítko Nový vrchol a přidejte do grafu data.

    Screenshot shows the New Vertex pane where you can enter values.

  4. Zadejte popisek person (osoba).

  5. Kliknutím na přidat vlastnost přidejte každou z následujících vlastností. Všimněte si, že pro každou osobu v grafu můžete vytvořit jedinečné vlastnosti. Vyžaduje se pouze klíč ID .

    Klíč Hodnota Poznámky
    id ashley Jedinečný identifikátor pro vrchol. Pokud identifikátor nezadáte, vygeneruje se pro vás.
    Pohlaví female (žena)
    tech (technologie) java

    Poznámka

    V tomto rychlém startu vytvoříte kolekci bez oddílů. Pokud však vytvoříte dělenou kolekci zadáním klíče oddílu při vytváření kolekce, pak každý nový vrchol bude muset zahrnovat klíč oddílu jako klíč.

  6. Klikněte na OK. Možná bude nutné zvětšit obrazovku, aby se tlačítko OK zobrazilo v dolní části obrazovky.

  7. Znovu klikněte na Nový vrchol a přidejte dalšího nového uživatele.

  8. Zadejte popisek person (osoba).

  9. Kliknutím na Přidat vlastnost přidejte následující vlastnosti:

    Klíč Hodnota Poznámky
    id rakesh Jedinečný identifikátor pro vrchol. Pokud identifikátor nezadáte, vygeneruje se pro vás.
    Pohlaví male (muž)
    school (škola) MIT
  10. Klikněte na OK.

  11. Klikněte na tlačítko Použít filtr s výchozím filtrem g.V() a zobrazte v grafu všechny hodnoty. Teď se v seznamu Výsledky zobrazí všichni uživatelé.

    S přidáváním dalších dat můžete pomocí filtrů omezit výsledky. Průzkumník dat ve výchozím nastavení pomocí filtru g.V() načte všechny vrcholy v grafu. Můžete ho změnit na jiný dotaz grafu, třeba g.V().count(), který vrátí počet všech vrcholů v grafu ve formátu JSON. Pokud jste filtr změnili, změňte ho zpátky na g.V(), klikněte na Použít filtr a znovu zobrazte všechny výsledky.

  12. Teď můžete propojit uživatele rakesh a ashley. Ujistěte se, že v seznamu Výsledky je vybraný uživatel ashley, a potom klikněte na tlačítko Upravit vedle položky Cíle vpravo dole. Možná budete muset rozšířit okno, aby se zobrazila oblast Vlastnosti.

    Change the target of a vertex in a graph

  13. Do pole Cíl zadejte rakesh, do pole Popisek hrany zadejte knows (zná) a potom klikněte na symbol zaškrtnutí.

    Add a connection between ashley and rakesh in Data Explorer

  14. Teď vyberte ze seznamu výsledků uživatele rakesh a zobrazí se propojení mezi uživateli ashley a rakesh.

    Two vertices connected in Data Explorer

    Tím je dokončená část tohoto rychlého startu, která se věnuje vytváření prostředků. Můžete pokračovat přidáním vrcholů do grafu, úpravou existujících vrcholů nebo změnou dotazů. Teď si projdeme metriky, které služba Azure Cosmos DB nabízí, a potom vyčistíme prostředky.

Ověření smluv SLA na webu Azure Portal

Azure Portal monitoruje propustnost účtu Cosmos DB, úložiště, dostupnost, latenci a konzistenci. Grafy metrik přidružených ke smlouvě SLA (Service Level Agreement) služby Azure Cosmos DB zobrazují hodnotu SLA v porovnání se skutečným výkonem. Tato sada metrik zajišťuje transparentní monitorování smluv SLA.

Kontrola metrik a smluv SLA:

  1. V navigační nabídce účtu Cosmos DB vyberte Metriky.

  2. Vyberte kartu, například Latence, a vyberte časový rámec napravo. Porovnejte skutečné čáry a čárySLA v grafech.

    Azure Cosmos DB metrics suite

  3. Zkontrolujte metriky na dalších kartách.

Vyčištění prostředků

Až skončíte s aplikací a účtem Azure Cosmos DB, můžete prostředky Azure, které jste vytvořili, odstranit, takže vám nebudou účtovány další poplatky. Odstranění prostředků:

  1. Na panelu hledání Azure Portal vyhledejte a vyberte skupiny prostředků.

  2. V seznamu vyberte skupinu prostředků, kterou jste vytvořili pro účely tohoto rychlého startu.

    Select the resource group to delete

  3. Na stránce Přehled skupiny prostředků vyberte Odstranit skupinu prostředků.

    Delete the resource group

  4. V dalším okně zadejte název skupiny prostředků, která chcete odstranit, a pak vyberte Odstranit.

Další kroky

V tomto rychlém startu jste se seznámili s postupem vytvoření účtu databáze Azure Cosmos, vytvoření grafu pomocí Průzkumníku dat a spuštění aplikace. Teď můžete pomocí konzoly Gremlin vytvářet složitější dotazy a implementovat účinnou logiku procházení grafů.