Azure Cosmos DB para NoSQL: Exemplos do Spring Data Azure Cosmos DB v5

APLICA-SE A: NoSQL

Importante

Essas notas sobre a versão são para a versão 5 do Azure Cosmos DB com Spring Data. Você pode encontrar as notas sobre a versão da versão 3 aqui e da versão 2 aqui.

O Spring Data Azure Cosmos DB dá suporte apenas à API para NoSQL.

Confira estes artigos para obter informações sobre o Spring Data em outras APIs do Azure Cosmos DB:

Importante

Caso você não tenha uma assinatura do Azure, crie uma conta gratuita do Azure antes de começar.

Você pode experimentar o Azure Cosmos DB gratuitamente, sem uma assinatura do Azure e sem compromisso. Como alternativa, você pode criar uma conta de camada gratuita do Azure Cosmos DB, com as primeiras 1.000 RU/s e 25 GB de armazenamento gratuitos. Você também pode usar o emulador do Azure Cosmos DB com o URI https://localhost:8081. Quanto à chave a ser usada com o emulador, confira Autenticação de solicitações.

Os mais recentes aplicativos de amostra que realizam operações CRUD e outras operações comuns em recursos do Azure Cosmos DB estão incluídos no repositório GitHub azure-spring-boot-samples. Esse artigo fornece:

  • Links para as tarefas em cada um dos arquivos de projeto de exemplo do Spring Data Azure Cosmos DB.
  • Links para o conteúdo de referência da API relacionada.

Pré-requisitos

Para executar esse aplicativo de exemplo, serão necessários:

  • Java Development Kit 8
  • Azure Cosmos DB v5 para Spring Data

Opcionalmente, você pode usar o Maven para obter os últimos binários do Spring Data Azure Cosmos DB v3 para uso no projeto. O Maven adiciona automaticamente todas as dependências necessárias. Caso contrário, você poderá baixar diretamente as dependências listadas no arquivo pom.xml e adicioná-las ao caminho de compilação.

<dependency>
	<groupId>com.azure</groupId>
	<artifactId>azure-spring-data-cosmos</artifactId>
	<version>LATEST</version>
</dependency>

Executar aplicativos de exemplo

Clone o repositório do exemplo:

$ git clone https://github.com/Azure-Samples/azure-spring-boot-samples

$ cd cosmos/azure-spring-data-cosmos/spring3-samples/cosmos-quickstart-samples

Você pode executar as amostras usando um IDE (Eclipse, IntelliJ ou VS Code) ou a partir da linha de comando usando o Maven.

Em application.properties, essas variáveis de ambiente devem ser definidas

cosmos.uri=${ACCOUNT_HOST}
cosmos.key=${ACCOUNT_KEY}
cosmos.secondaryKey=${SECONDARY_ACCOUNT_KEY}

dynamic.collection.name=spel-property-collection
# Populate query metrics
cosmos.queryMetricsEnabled=true

para dar aos exemplos acesso de leitura/gravação à conta, aos bancos de dados e aos contêineres.

O IDE pode fornecer a capacidade de executar o código de exemplo do Spring Data. Caso contrário, você poderá usar o seguinte comando de terminal para executar o exemplo:

mvn spring-boot:run

Documentar exemplos CRUD

O arquivo de exemplos mostra como executar as tarefas a seguir. Para saber mais sobre os documentos do Azure Cosmos DB antes de executar os exemplos a seguir, veja o artigo conceitual Trabalhando com bancos de dados, contêineres e itens.

Tarefa Referência de API
Criar um documento CosmosRepository.save
Ler um documento por ID CosmosRepository.derivedQueryMethod
Excluir todos os documentos CosmosRepository.deleteAll

Exemplos de métodos de consulta derivada

O arquivo de exemplos mostra como executar as tarefas a seguir. Para saber mais sobre as consultas do Azure Cosmos DB antes de executar os exemplos a seguir, talvez seja útil ler o artigo Métodos de Consulta Derivada no Spring, da Baeldung.

| Consulta de documentos | CosmosRepository. derivedQueryMethod |

Exemplos de consultas personalizadas

O arquivo de Exemplos mostra como realizar as tarefas a seguir usando a gramática de consulta SQL. Para saber mais sobre a referência de consulta SQL no Azure Cosmos DB antes de executar as amostras a seguir, confira Exemplos de consulta SQL do Azure Cosmos DB.

Tarefa Referência de API
Consulta de todos os documentos @Query anotação
Consulta de igualdade usando = = @Query anotação
Consulta de desigualdade usando != e NOT @Query anotação
Consultar usando operadores de intervalo como >, <, >=, <= @Query anotação
Consulta usando operadores de intervalo em cadeias de caracteres @Query anotação
Consultar com ORDER BY @Query anotação
Consultar com DISTINCT @Query anotação
Consultar com funções de agregação @Query anotação
Trabalhar com subdocumentos @Query anotação
Consulta com junções dentro do documento @Query anotação
Consulta com cadeia de caracteres, operadores matemáticos e de matriz @Query anotação

Próximas etapas

Tentando fazer um planejamento de capacidade para uma migração para o Microsoft Azure Cosmos DB? Você pode usar informações sobre o cluster de banco de dados existente para fazer isso.