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 SDK Java do Azure Cosmos DB v4, 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.
- Pode ativar os benefícios de subscritor do Visual Studio: a sua subscrição do Visual Studio dá-lhe créditos todos os meses que pode utilizar em serviços pagos do Azure.
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 .
Task | 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 .
Task | 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.
Task | 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.
Task | 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 tarefas a seguir. 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.
Task | 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.
Task | 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 tarefas a seguir. 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.
Task | 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.
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.
Task | 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.
Task | 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.
- Se tudo o que você sabe é o número de vcores e servidores em seu cluster de banco de dados existente, leia sobre como estimar unidades de solicitação usando vCores ou vCPUs
- Se você souber as taxas de solicitação típicas para sua carga de trabalho de banco de dados atual, leia sobre como estimar unidades de solicitação usando o planejador de capacidade do Azure Cosmos DB