Azure Cosmos DB para NoSQL: exemplos do Java SDK v4

APLICA-SE A: NoSQL

Importante

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

Importante

Se não tiver uma subscrição 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 necessidade de compromisso. Como alternativa, você pode criar uma conta de camada gratuita do Azure Cosmos DB, com os primeiros 1000 RU/s e 25 GB de armazenamento gratuitamente. Você também pode usar o emulador do Azure Cosmos DB com um URI de https://localhost:8081. Para obter a chave a ser usada com o emulador, consulte Autenticando solicitações.

Os aplicativos de exemplo mais recentes que executam operações CRUD e outras operações comuns em recursos do Azure Cosmos DB estão incluídos no repositório GitHub azure-cosmos-java-sql-api-samples . Este artigo fornece:

  • Ligações para as tarefas em cada um dos ficheiros do projeto de Java de exemplo.
  • Ligações para o conteúdo relacionado de referência da API.

Pré-requisitos

Precisa do seguinte apra executar esta aplicação de exemplo:

  • Java Development Kit 8
  • SDK Java do Azure Cosmos DB v4

Opcionalmente, você pode usar o Maven para obter os binários Java SDK v4 mais recentes do Azure Cosmos DB para uso em seu projeto. O Maven adiciona automaticamente quaisquer dependências necessárias. Caso contrário, pode transferir diretamente as dependências listadas no ficheiro 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 os exemplos de aplicações

Clonar o repositório de 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 os exemplos 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 às amostras acesso de leitura/gravação à sua conta.

Para executar um exemplo, especifique sua classe principal

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

onde 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 uma amostra assíncrona, nenhuma amostra de sincronização.) ... etc...

Nota

Cada amostra é independente, configura-se automaticamente e limpa-se em seguida. Os exemplos emitem várias chamadas para criar um CosmosContainer ou CosmosAsyncContainer. Cada vez que isto é feito, a sua subscrição é cobrada por 1 hora de utilização pelo escalão de desempenho da coleção criada.

Exemplos de base de dados

Os arquivos de exemplo CRUD do banco de dados para sincronização e assíncrona 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, consulte o artigo conceitual Trabalhando com bancos de dados, contêineres e itens .

Tarefa Referência da API
Criar uma base de dados CosmosClient.createDatabaseIfNotExists
CosmosAsyncClient.createDatabaseIfNotExists
Ler uma base de dados por ID CosmosClient.getDatabase
CosmosAsyncClient.getDatabase
Ler todas as bases de dados CosmosClient.readAllDatabases
CosmosAsyncClient.readAllDatabases
Eliminar uma base de dados CosmosDatabase.delete
CosmosAsyncDatabase.delete

Exemplos de coleção

Os arquivos de amostras CRUD de coleção para sincronização e assíncrona mostram como executar as seguintes tarefas. Para saber mais sobre as coleções do Azure Cosmos DB antes de executar os exemplos a seguir, consulte o artigo conceitual Trabalhando com bancos de dados, contêineres e itens .

Tarefa Referência da API
Criar uma coleção CosmosDatabase.createContainerIfNotExists
CosmosAsyncDatabase.createContainerIfNotExists
Alterar um desempenho configurado de uma coleção CosmosContainer.replaceThroughput
CosmosAsyncContainer.replaceProvisionedThroughput
Obter uma coleção por ID CosmosDatabase.getContainer
CosmosAsyncDatabase.getContainer
Ler todas as coleções numa base de dados CosmosDatabase.readAllContainers
CosmosAsyncDatabase.readAllContainers
Eliminar uma coleção CosmosContainer.delete
CosmosAsyncContainer.delete

Exemplos de coleta de dimensionamento automático

Para saber mais sobre o dimensionamento automático antes de executar esses exemplos, consulte 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 assíncrona mostram como executar a tarefa a seguir.

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

Os arquivos de amostra de coleta de dimensionamento automático para sincronização e assíncrona mostram como executar as tarefas a seguir.

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

Exemplos de coleta de armazenamento analítico

Os arquivos de amostras CRUD da coleção de armazenamento analítico para sincronização e assíncrona mostram como executar as seguintes tarefas. Para saber mais sobre as coleções do Azure Cosmos DB antes de executar os exemplos a seguir, leia sobre a Sinapse e o Repositório Analítico do Azure Cosmos DB.

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

Exemplos de itens

Os arquivos Document CRUD Samples para sincronização e assíncrona mostram como executar as seguintes tarefas. Para saber mais sobre os documentos do Azure Cosmos DB antes de executar os exemplos a seguir, consulte o artigo conceitual Trabalhando com bancos de dados, contêineres e itens .

Nota

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

Tarefa Referência da API
Criar um documento CosmosContainer.createItem
CosmosAsyncContainer.createItem
Ler um documento por ID CosmosContainer.readItem
CosmosAsyncContainer.readItem
Consultar documentos CosmosContainer.queryItems
CosmosAsyncContainer.queryItems
Substituir um documento CosmosContainer.replaceItem
CosmosAsyncContainer.replaceItem
Upsert um documento CosmosContainer.upsertItem
CosmosAsyncContainer.upsertItem
Eliminar um documento CosmosContainer.deleteItem
CosmosAsyncContainer.deleteItem
Substituir um documento por verificação ETag condicional CosmosItemRequestOptions.setIfMatchETag (sincronização)
CosmosItemRequestOptions.setIfMatchETag (assíncrono)
Ler documento apenas se este for alterado CosmosItemRequestOptions.setIfNoneMatchETag (sincronização)
CosmosItemRequestOptions.setIfNoneMatchETag (assíncrono)
Atualização parcial de documentos CosmosContainer.patchItem
Atualização de documentos em massa Amostras globais
Lote transacional amostras de lotes

Exemplos de indexação

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

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

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

Query examples (Exemplos de consultas)

Os arquivos de Exemplos de Consulta para sincronização e assíncrona mostram como executar as seguintes tarefas usando a gramática de consulta SQL. Para saber mais sobre a referência de consulta SQL no Azure Cosmos DB antes de executar os exemplos a seguir, consulte Exemplos de consulta SQL para o Azure Cosmos DB.

Tarefa Referência da API
Consultar todos os documentos CosmosContainer.queryItems
CosmosAsyncContainer.queryItems
Consultar igualdade com == CosmosContainer.queryItems
CosmosAsyncContainer.queryItems
Consultar desigualdade com != e NOT CosmosContainer.queryItems
CosmosAsyncContainer.queryItems
Consulta usando operadores de intervalo como >, , ><=, <= CosmosContainer.queryItems
CosmosAsyncContainer.queryItems
Consultar com operadores de intervalo em relação a cadeias CosmosContainer.queryItems
CosmosAsyncContainer.queryItems
Consulta com ORDER BY CosmosContainer.queryItems
CosmosAsyncContainer.queryItems
Consulta com DISTINCT CosmosContainer.queryItems
CosmosAsyncContainer.queryItems
Consulta com funções agregadas CosmosContainer.queryItems
CosmosAsyncContainer.queryItems
Trabalhar com subdocumentos CosmosContainer.queryItems
CosmosAsyncContainer.queryItems
Consultar com Associações dentro de documentos CosmosContainer.queryItems
CosmosAsyncContainer.queryItems
Consulta com operadores de cadeia de caracteres, matemática e matriz CosmosContainer.queryItems
CosmosAsyncContainer.queryItems
Consultar com SQL parametrizado com 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ções

O arquivo Change Feed Processor Sample mostra como executar as tarefas a seguir. Para saber mais sobre o feed de alterações no Azure Cosmos DB antes de executar os exemplos a seguir, consulte Ler feed de alterações do Azure Cosmos DB e Alterar processador de feed.

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

Exemplos de programação do lado do servidor

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

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

Próximos passos

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