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 AO:
Cassandra
Importante
Você está procurando uma solução de banco de dados para cenários de alta escala com um SLA (contrato de nível de serviço de disponibilidade) de 99,999%, dimensionamento automático instantâneo e failover automático em várias regiões? Considere Azure Cosmos DB para NoSQL.
Você deseja migrar um aplicativo Apache Cassandra existente? Considere Azure Instância Gerenciada para o Apache 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 aborda 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.
Prerequisites
- 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ções Value Description Subscription Sua assinatura. Selecione a assinatura Azure que você deseja usar para esta conta Azure Cosmos DB. Grupo de Recursos Criar novo.
Em seguida, insira o mesmo nome como 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 sua 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 um local geográfico para hospedar sua conta 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 Largura de banda 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 categoria 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. Note
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ções Value Description Redundância geográfica Disable 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 Disable 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 Disable 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 o recurso para acessar 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: