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

Este artigo demonstra a criação de um aplicativo de exemplo que usa o Spring Data para armazenar e recuperar informações usando o Azure Cosmos DB para Apache Cassandra.

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 do Azure Cosmos DB com o portal do Azure

Nota

Você pode ler informações mais detalhadas sobre como criar contas na documentação do Azure Cosmos DB.

  1. Navegue para o portal do Azure em https://portal.azure.com/ e inicie sessão.

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

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

    Portal do Azure, crie um recurso, selecione a opção API, Cassandra selecionada.

  4. Especifique as seguintes informações:

    • Assinatura: especifique sua assinatura do Azure a ser usada.
    • 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 do Azure Cosmos DB, esse nome será usado para criar um nome de domínio totalmente qualificado, como wingtiptoyscassandra.documents.azure.com.
    • API: especifique Cassandra para este tutorial.
    • Localização: especifique a região geográfica mais próxima para o banco de dados.

    Especifique as configurações da sua conta do Azure Cosmos DB.

  5. Quando tiver inserido todas as informações acima, clique em Rever + criar.

  6. Se estiver tudo certo na página de revisão, clique em Criar.

Leva alguns minutos para implantar o banco de dados.

Adicionar um espaço de chaves à conta do Azure Cosmos DB

  1. Navegue para o portal do Azure em https://portal.azure.com/ e inicie sessão.

  2. Selecione Todos os Recursos e, em seguida, selecione a conta do Azure Cosmos DB que criou.

  3. Selecione Data Explorer, selecione a seta para baixo e selecione New Keyspace. Introduza um identificador exclusivo para o seu ID Keyspace e, em seguida, selecione OK.

    Selecione novo espaço de chave.

    Crie um espaço de chave do Azure Cosmos DB.

Obter as definições de ligação da conta do Azure Cosmos DB

  1. Navegue para o portal do Azure em https://portal.azure.com/ e inicie sessão.

  2. Selecione Todos os Recursos e, em seguida, selecione a conta do Azure Cosmos DB que criou.

  3. Selecione Cadeias de conexão e copie os valores para os campos Ponto de contato, Porta, Nome de usuário e Senha primária, você usará esses valores para configurar seu aplicativo mais tarde.

    Recupere suas configurações de conexão do Azure Cosmos DB.

Configurar o exemplo de aplicação

O procedimento de teste configura a aplicação de teste.

  1. Abra uma shell de comandos e clone o exemplo de projeto com um comando git como no seguinte exemplo:

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

  3. Abra o ficheiro application.properties num editor de texto, adicione ou configure as seguintes linhas no ficheiro e substitua os exemplos de valores pelos valores adequados utilizados 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 Description
    spring.data.cassandra.contact-points Especifica o Ponto de Contacto mencionado anteriormente no artigo.
    spring.data.cassandra.port Especifica a Porta mencionada anteriormente no artigo.
    spring.data.cassandra.username Especifica o Nome de Utilizador mencionado anteriormente no artigo.
    spring.data.cassandra.password Especifica a Palavra-passe Principal mencionada anteriormente no artigo.
  4. Guarde e feche o ficheiro application.properties.

Empacotar e testar o exemplo de aplicação

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

  1. Crie o exemplo de aplicação com o Maven; por exemplo:

    mvn clean package
    
  2. Inicie o exemplo de aplicação; por exemplo:

    java -jar target/spring-data-cassandra-on-azure-0.1.0-SNAPSHOT.jar
    
  3. Crie novos registos com curl a partir de uma linha de comandos como os seguintes exemplos:

    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 exemplo a seguir:

    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. Obtenha todos os registos já existentes com curl a partir de uma linha de comandos como os seguintes exemplos:

    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 Java de exemplo que usa o Spring Data para armazenar e recuperar informações usando o Azure Cosmos DB para Apache Cassandra.

Clean up resources (Limpar recursos)

Utilize o portal do Azure para eliminar os recursos criados neste artigo que deixaram de ser necessários para evitar custos inesperados.

Próximos passos

Para saber mais sobre o Spring e o Azure, avance para o centro de documentação relativa ao Spring no Azure.

Consulte também

Para obter mais informações sobre a utilização do Azure com Java, veja Azure para Programadores de Java e Working with Azure DevOps and Java (Trabalhar com o Azure DevOps e Java).