Como usar o Spring Data com o Azure Cosmos DB para Apache Cassandra

Este artigo mostra como usar o Spring Data com Azure Cosmos DB do Apache Cassandra para criar um aplicativo Java de exemplo que armazena e recupera dados.

Pré-requisitos

  • Um cliente Git.

  • cURL ou um utilitário HTTP semelhante para testar a funcionalidade.

Criar uma conta do Azure Cosmos DB

O procedimento a seguir cria e configura uma conta do Azure Cosmos DB no portal do Azure.

Criar uma conta Azure Cosmos DB usando o portal Azure

Nota

Para obter mais informações sobre como criar contas, consulte a documentação do Azure Cosmos DB.

  1. Navegue até o portal do Azure em https://portal.azure.com/ e entre.

  2. Selecione Criar um recurso, selecione Introdução e selecione Azure Cosmos DB.

  3. Na tela Selecionar uma opção de API, escolha Cassandra.

    Captura de tela da página de opção de API do portal Azure com o Cassandra selecionado.

  4. Especifique as seguintes informações:

    • Assinatura: especifique qual assinatura do Azure usar.
    • Grupo de recursos: especifique se deseja criar um novo grupo de recursos ou escolher um grupo de recursos existente.
    • Nome da conta: escolha um nome exclusivo para sua conta Azure Cosmos DB. Esse nome é usado para criar um nome de domínio totalmente qualificado como wingtiptoyscassandra.documents.azure.com.
    • API: especifique o Cassandra para este tutorial.
    • Local: especifique a região geográfica mais próxima do banco de dados.

    Captura de tela das configurações da conta Azure Cosmos DB no portal do Azure.

  5. Ao inserir todas as informações anteriores, selecione Examinar + criar.

  6. Se tudo estiver correto na página de revisão, selecione Criar.

Leva alguns minutos para implantar o banco de dados.

Adicionar um keyspace à sua conta do Azure Cosmos DB

  1. Navegue até o portal do Azure em https://portal.azure.com/ e entre.

  2. Selecione Todos os Recursos e selecione a conta Azure Cosmos DB que você criou.

  3. Selecione Data Explorer, selecione a seta para baixo e selecione Novo Keyspace. Insira um identificador exclusivo para sua ID do Keyspace e selecione OK.

    Captura de tela de Data Explorer com a opção Novo Keyspace selecionada.

    Captura de tela da caixa de diálogo usada para criar um keyspace Azure Cosmos DB.

Recuperar as configurações de conexão para sua conta do Azure Cosmos DB

  1. Navegue até o portal do Azure em https://portal.azure.com/ e entre.

  2. Selecione Todos os Recursos e selecione a conta Azure Cosmos DB que você criou.

  3. Selecione cadeias de conexão e copie os valores dos campos Ponto de Contato, Porta, Nome de Usuário e Senha Primária . Você usará esses valores para configurar seu aplicativo mais tarde.

    Captura de tela das configurações de Azure Cosmos DB cadeia de conexão no portal do Azure.

Configurar o aplicativo de exemplo

O procedimento a seguir configura o aplicativo de teste.

  1. Abra um shell de comando e clone o projeto de exemplo usando um comando git como o seguinte exemplo:

    git clone https://github.com/Azure-Samples/spring-data-cassandra-on-azure.git
    
  2. Localize o arquivo application.properties nos recursos diretório do projeto de exemplo ou crie o arquivo se ele ainda não existir.

  3. Abra o arquivo application.properties em um editor de texto e adicione ou configure as seguintes linhas no arquivo e substitua os valores de exemplo pelos valores apropriados anteriormente:

    spring.data.cassandra.contact-points=wingtiptoyscassandra.cassandra.cosmos.azure.com
    spring.data.cassandra.port=10350
    spring.data.cassandra.username=wingtiptoyscassandra
    spring.data.cassandra.password=********
    

    Em que:

    Parâmetro Descrição
    spring.data.cassandra.contact-points Especifica o ponto de contato mencionado anteriormente neste artigo.
    spring.data.cassandra.port Especifica a porta mencionada anteriormente neste artigo.
    spring.data.cassandra.username Especifica seu Nome de Usuário neste artigo.
    spring.data.cassandra.password Especifica sua Senha Primária neste artigo.
  4. Salve e feche o arquivo application.properties.

Empacotar e testar o aplicativo de exemplo

Navegue até o diretório que contém o arquivo pom.xml para compilar e testar o aplicativo.

  1. Compilar o aplicativo de exemplo com o Maven; por exemplo:

    mvn clean package
    
  2. Inicie o aplicativo de exemplo; por exemplo:

    java -jar target/spring-data-cassandra-on-azure-0.1.0-SNAPSHOT.jar
    
  3. Crie novos registros usando curl um prompt de comando. Os exemplos a seguir mostram como criar registros:

    curl -s -d "{\"name\":\"dog\",\"species\":\"canine\"}" -H "Content-Type: application/json" -X POST http://localhost:8080/pets
    
    curl -s -d "{\"name\":\"cat\",\"species\":\"feline\"}" -H "Content-Type: application/json" -X POST http://localhost:8080/pets
    

    Seu aplicativo deve retornar valores como o seguinte exemplo:

    Added Pet{id=60fa8cb0-0423-11e9-9a70-39311962166b, name='dog', species='canine'}.
    
    Added Pet{id=72c1c9e0-0423-11e9-9a70-39311962166b, name='cat', species='feline'}.
    
  4. Recupere todos os registros existentes usando curl um prompt de comando. Os exemplos a seguir mostram como recuperar registros:

    curl -s http://localhost:8080/pets
    

    Seu aplicativo deve retornar valores como os seguintes exemplos:

    [{"id":"60fa8cb0-0423-11e9-9a70-39311962166b","name":"dog","species":"canine"},{"id":"72c1c9e0-0423-11e9-9a70-39311962166b","name":"cat","species":"feline"}]
    

Resumo

Neste tutorial, você criou um aplicativo de Java de exemplo que usa o Spring Data para armazenar e recuperar informações usando Azure Cosmos DB para Apache Cassandra.

Limpar recursos

Quando você não precisar mais dos recursos, use o portal Azure para excluí-los. Excluir os recursos ajuda você a evitar encargos inesperados.

Próximas etapas

Para saber mais sobre o Spring e o Azure, prossiga para o centro de documentação do Spring on Azure.

Consulte também

Para obter mais informações sobre como usar o Azure com Java, consulte o Azure para Desenvolvedores Java e o Trabalhando com o Azure DevOps e o Java.