Rychlý start: Sestavení aplikace Cassandra pomocí .NET Core a Azure Cosmos DB

PLATÍ PRO: Cassandra

V tomto rychlém startu se dozvíte, jak pomocí .NET Core a rozhraní API služby Azure Cosmos DB for Cassandra sestavit aplikaci profilu naklonováním příkladu z GitHubu. Tento rychlý start také ukazuje, jak pomocí webového portálu Azure Portal vytvořit účet Azure Cosmos DB.

Azure Cosmos DB je celosvětově rozšířená vícemodelová databázová služba společnosti Microsoft. 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.

Předpoklady

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

Kromě toho je potřeba toto:

  • Nejnovější sada Visual Studio s úlohou vývoje pro Azure Můžete začít s bezplatným integrovaným vývojovém prostředím sady Visual Studio Community. Během instalace sady Visual Studio povolte úlohu vývoje Pro Azure.
  • Nainstalujte Git pro klonování příkladu.

Vytvoření účtu databáze

  1. V nabídce webu Azure Portal nebo na domovské stránce vyberte Vytvořit prostředek.

  2. Na stránce Nový vyhledejte a vyberte Azure Cosmos DB.

  3. Na stránce Azure Cosmos DB vyberte Vytvořit.

  4. Na stránce rozhraní API vyberte v části Cassandra možnost Vytvořit.

    Rozhraní API určuje typ účtu, který se má vytvořit. Azure Cosmos DB poskytuje pět rozhraní API: NoSQL 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 Cassandra, protože v tomto rychlém startu vytváříte tabulku, která funguje s rozhraním API pro Cassandra.

    Přečtěte si další informace o rozhraní API pro Cassandra.

  5. Na stránce Vytvořit účet služby Azure Cosmos DB zadejte základní nastavení nového účtu služby Azure Cosmos DB.

    Nastavení Hodnota Popis
    Předplatné Vaše předplatné Vyberte předplatné Azure, které chcete pro tento účet služby Azure Cosmos DB použít.
    Skupina prostředků vytvoření nových

    Potom zadejte stejný název jako Název účtu.
    Vyberte, že chcete vytvořit novou IP adresu. Pak zadejte název nové skupiny prostředků pro váš účet. Pro zjednodušení použijte stejný název jako název účtu služby Azure Cosmos DB.
    Název účtu 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 cassandra.cosmos.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ž 31 znaků.
    Poloha 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 vašim uživatelům nejbližší, abyste jim zajistili 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 nepoužovat S úrovní Free služby Azure Cosmos DB získáte prvních 1 000 RU/s a 25 GB úložiště zdarma v účtu. Další informace o úrovni Free
    Omezení celkové propustnosti účtu Vyberte, pokud chcete omezit propustnost účtu. To je užitečné, pokud chcete omezit celkovou propustnost účtu na konkrétní hodnotu.

    Poznámka:

    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 vám nezobrazuje možnost použít slevu založenou na úrovni Free, znamená to, že v předplatném už je povolený jiný účet s úrovní Free.

    The new account page for Azure Cosmos DB for Apache Cassandra

  6. 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í. Další oblasti můžete do svého účtu přidat později.
    Zápisy do více oblastí Zakázat Funkce zápisu do více oblastí umožňuje využívat zřízenou propustnost pro databáze a kontejnery po celém světě.
    Zóny dostupnosti Zakázat Zóny dostupnosti jsou izolovaná umístění v rámci oblasti Azure. Každou zónu tvoří jedno nebo několik datacenter vybavených nezávislým napájením, chlazením a sí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í
  7. Volitelně můžete nakonfigurovat další podrobnosti na následujících kartách:

    • Sítě – Konfigurace přístupu z virtuální sítě
    • Zásady zálohování – Nakonfigurujte zásady pravidelného nebo průběžného zálohování.
    • Šifrování – Použijte klíč spravovaný službou nebo klíč spravovaný zákazníkem.
    • Značky – Značky jsou páry názvů a hodnot, které umožňují kategorizovat prostředky a zobrazit konsolidovanou fakturaci použitím stejné značky u více prostředků a skupin prostředků.
  8. Vyberte Zkontrolovat a vytvořit.

  9. Zkontrolujte nastavení účtu a pak vyberte Vytvořit. Vytvoření účtu trvá několik minut. Počkejte, až se na portálu zobrazí stránka s textem Vaše nasazení je hotové.

    The Azure portal Notifications pane

  10. Pokud chcete přejít na stránku účtu Azure Cosmos DB, vyberte Přejít k prostředku.

Klonování ukázkové aplikace

Teď přejděme k práci s kódem. Naklonujeme z GitHubu rozhraní API pro aplikaci Cassandra, nastavíme připojovací řetězec a spustíme ji. Uvidíte, jak snadno můžete pracovat s daty prostřednictvím kódu programu.

  1. Otevřete příkazový řádek. Vytvořte novou složku s názvem git-samples. Pak zavřete příkazový řádek.

    md "C:\git-samples"
    
  2. Otevřete okno terminálu Git, například Git Bash, a pomocí příkazu cd přejděte do nové 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-cassandra-dotnet-core-getting-started.git
    
  4. Potom otevřete soubor řešení CassandraQuickStartSample v sadě Visual Studio.

Kontrola kódu

Tento krok je nepovinný. Pokud vás zajímá, jak se pomocí kódu vytvoří prostředky databáze, můžete si prohlédnout následující fragmenty kódu. Všechny fragmenty kódu pocházejí ze Program.cs souboru v rámci async Task ProcessAsync() metody nainstalované ve C:\git-samples\azure-cosmos-db-cassandra-dotnet-core-getting-started\CassandraQuickStart složce. Jinak můžete přeskočit přímo k části Aktualizace připojovacího řetězce.

  • Inicializujte relaci připojením ke koncovému bodu clusteru Cassandra. Rozhraní API pro Cassandra ve službě Azure Cosmos DB podporuje pouze TLSv1.2.

    var options = new Cassandra.SSLOptions(SslProtocols.Tls12, true, ValidateServerCertificate);
    options.SetHostNameResolver((ipAddress) => CASSANDRACONTACTPOINT);
    Cluster cluster = Cluster
        .Builder()
        .WithCredentials(USERNAME, PASSWORD)
        .WithPort(CASSANDRAPORT)
        .AddContactPoint(CASSANDRACONTACTPOINT)
        .WithSSL(options)
        .Build()
    ;
    ISession session = await cluster.ConnectAsync();
    
  • Odstraňte existující prostor klíčů, pokud již existuje.

    await session.ExecuteAsync(new SimpleStatement("DROP KEYSPACE IF EXISTS uprofile")); 
    
  • Vytvořte nový prostor klíčů.

    await session.ExecuteAsync(new SimpleStatement("CREATE KEYSPACE uprofile WITH REPLICATION = { 'class' : 'NetworkTopologyStrategy', 'datacenter1' : 1 };"));
    
  • Vytvoření nové tabulky.

    await session.ExecuteAsync(new SimpleStatement("CREATE TABLE IF NOT EXISTS uprofile.user (user_id int PRIMARY KEY, user_name text, user_bcity text)"));
    
  • Vložte entity uživatelů pomocí objektu IMapper s novou relací, která se připojuje k prostoru klíčů uprofile.

    await mapper.InsertAsync<User>(new User(1, "LyubovK", "Dubai"));
    
  • Použijte dotaz pro získání informací o všech uživatelích.

    foreach (User user in await mapper.FetchAsync<User>("Select * from user"))
    {
        Console.WriteLine(user);
    }
    
  • Použijte dotaz pro získání informací o jednom uživateli.

    mapper.FirstOrDefault<User>("Select * from user where user_id = ?", 3);
    

Aktualizace připojovacího řetězce

Teď se vraťte zpátky na portál Azure Portal, kde najdete informace o připojovacím řetězci, a zkopírujte je do aplikace. Informace o připojovacím řetězci umožňují aplikaci komunikovat s hostovanou databází.

  1. Na portálu Azure Portal vyberte Připojovací řetězec.

  2. Pomocí tlačítka na pravé straně obrazovky zkopírujte hodnotu UŽIVATELSKÉ JMÉNO.

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

  3. V sadě Visual Studio otevřete soubor Program.cs.

  4. Vložte hodnotu UŽIVATELSKÉ JMÉNO z portálu místo <PROVIDE> na řádku 13.

    Řádek 13 souboru Program.cs by teď měl vypadat nějak takto:

    private const string UserName = "cosmos-db-quickstart";

    Stejnou hodnotu můžete vložit také na <PROVIDE> řádek 15 pro hodnotu KONTAKTNÍ BOD:

    private const string CassandraContactPoint = "cosmos-db-quickstarts.cassandra.cosmosdb.azure.com"; // DnsName

  5. Přejděte zpátky na portál a zkopírujte hodnotu HESLO. Vložte hodnotu HESLO z portálu místo <PROVIDE> na řádku 14.

    Řádek 14 souboru Program.cs by teď měl vypadat nějak takto:

    private const string Password = "2Ggkr662ifxz2Mg...==";

  6. Přejděte zpátky na portál a zkopírujte hodnotu KONTAKTNÍ BOD. Vložte hodnotu KONTAKTNÍ BOD z portálu na <PROVIDE> řádku 16.

    Řádek 16 souboru Program.cs by teď měl vypadat podobně jako

    private const string CASSANDRACONTACTPOINT = "quickstart-cassandra-api.cassandra.cosmos.azure.com";

  7. Uložte soubor Program.cs.

Spuštění aplikace .NET Core

  1. V aplikaci Visual Studio zvolte Nástroje>Správce balíčků NuGet>Konzola Správce balíčků.

  2. Na příkazovém řádku pomocí následujícího příkazu nainstalujte balíček NuGet ovladače .NET.

    Install-Package CassandraCSharpDriver
    
  3. Spusťte aplikaci stisknutím CTRL + F5. Aplikace se zobrazí v okně konzoly.

    View and verify the output

    Stisknutím CTRL + C zastavte provádění programu a zavřete okno konzoly.

  4. Na portálu Azure Portal otevřete Data Explorer, abyste se mohli na tato nová data dotazovat, měnit je a pracovat s nimi.

    View the data in Data Explorer

Ověření smluv SLA na webu Azure Portal

Azure Portal monitoruje propustnost, úložiště, dostupnost, latenci a konzistenci účtu Služby Azure Cosmos DB. Grafy pro metriky přidružené 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 služby Azure Cosmos DB vyberte Metriky .

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

    Azure Cosmos DB metrics suite

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

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

Až budete s aplikací a účtem služby Azure Cosmos DB hotovi, můžete odstranit vytvořené prostředky Azure, takže se vám nebudou účtovat další poplatky. Odstranění prostředků:

  1. Na panelu hledání na webu 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á se má odstranit, a pak vyberte Odstranit.

Další kroky

V tomto rychlém startu jste se naučili vytvořit účet služby Azure Cosmos DB, vytvořit kontejner pomocí Průzkumníka dat a spustit webovou aplikaci. Do účtu služby Azure Cosmos DB teď můžete importovat další data.