Szybki start: tworzenie aplikacji Cassandra przy użyciu platformy .NET Core i usługi Azure Cosmos DB

DOTYCZY: Cassandra

W tym przewodniku Szybki start pokazano, jak używać platformy .NET Core i interfejsu API usługi Azure Cosmos DB dla usługi Cassandra do tworzenia aplikacji profilu, klonując przykład z usługi GitHub. W tym przewodniku Szybki start pokazano również sposób tworzenia konta usługi Azure Cosmos DB przy użyciu witryny internetowej Azure Portal.

Azure Cosmos DB to dystrybuowana globalnie, wielomodelowa usługa bazy danych udostępniana przez Microsoft. Dzięki wykorzystaniu dystrybucji globalnej i możliwości skalowania poziomego w usłudze Azure Cosmos DB można szybko tworzyć i za pomocą zapytań badać bazy danych dokumentów, tabel, par klucz/wartość i grafowe.

Wymagania wstępne

Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto platformy Azure. Alternatywnie można bezpłatnie wypróbować usługę Azure Cosmos DB bez subskrypcji platformy Azure — nie wymaga to opłat ani zobowiązań.

Potrzebne są też następujące elementy:

  • Najnowsza wersja programu Visual Studio z pakietem roboczym Programowanie na platformie Azure. Możesz rozpocząć pracę z bezpłatnymśrodowiskiem IDE programu Visual Studio Community . Włącz obciążenie programowanie na platformie Azure podczas konfigurowania programu Visual Studio.
  • Zainstaluj usługę Git, aby sklonować przykład.

Tworzenie konta bazy danych

  1. W menu witryny Azure Portal lub na stronie głównej wybierz pozycję Utwórz zasób.

  2. Na stronie Nowa wyszukaj i wybierz usługę Azure Cosmos DB.

  3. Na stronie Azure Cosmos DB wybierz pozycję Utwórz.

  4. Na stronie interfejsu API wybierz pozycję Utwórz w sekcji Cassandra .

    Interfejs API określa typ konta do utworzenia. Usługa Azure Cosmos DB udostępnia pięć interfejsów API: NoSQL dla baz danych dokumentów, Gremlin dla grafowych baz danych, mongoDB dla baz danych dokumentów, tabel platformy Azure i bazy danych Cassandra. Musisz utworzyć oddzielne konto dla każdego interfejsu API.

    Wybierz pozycję Cassandra, ponieważ w tym przewodniku Szybki start tworzysz tabelę, która współpracuje z interfejsem API dla bazy danych Cassandra.

    Dowiedz się więcej o interfejsie API dla bazy danych Cassandra.

  5. Na stronie Tworzenie konta usługi Azure Cosmos DB wprowadź podstawowe ustawienia nowego konta usługi Azure Cosmos DB.

    Ustawienie Wartość Opis
    Subskrypcja Twoja subskrypcja Wybierz subskrypcję platformy Azure, która ma być używana dla tego konta usługi Azure Cosmos DB.
    Grupa zasobów Tworzyć w programie

    Następnie wprowadź taką samą nazwę jak nazwa konta
    Wybierz pozycjęUtwórz nowy. Następnie wprowadź nową nazwę grupy zasobów dla swojego konta. Dla uproszczenia użyj tej samej nazwy co nazwa konta usługi Azure Cosmos DB.
    Nazwa konta Wprowadź unikatową nazwę Wprowadź unikatową nazwę do identyfikacji konta usługi Azure Cosmos DB. Identyfikator URI konta zostanie cassandra.cosmos.azure.com dołączony do unikatowej nazwy konta.

    Nazwa konta może używać tylko małych liter, cyfr i łączników (-) i musi mieć długość od 3 do 31 znaków.
    Lokalizacja Region najbliżej Twoich użytkowników Wybierz lokalizację geograficzną, w której będzie hostowane konto usługi Azure Cosmos DB. Użyj lokalizacji znajdującej się najbliżej Twoich użytkowników, aby zapewnić im najszybszy dostęp do danych.
    Tryb wydajności Aprowizowana przepływność lub bezserwerowa Wybierz pozycję Aprowizowana przepływność , aby utworzyć konto w trybie aprowizowanej przepływności . Wybierz pozycję Bezserwerowe , aby utworzyć konto w trybie bezserwerowym .
    Stosowanie rabatu za bezpłatną warstwę usługi Azure Cosmos DB Zastosuj lub nie zastosuj W warstwie Bezpłatna usługi Azure Cosmos DB uzyskasz pierwsze 1000 RU/s i 25 GB miejsca do magazynowania bezpłatnie na koncie. Dowiedz się więcej o warstwie Bezpłatna.
    Ograniczanie całkowitej przepływności konta Wybierz, aby ograniczyć przepływność konta Jest to przydatne, jeśli chcesz ograniczyć łączną przepływność konta do określonej wartości.

    Uwaga

    W ramach jednej subskrypcji platformy Azure można korzystać z maksymalnie jednego konta usługi Azure Cosmos DB w warstwie Bezpłatna. Tę opcję należy wybrać podczas tworzenia konta. Jeśli opcja zastosowania rabatu na podstawie warstwy Bezpłatna nie jest widoczna, inne konto w subskrypcji już korzysta z warstwy Bezpłatna.

    The new account page for Azure Cosmos DB for Apache Cassandra

  6. Na karcie Dystrybucja globalna skonfiguruj następujące szczegóły. Możesz pozostawić wartości domyślne na potrzeby tego przewodnika Szybki start:

    Ustawienie Wartość Opis
    Nadmiarowość geograficzna Wyłącz Włącz lub wyłącz dystrybucję globalną na koncie, łącząc region z regionem pary. Później możesz dodać więcej regionów do swojego konta.
    Zapis w wielu regionach Wyłącz Funkcja zapisu w wielu regionach umożliwia korzystanie z aprowizowanej przepływności dla baz danych i kontenerów na całym świecie.
    Strefy dostępności Wyłącz Strefy dostępności są izolowanymi lokalizacjami w regionie świadczenia usługi Azure. Każda strefa składa się z co najmniej jednego centrum danych wyposażonego w niezależne zasilanie, chłodzenie i sieć.

    Uwaga

    Następujące opcje nie są dostępne w przypadku wybrania opcji Bezserwerowa jako tryb pojemności:

    • Zastosuj rabat w warstwie Bezpłatna
    • Nadmiarowość geograficzna
    • Zapis w wielu regionach
  7. Opcjonalnie możesz skonfigurować dodatkowe szczegóły na następujących kartach:

    • Sieć — konfigurowanie dostępu z sieci wirtualnej.
    • Zasady tworzenia kopii zapasowych — skonfiguruj zasady okresowych lub ciągłych kopii zapasowych .
    • Szyfrowanie — użyj klucza zarządzanego przez usługę lub klucza zarządzanego przez klienta.
    • Tagi — tagi to pary nazw/wartości, które umożliwiają kategoryzowanie zasobów i wyświetlanie skonsolidowanego rozliczeń przez zastosowanie tego samego tagu do wielu zasobów i grup zasobów.
  8. Wybierz pozycję Przejrzyj i utwórz.

  9. Przejrzyj ustawienia konta, a następnie wybierz pozycję Utwórz. Utworzenie konta trwa kilka minut. Poczekaj na wyświetlenie komunikatu Wdrożenie zostało ukończone na stronie portalu.

    The Azure portal Notifications pane

  10. Wybierz pozycję Przejdź do zasobu, aby przejść do strony konta usługi Azure Cosmos DB.

Klonowanie przykładowej aplikacji

Teraz przejdźmy do pracy z kodem. Sklonujmy interfejs API dla aplikacji Cassandra z usługi GitHub, ustawmy parametry połączenia i uruchomimy go. Zobaczysz, jak łatwo można pracować z danymi programowo.

  1. Otwórz wiersz polecenia. Utwórz nowy folder o nazwie git-samples. Następnie zamknij wiersz polecenia.

    md "C:\git-samples"
    
  2. Otwórz okno terminala usługi Git, np. git bash, i użyj polecenia cd, aby przejść do nowego folderu instalacji aplikacji przykładowej.

    cd "C:\git-samples"
    
  3. Uruchom następujące polecenie w celu sklonowania przykładowego repozytorium. To polecenie tworzy kopię aplikacji przykładowej na komputerze.

    git clone https://github.com/Azure-Samples/azure-cosmos-db-cassandra-dotnet-core-getting-started.git
    
  4. Następnie otwórz plik rozwiązania CassandraQuickStartSample w programie Visual Studio.

Przeglądanie kodu

To krok jest opcjonalny. Jeśli chcesz dowiedzieć się, jak kod tworzy zasoby bazy danych, możesz przejrzeć poniższe fragmenty kodu. Fragmenty kodu są pobierane z Program.cs pliku w ramach async Task ProcessAsync() metody zainstalowanej w folderze C:\git-samples\azure-cosmos-db-cassandra-dotnet-core-getting-started\CassandraQuickStart . W przeciwnym razie możesz od razu przejść do sekcji Aktualizacja parametrów połączenia.

  • Zainicjuj sesję przez nawiązanie połączenia z punktem końcowym klastra Cassandra. Interfejs API dla bazy danych Cassandra w usłudze Azure Cosmos DB obsługuje tylko protokół 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();
    
  • Usuń istniejącą przestrzeń kluczy, jeśli już istnieje.

    await session.ExecuteAsync(new SimpleStatement("DROP KEYSPACE IF EXISTS uprofile")); 
    
  • Utwórz nową przestrzeń kluczy.

    await session.ExecuteAsync(new SimpleStatement("CREATE KEYSPACE uprofile WITH REPLICATION = { 'class' : 'NetworkTopologyStrategy', 'datacenter1' : 1 };"));
    
  • Utwórz nową tabelę.

    await session.ExecuteAsync(new SimpleStatement("CREATE TABLE IF NOT EXISTS uprofile.user (user_id int PRIMARY KEY, user_name text, user_bcity text)"));
    
  • Wstaw jednostki użytkowników przez użycie obiektu IMapper z nową sesją łączącą się z przestrzenią kluczy uprofile.

    await mapper.InsertAsync<User>(new User(1, "LyubovK", "Dubai"));
    
  • Wyślij zapytanie w celu pobrania informacji o wszystkich użytkownikach.

    foreach (User user in await mapper.FetchAsync<User>("Select * from user"))
    {
        Console.WriteLine(user);
    }
    
  • Wyślij zapytanie w celu pobrania informacji o jednym użytkowniku.

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

Aktualizowanie parametrów połączenia

Teraz wróć do witryny Azure Portal, aby uzyskać informacje o parametrach połączenia i skopiować je do aplikacji. Informacje o parametrach połączenia umożliwiają aplikacji komunikowanie się z hostowaną bazą danych.

  1. W witrynie Azure Portal wybierz pozycję Parametry połączenia.

  2. Użyj przycisku po prawej stronie ekranu, aby skopiować wartość USERNAME.

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

  3. W programie Visual Studio otwórz plik Program.cs.

  4. Wklej wartość NAZWA UŻYTKOWNIKA z portalu do lokalizacji <PROVIDE> w wierszu 13.

    Wiersz 13 pliku Program.cs powinien teraz wyglądać podobnie do:

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

    Możesz również wkleić tę samą wartość <PROVIDE> w wierszu 15 dla wartości PUNKT KONTAKTOWY:

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

  5. Wróć do portalu i skopiuj wartość HASŁO. Wklej wartość HASŁO z portalu do lokalizacji <PROVIDE> w wierszu 14.

    Wiersz 14 pliku Program.cs powinien teraz wyglądać podobnie do:

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

  6. Wróć do portalu i skopiuj wartość PUNKT KONTAKTOWY. Wklej wartość PUNKT KONTAKTOWY z portalu w <PROVIDE> wierszu 16.

    Wiersz 16 pliku Program.cs powinien teraz wyglądać podobnie do

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

  7. Zapisz plik Program.cs.

Uruchamianie aplikacji .NET Core

  1. W Visual Studio wybierz Narzędzia>NuGet Menedżer pakietów>Konsola menedżera pakietów.

  2. W wierszu polecenia użyj poniższego polecenia, aby zainstalować pakiet NuGet sterownika platformy .NET.

    Install-Package CassandraCSharpDriver
    
  3. Naciśnij klawisze CTRL+F5, aby uruchomić aplikację. Aplikacja zostanie wyświetlona w oknie konsoli.

    View and verify the output

    Naciśnij klawisze CTRL+C, aby zatrzymać wykonywanie programu i zamknąć okno konsoli.

  4. W witrynie Azure Portal otwórz Eksploratora danych, aby wykonywać zapytania oraz modyfikować te nowe dane i pracować z nimi.

    View the data in Data Explorer

Przeglądanie umów SLA w witrynie Azure Portal

Witryna Azure Portal monitoruje przepływność konta usługi Azure Cosmos DB, magazyn, dostępność, opóźnienie i spójność. Wykresy metryk skojarzonych z umową dotyczącą poziomu usług (SLA) usługi Azure Cosmos DB pokazują wartość umowy SLA w porównaniu z rzeczywistą wydajnością. Ten zestaw metryk sprawia, że monitorowanie umów SLA jest przezroczyste.

Aby przejrzeć metryki i umowy SLA:

  1. Wybierz pozycję Metryki w menu nawigacji konta usługi Azure Cosmos DB.

  2. Wybierz kartę, taką jak Opóźnienie, i wybierz przedział czasu po prawej stronie. Porównaj linie rzeczywiste i sla na wykresach.

    Azure Cosmos DB metrics suite

  3. Przejrzyj metryki na innych kartach.

Czyszczenie zasobów

Po zakończeniu pracy z aplikacją i kontem usługi Azure Cosmos DB możesz usunąć utworzone zasoby platformy Azure, aby nie ponosić dodatkowych opłat. Aby usunąć zasoby:

  1. Na pasku wyszukiwania w witrynie Azure Portal wyszukaj i wybierz pozycję Grupy zasobów.

  2. Z listy wybierz grupę zasobów utworzoną na potrzeby tego przewodnika Szybki start.

    Select the resource group to delete

  3. Na stronie Przegląd grupy zasobów wybierz pozycję Usuń grupę zasobów.

    Delete the resource group

  4. W następnym oknie wprowadź nazwę grupy zasobów do usunięcia, a następnie wybierz pozycję Usuń.

Następne kroki

W tym przewodniku Szybki start wyjaśniono sposób tworzenia konta usługi Azure Cosmos DB, tworzenia kontenera za pomocą Eksploratora danych i uruchamiania aplikacji internetowej. Teraz możesz zaimportować inne dane do konta usługi Azure Cosmos DB.