Quickstart: Een Cassandra-app bouwen met .NET Core en Azure Cosmos DB
VAN TOEPASSING OP: Cassandra
In deze quickstart ziet u hoe u .NET Core en de Azure Cosmos DB-API voor Cassandra gebruikt om een profiel-app te bouwen door een voorbeeld van GitHub te klonen. In deze snelstart ziet u ook hoe u de webportal van Azure gebruikt om een Azure Cosmos DB-account te maken.
Azure Cosmos DB is de wereldwijd gedistribueerde multimodel-databaseservice van Microsoft. U kunt snel databases maken van documenten, sleutel/waarde-paren en grafieken en hier query's op uitvoeren. Deze databases genieten allemaal het voordeel van de wereldwijde distributie en horizontale schaalmogelijkheden die ten grondslag liggen aan Azure Cosmos DB.
Vereisten
Als u geen Azure-abonnement hebt, kunt u een gratis Azure-account maken voordat u begint. U kunt ook Azure Cosmos DB gratis uitproberen zonder Azure-abonnement, zonder kosten en zonder verplichtingen.
U hebt verder nodig:
- Nieuwste Visual Studio met de Azure-ontwikkelworkload. U kunt aan de slag met de gratis Visual Studio Community IDE. Schakel de Azure-ontwikkelworkload in tijdens het instellen van Visual Studio.
- Installeer Git zodat u het voorbeeld kunt klonen.
Een databaseaccount maken
Selecteer vanuit het menu van Azure Portal of op de startpagina de optie Een resource maken.
Zoek op de pagina Nieuw naar Azure Cosmos DB en selecteer dit.
Selecteer op de pagina Azure Cosmos DB Maken.
Selecteer Maken onder de sectie Cassandra op de pagina API.
De API bepaalt het type te maken account. Azure Cosmos DB biedt vijf API's: NoSQL voor documentdatabases, Gremlin voor grafiekdatabases, MongoDB voor documentdatabases, Azure Table en Cassandra. U moet voor elke API een afzonderlijk account maken.
Selecteer Cassandra, omdat u in deze quickstart een tabel maakt die werkt met de API voor Cassandra.
Voer op de pagina Azure Cosmos DB-account maken de basisinstellingen voor het nieuwe Azure Cosmos DB-account in.
Instelling Weergegeven als Beschrijving Abonnement Uw abonnement Selecteer het Azure-abonnement dat u wilt gebruiken voor dit Azure Cosmos DB-account. Resourcegroep Nieuwe
Voer vervolgens dezelfde naam in als de AccountnaamSelecteer Nieuw maken. Voer daarna een nieuwe resourcegroepnaam in voor het account. Gebruik dezelfde naam als uw Azure Cosmos DB-accountnaam om het uzelf gemakkelijk te maken. Accountnaam Voer een unieke naam in Voer een unieke naam in om uw Azure Cosmos DB-account te identificeren. Uw account-URI wordt cassandra.cosmos.azure.com dat aan uw unieke accountnaam wordt toegevoegd.
De accountnaam moet tussen de 3 en 31 tekens lang zijn en mag alleen kleine letters, cijfers en afbreekstreepjes bevatten.Locatie De regio het dichtst bij uw gebruikers Selecteer een geografische locatie waar u het Azure Cosmos DB-account wilt hosten. Gebruik de locatie die zich het dichtst bij uw gebruikers bevindt, zodat ze de snelst mogelijke toegang tot de gegevens hebben. Capaciteitsmodus Ingerichte doorvoer of serverloos Selecteer Ingerichte doorvoer om een account te maken in de modus Ingerichte doorvoer. Selecteer Serverloos om een account te maken in de modus serverloos. Niveaukorting op gratis laag van Azure Cosmos DB toepassen Toepassen of niet toepassen Met de gratis laag van Azure Cosmos DB ontvangt u de eerste 1000 RU/s en 25 GB aan opslagruimte gratis in een account. Meer informatie over de gratis laag. Totale accountdoorvoer beperken Selecteren om de doorvoer van het account te beperken Dit is handig als u de totale doorvoer van het account wilt beperken tot een specifieke waarde. Notitie
U kunt per Azure-abonnement maximaal één gratis laag voor het Azure Cosmos DB-account hebben, en u moet zich aanmelden wanneer u het account maakt. Als u de optie voor het toepassen van de korting voor gratis lagen niet ziet, betekent dit dat er al een ander account in het abonnement is ingeschakeld met een gratis laag.
Configureer op het tabblad Globale distributie de volgende details. U kunt de standaardwaarden voor deze quickstart behouden:
Instelling Weergegeven als Beschrijving Georedundantie Uitschakelen Schakel globale distributie voor uw account in of uit door uw regio te koppelen met een koppelingsregio. U kunt later meer regio's aan uw account toevoegen. Schrijven voor meerdere regio's Uitschakelen Dankzij de mogelijkheid voor schrijfbewerkingen in meerdere regio's kunt over de hele wereld profiteren van de ingerichte doorvoer voor uw databases en containers. Beschikbaarheidszones Uitschakelen Beschikbaarheidszones zijn geïsoleerde locaties binnen een Azure-regio. Elke zone bestaat uit een of meer datacenters met onafhankelijke stroomvoorziening, koeling en netwerken. Notitie
De volgende opties zijn niet beschikbaar als u Serverloos als Capaciteitsmodus selecteert:
- Korting voor gratis laag toepassen
- Geografische redundantie
- Schrijven voor meerdere regio's
U kunt eventueel aanvullende details configureren op de volgende tabbladen:
- Netwerken : toegang configureren vanuit een virtueel netwerk.
- Back-upbeleid: configureer periodiek of doorlopend back-upbeleid.
- Versleuteling : gebruik een door de service beheerde sleutel of een door de klant beheerde sleutel.
- Tags: tags zijn naam-/waardeparen waarmee u resources kunt categoriseren en geconsolideerde facturering kunt weergeven door dezelfde tag toe te passen op meerdere resources en resourcegroepen.
Selecteer Controleren + maken.
Controleer de accountinstellingen en selecteer vervolgens Maken. Het duurt een paar minuten om het account te maken. Wacht tot de portal-pagina Uw implementatie is voltooid weergeeft.
Selecteer Ga naar resource om naar de Azure Cosmos DB-accountpagina te gaan.
De voorbeeldtoepassing klonen
Nu gaan we werken met code. We gaan een API voor Cassandra-app klonen vanuit GitHub, de verbindingsreeks instellen en uitvoeren. U ziet hoe eenvoudig u programmatisch met gegevens kunt werken.
Open een opdrachtprompt. Maak een nieuwe map met de naam
git-samples
. Sluit de opdrachtprompt.md "C:\git-samples"
Open een git-terminalvenster, bijvoorbeeld git bash, en gebruik de
cd
-opdracht om naar de nieuwe map te gaan voor het installeren van de voorbeeld-app.cd "C:\git-samples"
Voer de volgende opdracht uit om de voorbeeldopslagplaats te klonen. Deze opdracht maakt een kopie van de voorbeeld-app op uw computer.
git clone https://github.com/Azure-Samples/azure-cosmos-db-cassandra-dotnet-core-getting-started.git
Open vervolgens het oplossingsbestand CassandraQuickStartSample in Visual Studio.
De code bekijken
Deze stap is optioneel. Als u wilt weten hoe de databaseresources met de code worden gemaakt, kunt u de volgende codefragmenten bekijken. De fragmenten zijn alle afkomstig uit het Program.cs
-bestand binnen de methode async Task ProcessAsync()
, dat is geïnstalleerd in de map C:\git-samples\azure-cosmos-db-cassandra-dotnet-core-getting-started\CassandraQuickStart
. Als u deze stap wilt overslaan, kunt u verdergaan naar Uw verbindingsgegevens bijwerken.
Initialiseer de sessie door verbinding te maken met een eindpunt van het Cassandra-cluster. De API voor Cassandra in Azure Cosmos DB ondersteunt alleen 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();
Verwijder de bestaande keyspace, indien aanwezig.
await session.ExecuteAsync(new SimpleStatement("DROP KEYSPACE IF EXISTS uprofile"));
Maak een nieuwe keyspace.
await session.ExecuteAsync(new SimpleStatement("CREATE KEYSPACE uprofile WITH REPLICATION = { 'class' : 'NetworkTopologyStrategy', 'datacenter1' : 1 };"));
Een nieuwe tabel maken.
await session.ExecuteAsync(new SimpleStatement("CREATE TABLE IF NOT EXISTS uprofile.user (user_id int PRIMARY KEY, user_name text, user_bcity text)"));
Voeg gebruikersentiteiten toe met behulp van het IMapper-object in een nieuwe sessie die verbinding maakt met de uprofile-keyspace.
await mapper.InsertAsync<User>(new User(1, "LyubovK", "Dubai"));
Voer een query uit voor het ophalen van de gebruikersgegevens van alle gebruikers.
foreach (User user in await mapper.FetchAsync<User>("Select * from user")) { Console.WriteLine(user); }
Voer een query uit voor het ophalen van de gebruikersgegevens van één gebruiker.
mapper.FirstOrDefault<User>("Select * from user where user_id = ?", 3);
Uw verbindingsreeks bijwerken
Ga nu terug naar Azure Portal om de verbindingsreeksinformatie op te halen en kopieer deze in de app. De verbindingsreeksinformatie stelt uw app in staat om te communiceren met de gehoste database.
Selecteer Verbindingsreeks in de Azure-portal.
Gebruik de knop aan de rechterkant van het scherm om de USERNAME-waarde te kopiëren.
Open in Visual Studio het bestand Program.cs.
Plak de USERNAME-waarde uit de portal over
<PROVIDE>
op regel 13 heen.Regel 13 van USERNAME moet er nu als volgt uitzien
private const string UserName = "cosmos-db-quickstart";
U kunt ook dezelfde waarde over
<PROVIDE>
op regel 15 plakken voor de CONTACT POINT-waarde:private const string CassandraContactPoint = "cosmos-db-quickstarts.cassandra.cosmosdb.azure.com"; // DnsName
Ga terug naar de portal en kopieer de PASSWORD-waarde. Plak de PASSWORD-waarde uit de portal over
<PROVIDE>
op regel 14 heen.Regel 14 van Program.cs moet er nu als volgt uitzien
private const string Password = "2Ggkr662ifxz2Mg...==";
Ga terug naar de portal en kopieer de CONTACT POINT-waarde. Plak de CONTACT POINT-waarde uit de portal over
<PROVIDE>
op regel 16 heen.Regel 16 van Program.cs moet er nu als volgt uitzien
private const string CASSANDRACONTACTPOINT = "quickstart-cassandra-api.cassandra.cosmos.azure.com";
Sla bestand Program.cs op.
De .NET Core-app uitvoeren
Selecteer in Visual Studio de optie Extra>NuGet-pakketbeheer>Console voor pakketbeheer.
Ga naar de opdrachtprompt en gebruik de volgende opdracht om het pakket NuGet van het .NET-stuurprogramma te installeren.
Install-Package CassandraCSharpDriver
Druk op Ctrl+F5 om de toepassing uit te voeren. Uw app wordt in het consolevenster weergegeven.
Druk op Ctrl+C om de uitvoering van het programma te stoppen en het consolevenster te sluiten.
Open Data Explorer in de Azure-portal om deze nieuwe gegevens te bekijken, te wijzigen, een query erop uit te voeren of er iets anders mee te doen.
SLA’s bekijken in Azure Portal
Azure Portal bewaakt de doorvoer van uw Azure Cosmos DB-account, opslag, beschikbaarheid, latentie en consistentie. Grafieken voor metrische gegevens die zijn gekoppeld aan een Azure Cosmos DB Service Level Agreement (SLA) tonen de SLA-waarde in vergelijking met de werkelijke prestaties. Deze suite van metrische gegevens zorgt voor een transparante bewaking van uw SLA's.
Metrische gegevens en SLA's weergeven:
Selecteer Metrische gegevens in het navigatiemenu van uw Azure Cosmos DB-account.
Selecteer een tabblad, bijvoorbeeld Latentie, en selecteer aan de rechterkant een tijdsbestek. Vergelijk de lijnen Werkelijk en SLA in de grafieken met elkaar.
Bekijk de metrische gegevens op de andere tabbladen.
Resources opschonen
Wanneer u uw app en Azure Cosmos DB-account niet meer nodig hebt, kunt u de Azure-resources die u hebt gemaakt, verwijderen zodat er geen kosten meer voor in rekening worden gebracht. Om de resources te verwijderen:
Zoek en selecteer Resourcegroepen in de zoekbalk op Azure Portal.
Selecteer de resourcegroep die u eerder voor deze quickstart hebt gemaakt uit de lijst.
Selecteer Resourcegroep verwijderen op de pagina Overzicht van de resourcegroep.
Selecteer in het volgende venster de naam van de resourcegroep die u wilt verwijderen en selecteer vervolgens Verwijderen.
Volgende stappen
In deze snelstart hebt u geleerd hoe u een Azure Cosmos DB-account maakt, een container maakt met Data Explorer en een web-app uitvoert. U kunt nu andere gegevens importeren in uw Azure Cosmos DB-account.