Azure Cosmos DB for NoSQL: exemplos de Java SDK v4

APLICA-SE A: NoSQL

Importante

Para saber mais sobre o SDK do Java v4, consulte as Notas sobre a versão do SDK do Java v4 do Azure Cosmos DB, o repositório do Maven, as dicas de desempenho do SDK do Java v4 do Azure Cosmos DB e o guia de solução de problemas do SDK do Java v4 do Azure Cosmos DB. Se você estiver usando uma versão mais antiga do que a v4, confira o guia Migrar para o SDK do Java v4 do Azure Cosmos DB para obter ajuda na atualização para a v4.

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 aplicativos de exemplo mais recentes que executam operações CRUD e outras operações comuns nos recursos do Azure Cosmos DB estão incluídos no repositório GitHub azure-cosmos-java-sql-api-samples. Esse artigo fornece:

  • Links para as tarefas em cada um dos arquivos de exemplo do projeto Java.
  • 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
  • SDK do Java v4 do Azure Cosmos DB

Opcionalmente, é possível usar o Maven para obter os últimos binários do SDK do Java v4 do Azure Cosmos DB para usar em seu 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 seu caminho de compilação.

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

Executar aplicativos de exemplo

Clone o repositório do exemplo:

$ git clone https://github.com/Azure-Samples/azure-cosmos-java-sql-api-samples.git

$ cd azure-cosmos-java-sql-api-samples

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

Essas variáveis de ambiente devem ser definidas

ACCOUNT_HOST=your account hostname;ACCOUNT_KEY=your account primary key

para dar aos exemplos acesso de leitura/gravação à sua conta.

Para executar um exemplo, especifique sua Classe principal

com.azure.cosmos.examples.sample.synchronicity.MainClass

em que sample.synchronicity.MainClass pode ser

  • crudquickstart.sync.SampleCRUDQuickstart
  • crudquickstart.async.SampleCRUDQuickstartAsync
  • indexmanagement.sync.SampleIndexManagement
  • indexmanagement.async.SampleIndexManagementAsync
  • storedprocedure.sync.SampleStoredProcedure
  • storedprocedure.async.SampleStoredProcedureAsync
  • changefeed.SampleChangeFeedProcessor (Changefeed tem apenas um exemplo assíncrono, sem nenhum exemplo síncrono.) ...etc...

Observação

Cada exemplo é autossuficiente, eles se configuram e fazem sua limpeza sozinhos. Os exemplos emitem várias chamadas para criar um CosmosContainer ou um CosmosAsyncContainer. Cada vez que isso é feito, sua assinatura é cobrada por 1 hora de uso por nível de desempenho da coleção criada.

Exemplos de banco de dados

Os arquivos de exemplo CRUD do Banco de Dados para sincronização e assincronização mostram como executar as tarefas a seguir. Para saber mais sobre os bancos de dados do Azure Cosmos DB antes de executar os exemplos a seguir, confira o artigo conceitual Como trabalhar com bancos de dados, contêineres e itens.

Tarefa Referência de API
Criar um banco de dados CosmosClient.createDatabaseIfNotExists
CosmosAsyncClient.createDatabaseIfNotExists
Ler um banco de dados pela ID CosmosClient.getDatabase
CosmosAsyncClient.getDatabase
Ler todos os bancos de dados CosmosClient.readAllDatabases
CosmosAsyncClient.readAllDatabases
Excluir um banco de dados CosmosDatabase.delete
CosmosAsyncDatabase.delete

Exemplos de coleção

Os arquivos de Exemplos CRUD da Coleção para sincronização e assincronização mostram como executar as tarefas a seguir. Para saber mais sobre as coleções do Azure Cosmos DB antes de executar os exemplos a seguir, confira o artigo conceitual Como trabalhar com bancos de dados, contêineres e itens.

Tarefa Referência de API
Criar uma coleção CosmosDatabase.createContainerIfNotExists
CosmosAsyncDatabase.createContainerIfNotExists
Alterar o desempenho configurado de uma coleção CosmosContainer.replaceThroughput
CosmosAsyncContainer.replaceProvisionedThroughput
Obter uma coleção pela ID CosmosDatabase.getContainer
CosmosAsyncDatabase.getContainer
Ler todas as coleções em um banco de dados CosmosDatabase.readAllContainers
CosmosAsyncDatabase.readAllContainers
Excluir uma coleção CosmosContainer.delete
CosmosAsyncContainer.delete

Exemplos de coleção de dimensionamento automático

Para saber mais sobre o dimensionamento automático antes de executar esses exemplos, confira estas instruções para habilitar o dimensionamento automático em sua conta e em seus bancos de dados e contêineres.

Os arquivos de exemplo de banco de dados de dimensionamento automático para sincronização e assincronização mostram como executar a tarefa a seguir.

Tarefa Referência de API
Criar um banco de dados com a taxa de transferência máxima de dimensionamento automático especificada CosmosClient.createDatabase
CosmosAsyncClient.createDatabase

Os arquivos de exemplo da coleção de dimensionamento automático para sincronização e assincronização mostram como executar as tarefas a seguir.

Tarefa Referência de API
Criar uma coleção com a taxa de transferência máxima de dimensionamento automático especificada CosmosDatabase.createContainerIfNotExists
CosmosAsyncDatabase.createContainerIfNotExists
Alterar a taxa de transferência máxima de dimensionamento automático configurada de uma coleção CosmosContainer.replaceThroughput
CosmosAsyncContainer.replaceThroughput
Ler a configuração de taxa de transferência de dimensionamento automático de uma coleção CosmosContainer.readThroughput
CosmosAsyncContainer.readThroughput

Exemplos de coleta de armazenamento analítico

Os arquivos Exemplos de CRUD da coleção de armazenamento analítico para sincronizar e assincronizar mostra como executar as tarefas a seguir. Para saber mais sobre as coleções do Azure Cosmos DB antes de executar as seguintes amostras, leia sobre o Synapse e o Armazenamento Analítico do Azure Cosmos DB.

Tarefa Referência de API
Criar uma coleção CosmosDatabase.createContainerIfNotExists
CosmosAsyncDatabase.createContainerIfNotExists

Exemplos de item

Os arquivos de Exemplos CRUD de Documento para sincronização e assincronização mostram como executar as tarefas a seguir. Para saber mais sobre os documentos do Azure Cosmos DB antes de executar os exemplos a seguir, confira o artigo conceitual Como trabalhar com bancos de dados, contêineres e itens.

Observação

Você deve especificar uma chave de partição ao executar operações em um item específico.

Tarefa Referência de API
Criar um documento CosmosContainer.createItem
CosmosAsyncContainer.createItem
Ler um documento pela ID CosmosContainer.readItem
CosmosAsyncContainer.readItem
Consulta de documentos CosmosContainer.queryItems
CosmosAsyncContainer.queryItems
Substituir um documento CosmosContainer.replaceItem
CosmosAsyncContainer.replaceItem
Fazer upsert de um documento CosmosContainer.upsertItem
CosmosAsyncContainer.upsertItem
Excluir um documento CosmosContainer.deleteItem
CosmosAsyncContainer.deleteItem
Substituir um documento com a verificação de Etag condicional CosmosItemRequestOptions.setIfMatchETag (sincronização)
CosmosItemRequestOptions.setIfMatchETag (assincronização)
Ler o documento apenas se ele foi alterado CosmosItemRequestOptions.setIfNoneMatchETag (sincronização)
CosmosItemRequestOptions.setIfNoneMatchETag (assincronização)
Atualização parcial de documento CosmosContainer.patchItem
Atualização de documento em massa Exemplos em massa
Lote transacional exemplos de lote

Exemplos de indexação

O arquivo Exemplos de CRUD da coleção mostra como executar as tarefas a seguir. Para saber mais sobre a indexação no Azure Cosmos DB antes de executar os exemplos a seguir, consulte os artigos conceituais políticas de indexação, tipos de indexação e caminhos de indexação.

Tarefa Referência de API
Incluir caminhos dos documentos especificados no índice IndexingPolicy.IncludedPaths
Excluir caminhos dos documentos especificados do índice IndexingPolicy.ExcludedPaths
Criar um índice composto IndexingPolicy.setCompositeIndexes
CompositePath
Criar um índice geoespacial IndexingPolicy.setSpatialIndexes
SpatialSpec
SpatialType

Para obter mais informações sobre indexação, consulte Políticas de indexação do Azure Cosmos DB.

Exemplos de consulta

Os arquivos Exemplos de consulta para sincronização e assincronização mostram 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
Consultar todos os documentos CosmosContainer.queryItems
CosmosAsyncContainer.queryItems
Consultar a igualdade usando == CosmosContainer.queryItems
CosmosAsyncContainer.queryItems
Consultar a desigualdade usando != e NOT CosmosContainer.queryItems
CosmosAsyncContainer.queryItems
Consultar usando operadores de intervalo como >, <, >=, <= CosmosContainer.queryItems
CosmosAsyncContainer.queryItems
Consultar usando operadores de intervalo em cadeias de caracteres CosmosContainer.queryItems
CosmosAsyncContainer.queryItems
Consultar com ORDER BY CosmosContainer.queryItems
CosmosAsyncContainer.queryItems
Consultar com DISTINCT CosmosContainer.queryItems
CosmosAsyncContainer.queryItems
Consultar com funções de agregação CosmosContainer.queryItems
CosmosAsyncContainer.queryItems
Trabalhar com subdocumentos CosmosContainer.queryItems
CosmosAsyncContainer.queryItems
Consultar com junções dentro do documento CosmosContainer.queryItems
CosmosAsyncContainer.queryItems
Consultar com operadores de cadeia de caracteres, matemáticos e de matriz CosmosContainer.queryItems
CosmosAsyncContainer.queryItems
Consultar com o SQL parametrizado usando SqlQuerySpec CosmosContainer.queryItems
CosmosAsyncContainer.queryItems
Consultar com paginação explícita CosmosContainer.queryItems
CosmosAsyncContainer.queryItems
Consultar coleções particionadas em paralelo CosmosContainer.queryItems
CosmosAsyncContainer.queryItems

Exemplos de feed de alteração

O arquivo Exemplo do processador do feed de alterações mostra como realizar as tarefas a seguir. Para saber mais sobre o feed de alterações no Azure Cosmos DB antes de executar as amostras a seguir, confira Ler o feed de alterações do Azure Cosmos DB e Processador do feed de alterações.

Tarefa Referência de API
Funcionalidade básica do feed de alterações ChangeFeedProcessor.changeFeedProcessorBuilder
Ler feed de alterações do início ChangeFeedProcessorOptions.setStartFromBeginning()

Exemplos de programação do lado do servidor

O arquivo Exemplo de procedimento armazenado mostra como realizar as tarefas a seguir. Para saber mais sobre a programação do servidor no Azure Cosmos DB antes de executar as amostras a seguir, confira Procedimentos armazenados, gatilhos e funções definidas pelo usuário.

Tarefa Referência de API
Criar um procedimento armazenado CosmosScripts.createStoredProcedure
Executar um procedimento armazenado CosmosStoredProcedure.execute
Excluir um procedimento armazenado CosmosStoredProcedure.delete

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.