Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
APLICA-SE A:
Cassandra
Como desenvolvedor, é possível ter aplicativos que usam os pares de chave/valor. Você pode usar uma conta da API para Cassandra no Azure Cosmos DB para armazenar os dados de chave/valor. Este tutorial descreve como usar um aplicativo Java para criar uma conta da API para Cassandra no Azure Cosmos DB, adicionar um banco de dados (também chamado de keyspace) e adicionar uma tabela. O aplicativo Java usa o driver Java para criar um banco de dados de usuário que contenha detalhes como a ID do usuário, o nome de usuário e a cidade do usuário.
Este tutorial cobre as seguintes tarefas:
- Crie uma conta de banco de dados do Cassandra.
- Obter a string de conexão da conta.
- Crie um projeto Maven e adicione dependências.
- Adicione um banco de dados e uma tabela.
- Execute o aplicativo.
Pré-requisitos
- Se você não tiver uma assinatura do Azure, crie uma conta gratuita antes de começar.
- Obter a versão mais recente do JDK (Java Development Kit).
-
Baixe e instale o arquivo binário Maven. No Ubuntu, você pode executar
apt-get install mavenpara instalar o Maven.
Criar uma conta de banco de dados
No menu do portal do Azure ou na home page, selecione Criar um recurso.
Na página Novo, pesquise pelo Azure Cosmos DB e selecione-o.
Na página Azure Cosmos DB, selecione Criar.
Na página de API , na seção Cassandra , selecione Criar.
A API determina o tipo de conta a ser criada. O Azure Cosmos DB oferece cinco APIs: NoSQL para bancos de dados de documentos, Gremlin para bancos de dados de grafo, MongoDB para bancos de dados de documentos, Tabela do Azure e Cassandra. É necessário criar uma conta separada para cada API.
Selecione Cassandra porque neste tutorial você está criando uma tabela que funciona com a API para Cassandra.
Para saber mais sobre a API do Cassandra, confira o que é o Azure Cosmos DB para Apache Cassandra?.
Na página Criar Conta do Azure Cosmos DB , insira as configurações básicas para a nova conta do Azure Cosmos DB.
Configuração Valor Descrição Subscrição Sua assinatura. Selecione a assinatura do Azure que você deseja usar para essa conta do Azure Cosmos DB. Grupo de Recursos Criar novo.
Em seguida, insira o mesmo nome que o Nome da Conta.Selecione Criar novo. Em seguida, insira um novo nome de grupo de recursos para a conta. Para simplificar, use o mesmo nome que o Nome da Conta do Azure Cosmos DB. Nome da Conta Insira um nome exclusivo. Insira um nome exclusivo para identificar a conta do Azure Cosmos DB. Seu URI de conta, cassandra.cosmos.azure.com, acrescentado ao nome da conta exclusiva.
O nome da conta pode usar apenas letras minúsculas, números e hifens (-) e deve ter entre 3 e 31 caracteres.Localidade A região mais próxima de seus usuários. Selecione uma localização geográfica para hospedar a sua conta do Azure Cosmos DB. Use o local mais próximo dos usuários para fornecer a eles acesso mais rápido aos dados. Modo de capacidade Taxa de transferência provisionada ou Sem servidor. Selecione a taxa de transferência provisionada para criar uma conta no modo de taxa de transferência provisionada . Selecione Sem servidor para criar uma conta no modo sem servidor . Aplicar o desconto por camada gratuita do Azure Cosmos DB Aplicar ou não aplicar. Com a camada gratuita do Azure Cosmos DB, você obtém as primeiras 1.000 RU/s e 25 GB de armazenamento gratuitamente em uma conta. Saiba mais sobre a camada gratuita. Limitar a taxa de transferência total da conta Selecione para limitar a vazão da conta. Essa opção será útil se você quiser limitar a taxa de transferência total da conta a um valor específico. Observação
Você pode ter até uma conta gratuita do Azure Cosmos DB por assinatura do Azure. Você deve optar por participar ao criar a conta. Se você não vir a opção de aplicar o desconto por camada gratuita, outra conta da assinatura já foi habilitada com o camada gratuita.
Na guia Distribuição Global , configure os detalhes a seguir. Use os valores padrão para este tutorial.
Configuração Valor Descrição Redundância geográfica Desabilitar Habilite ou desabilite a distribuição global em sua conta emparelhando sua região com uma região de par. Você poderá adicionar mais regiões à sua conta posteriormente. Gravações de Várias Regiões Desabilitar A capacidade de gravação de várias regiões permite aproveitar a taxa de transferência provisionada para seus bancos de dados e contêineres em todo o mundo. zonas de disponibilidade Desabilitar As zonas de disponibilidade são locais isolados em uma região do Azure. Cada zona é composta por um ou mais datacenters equipados com energia, resfriamento e rede independentes. As seguintes opções não estão disponíveis se você selecionar Sem servidor como o modo de capacidade:
- Aplicar desconto por Camada gratuita
- Redundância geográfica
- Gravações de Várias Regiões
Opcionalmente, você pode configurar outros detalhes nas seguintes guias:
- Rede: Configurar acesso a partir de uma rede virtual.
- Política de Backup: configure a política de backup periódica ou contínua .
- Criptografia: use uma chave gerenciada pelo serviço ou uma chave gerenciada pelo cliente.
- Marcas: as marcas são pares nome/valor que você pode usar para categorizar recursos e exibir a cobrança consolidada aplicando a mesma marca a vários recursos e grupos de recursos.
Selecione Examinar + criar.
Examine as configurações da conta e selecione Criar. São necessários alguns minutos para criar a conta. Aguarde até que a página do portal exiba Sua implantação está concluída.
Selecione Ir para recurso para ir para a página da conta do Azure Cosmos DB.
Obter os detalhes de conexão da sua conta
Obter as informações de cadeia de conexão do portal do Azure e copiá-lo para o arquivo de configuração de Java. A cadeia de conexão permite que seu aplicativo se comunique com o banco de dados hospedado.
No portal do Azure, acesse sua conta do Azure Cosmos DB.
Abra o painel Cadeia de Conexão.
Copie os valores de PONTO DE CONTATO, PORTA, NOME DE USUÁRIO, e SENHA PRIMÁRIA a serem usados nas próximas etapas.
Criar o projeto e as dependências
O projeto de exemplo de Java que você usa neste artigo é hospedado no GitHub. Você pode executar as etapas neste artigo ou baixar o exemplo do repositório azure-cosmos-db-cassandra-java-getting-started .
Depois de baixar os arquivos, atualize as informações de cadeia de conexão dentro do arquivo java-examples\src\main\resources\config.properties e execute-o.
cassandra_host=<FILLME_with_CONTACT POINT>
cassandra_port = 10350
cassandra_username=<FILLME_with_USERNAME>
cassandra_password=<FILLME_with_PRIMARY PASSWORD>
Para compilar o exemplo do zero, siga estas etapas:
No terminal ou prompt de comando, crie um novo projeto Maven chamado
cassandra-demo.mvn archetype:generate -DgroupId=com.azure.cosmosdb.cassandra -DartifactId=cassandra-demo -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=falseLocalize a pasta
cassandra-demo. Usando um editor de texto, abra opom.xmlarquivo que foi gerado.Adicione as dependências do Cassandra e os plug-ins de build exigidos pelo projeto, conforme mostrado no arquivo pom.xml .
Na pasta
cassandra-demo\src\main, crie uma nova pasta chamadaresources. Na pastaresources, adicione os arquivosconfig.propertieselog4j.properties.- O arquivo config.properties armazena os valores da chave e do ponto de extremidade da conta da API do Cassandra.
- O arquivo log4j.properties define o nível de registro em log necessário para interagir com a API do Cassandra.
Navegue até a pasta
src/main/java/com/azure/cosmosdb/cassandra/. Dentro dacassandrapasta, crie outra pasta chamadautils. A nova pasta armazena as classes de utilitário necessárias para se conectar à conta da API do Cassandra.Adicione a classe CassandraUtils para criar o cluster e para abrir e fechar as sessões de Cassandra. O cluster se conecta à conta da API do Cassandra no Azure Cosmos DB e retorna uma sessão para acesso. Use a classe Configurações para ler as informações da cadeia de conexão do
config.propertiesarquivo.O exemplo de Java cria um banco de dados com informações do usuário, como o nome de usuário, a ID do usuário e a cidade do usuário. Você precisa definir
getesetmétodos para acessar os detalhes do usuário na função principal.Crie uma classe User.java na
src/main/java/com/azure/cosmosdb/cassandra/pasta comgetesetmétodos.
Adicionar um banco de dados e uma tabela
Esta seção descreve como adicionar um banco de dados (keyspace) e uma tabela usando a Linguagem de Consulta do Cassandra (CQL).
Na pasta
src\main\java\com\azure\cosmosdb\cassandra, crie uma nova pasta chamadarepository.Crie a classe Java
UserRepositorye adicione o seguinte código a ela:package com.azure.cosmosdb.cassandra.repository; import java.util.List; import com.datastax.driver.core.BoundStatement; import com.datastax.driver.core.PreparedStatement; import com.datastax.driver.core.Row; import com.datastax.driver.core.Session; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * Create a Cassandra session */ public class UserRepository { private static final Logger LOGGER = LoggerFactory.getLogger(UserRepository.class); private Session session; public UserRepository(Session session) { this.session = session; } /** * Create keyspace uprofile in cassandra DB */ public void createKeyspace() { final String query = "CREATE KEYSPACE IF NOT EXISTS uprofile WITH REPLICATION = { 'class' : 'NetworkTopologyStrategy', 'datacenter1' : 1 }"; session.execute(query); LOGGER.info("Created keyspace 'uprofile'"); } /** * Create user table in cassandra DB */ public void createTable() { final String query = "CREATE TABLE IF NOT EXISTS uprofile.user (user_id int PRIMARY KEY, user_name text, user_bcity text)"; session.execute(query); LOGGER.info("Created table 'user'"); } }Localize a pasta
src\main\java\com\azure\cosmosdb\cassandrae cria uma nova subpasta chamadaexamples.Em seguida, crie a classe Java
UserProfile. Essa classe contém o método principal que chama os métodoscreateKeyspaceecreateTableque você definiu anteriormente.package com.azure.cosmosdb.cassandra.examples; import java.io.IOException; import com.azure.cosmosdb.cassandra.repository.UserRepository; import com.azure.cosmosdb.cassandra.util.CassandraUtils; import com.datastax.driver.core.PreparedStatement; import com.datastax.driver.core.Session; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * Example class which will demonstrate following operations on Cassandra Database on CosmosDB * - Create Keyspace * - Create Table * - Insert Rows * - Select all data from a table * - Select a row from a table */ public class UserProfile { private static final Logger LOGGER = LoggerFactory.getLogger(UserProfile.class); public static void main(String[] s) throws Exception { CassandraUtils utils = new CassandraUtils(); Session cassandraSession = utils.getSession(); try { UserRepository repository = new UserRepository(cassandraSession); //Create keyspace in cassandra database repository.createKeyspace(); //Create table in cassandra database repository.createTable(); } finally { utils.close(); LOGGER.info("Please delete your table after verifying the presence of the data in portal or from CQL"); } } }
Executar o aplicativo
Abra um prompt de comando ou uma janela de terminal. Cole o seguinte bloco de código.
Esse código altera o diretório (
cd) para o caminho da pasta em que você criou o projeto. Em seguida, ele executa o comandomvn clean installpara gerar o arquivocosmosdb-cassandra-examples.jardentro da pasta de destino. Por fim, ele executa o aplicativo Java.cd cassandra-demo mvn clean install java -cp target/cosmosdb-cassandra-examples.jar com.azure.cosmosdb.cassandra.examples.UserProfileA janela do terminal exibe notificações de que o keyspace e a tabela foram criados.
No portal do Azure, abra o Data Explorer para confirmar se o keyspace e a tabela foram criados.
Próxima etapa
Neste tutorial, você aprendeu a criar uma conta da API para Cassandra no Azure Cosmos DB, um banco de dados e uma tabela usando um aplicativo Java. Prossiga agora para o próximo artigo: