Zelfstudie: Gegevens opvragen uit een API voor Cassandra-account in Azure Cosmos DB
VAN TOEPASSING OP: Cassandra
Als ontwikkelaar hebt u mogelijk toepassingen die gebruikmaken van sleutel-/waardeparen. U kunt een API voor Cassandra-account in Azure Cosmos DB gebruiken om de sleutel-/waardegegevens op te slaan en er query's op uit te voeren. Deze zelfstudie laat zien hoe u een query uitvoert op gebruikersgegevens uit een API voor Cassandra-account in Azure Cosmos DB met behulp van een Java-toepassing. De Java-toepassing maakt gebruik van het Java-stuurprogramma en vraagt gebruikersgegevens op zoals gebruikers-id, gebruikersnaam en woonplaats van de gebruiker.
Deze zelfstudie bestaat uit de volgende taken:
- Gegevens opvragen uit een Cassandra-tabel
- De app uitvoeren
Als u nog geen abonnement op Azure hebt, maakt u een gratis account aan voordat u begint.
Vereisten
- Dit artikel maakt deel uit van een meerdelige zelfstudie. Voordat u begint, moet u de vorige stappen uitvoeren om de API voor cassandra-account, keyspace, tabel en voorbeeldgegevens in de tabel te laden.
Querygegevens
Gebruik de volgende stappen om query's uit te voeren op gegevens uit uw API voor Cassandra-account:
Open het bestand
UserRepository.java
in de mapsrc\main\java\com\azure\cosmosdb\cassandra
. Voeg het volgende codeblok toe aan het einde van het bestand. Deze code biedt drie methoden:- Een query uitvoeren op alle gebruikers in de database
- Een query uitvoeren op een specifieke gebruiker, gefilterd op gebruikers-ID
- Een tabel verwijderen
/** * Select all rows from user table */ public void selectAllUsers() { final String query = "SELECT * FROM uprofile.user"; List<Row> rows = session.execute(query).all(); for (Row row : rows) { LOGGER.info("Obtained row: {} | {} | {} ", row.getInt("user_id"), row.getString("user_name"), row.getString("user_bcity")); } } /** * Select a row from user table * * @param id user_id */ public void selectUser(int id) { final String query = "SELECT * FROM uprofile.user where user_id = 3"; Row row = session.execute(query).one(); LOGGER.info("Obtained row: {} | {} | {} ", row.getInt("user_id"), row.getString("user_name"), row.getString("user_bcity")); } /** * Delete user table. */ public void deleteTable() { final String query = "DROP TABLE IF EXISTS uprofile.user"; session.execute(query); }
Open het bestand
UserProfile.java
in de mapsrc\main\java\com\azure\cosmosdb\cassandra
. Deze klasse bevat de main-methode die de methoden createKeyspace en createTable aanroept, de methoden voor het invoegen van gegevens die u eerder hebt gedefinieerd. Voeg nu de volgende code toe om een query uit te voeren op alle gebruikers of een specifieke gebruiker:LOGGER.info("Select all users"); repository.selectAllUsers(); LOGGER.info("Select a user by id (3)"); repository.selectUser(3); LOGGER.info("Delete the users profile table"); repository.deleteTable();
De Java-app uitvoeren
Open een opdrachtprompt of terminalvenster. Plak het volgende blok met code.
Met deze code gaat u naar de map (cd) waarin u het project hebt gemaakt. Vervolgens wordt de opdracht
mvn clean install
uitgevoerd voor het genereren van het bestandcosmosdb-cassandra-examples.jar
in de doelmap. Ten slotte wordt de Java-toepassing uitgevoerd.cd "cassandra-demo" mvn clean install java -cp target/cosmosdb-cassandra-examples.jar com.azure.cosmosdb.cassandra.examples.UserProfile
Open nu Data Explorer in de Azure-portal en controleer of de gebruikerstabel is verwijderd.
Resources opschonen
Wanneer ze niet meer nodig zijn, kunt u de resourcegroep, het Azure Cosmos DB-account en alle gerelateerde resources verwijderen. Als u deze wilt verwijderen, selecteert u de resourcegroep voor de virtuele machine en selecteert u Verwijderen. Vervolgens bevestigt u de naam van de resourcegroep die u wilt verwijderen.
Volgende stappen
In deze zelfstudie hebt u geleerd hoe u gegevens opvraagt uit een API voor Cassandra-account in Azure Cosmos DB. U kunt nu verdergaan met het volgende artikel: