Pular para o conteúdo
Skillpedia
Bancos de dados48 mil · #2303

azure-cosmos-java

Faz seu agente operar bancos de dados NoSQL no Azure Cosmos DB usando Java. É bom para criar aplicações que precisam de acesso rápido a dados em qualquer lugar do mundo.

O que ela faz

Esta ferramenta ajuda desenvolvedores a se conectarem e interagirem com o Azure Cosmos DB, um banco de dados NoSQL da Microsoft. Ela permite criar, ler, atualizar e excluir dados, além de fazer consultas.

Quando usar

  • ✓Ao construir aplicações que precisam armazenar e recuperar dados de forma rápida e escalável.
  • ✓Quando se trabalha com grandes volumes de dados que não se encaixam em um modelo de banco de dados tradicional.
  • ✓Para criar aplicações globais que precisam de acesso a dados em diferentes regiões do mundo.

Exemplo do que pedir para a IA

“Como eu uso o SDK Java do Azure Cosmos DB para criar um novo item em um contêiner?”

Quer saber mais? Abra as seções abaixo.

Como usar

O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.

Link da skill

https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/azure-cosmos-java/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/azure-cosmos-java/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

A ferramenta funciona como uma biblioteca que você adiciona ao seu código Java. Ela fornece comandos prontos para se comunicar com o Azure Cosmos DB, permitindo que você manipule seus dados sem precisar escrever toda a comunicação de rede do zero.

Instalação

Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.

No terminal (Claude Code, Codex, Cursor), na pasta do projeto:

npx skills add sickn33/agentic-awesome-skills --skill azure-cosmos-java

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/azure-cosmos-java/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

SDK do Azure Cosmos DB para Java

Biblioteca cliente para a API NoSQL do Azure Cosmos DB com distribuição global e padrões reativos.

Instalação

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

Ou use o BOM do Azure SDK:

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>com.azure</groupId>
            <artifactId>azure-sdk-bom</artifactId>
            <version>{bom_version}</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

<dependencies>
    <dependency>
        <groupId>com.azure</groupId>
        <artifactId>azure-cosmos</artifactId>
    </dependency>
</dependencies>

Variáveis de Ambiente

COSMOS_ENDPOINT=https://<account>.documents.azure.com:443/
COSMOS_KEY=<your-primary-key>

Autenticação

Autenticação Baseada em Chave

import com.azure.cosmos.CosmosClient;
import com.azure.cosmos.CosmosClientBuilder;

CosmosClient client = new CosmosClientBuilder()
    .endpoint(System.getenv("COSMOS_ENDPOINT"))
    .key(System.getenv("COSMOS_KEY"))
    .buildClient();

Cliente Assíncrono

import com.azure.cosmos.CosmosAsyncClient;

CosmosAsyncClient asyncClient = new CosmosClientBuilder()
    .endpoint(serviceEndpoint)
    .key(key)
    .buildAsyncClient();

Com Customizações

import com.azure.cosmos.ConsistencyLevel;
import java.util.Arrays;

CosmosClient client = new CosmosClientBuilder()
    .endpoint(serviceEndpoint)
    .key(key)
    .directMode(directConnectionConfig, gatewayConnectionConfig)
    .consistencyLevel(ConsistencyLevel.SESSION)
    .connectionSharingAcrossClientsEnabled(true)
    .contentResponseOnWriteEnabled(true)
    .userAgentSuffix("my-application")
    .preferredRegions(Arrays.asList("West US", "East US"))
    .buildClient();

Hierarquia de Clientes

Classe Propósito
CosmosClient / CosmosAsyncClient Operações em nível de conta
CosmosDatabase / CosmosAsyncDatabase Operações de banco de dados
CosmosContainer / CosmosAsyncContainer Operações de contêiner/item

Fluxo de Trabalho Principal

Criar Banco de Dados

// Sync
client.createDatabaseIfNotExists("myDatabase")
    .map(response -> client.getDatabase(response.getProperties().getId()));

// Async with chaining
asyncClient.createDatabaseIfNotExists("myDatabase")
    .map(response -> asyncClient.getDatabase(response.getProperties().getId()))
    .subscribe(database -> System.out.println("Created: " + database.getId()));

Criar Contêiner

asyncClient.createDatabaseIfNotExists("myDatabase")
    .flatMap(dbResponse -> {
        String databaseId = dbResponse.getProperties().getId();
        return asyncClient.getDatabase(databaseId)
            .createContainerIfNotExists("myContainer", "/partitionKey")
            .map(containerResponse -> asyncClient.getDatabase(databaseId)
                .getContainer(containerResponse.getProperties().getId()));
    })
    .subscribe(container -> System.out.println("Container: " + container.getId()));

Operações CRUD

import com.azure.cosmos.models.PartitionKey;

CosmosAsyncContainer container = asyncClient
    .getDatabase("myDatabase")
    .getContainer("myContainer");

// Create
container.createItem(new User("1", "John Doe", "john@example.com"))
    .flatMap(response -> {
        System.out.println("Created: " + response.getItem());
        // Read
        return container.readItem(
            response.getItem().getId(),
            new PartitionKey(response.getItem().getId()),
            User.class);
    })
    .flatMap(response -> {
        System.out.println("Read: " + response.getItem());
        // Update
        User user = response.getItem();
        user.setEmail("john.doe@example.com");
        return container.replaceItem(
            user,
            user.getId(),
            new PartitionKey(user.getId()));
    })
    .flatMap(response -> {
        // Delete
        return container.deleteItem(
            response.getItem().getId(),
            new PartitionKey(response.getItem().getId()));
    })
    .block();

Consultar Documentos

import com.azure.cosmos.models.CosmosQueryRequestOptions;
import com.azure.cosmos.util.CosmosPagedIterable;

CosmosContainer container = client.getDatabase("myDatabase").getContainer("myContainer");


…
Perguntas frequentes

O que é um banco de dados NoSQL?

Um banco de dados NoSQL é um tipo de banco de dados que não usa o formato tradicional de tabelas com linhas e colunas. Ele é mais flexível e pode lidar com diferentes tipos de dados e estruturas.

O que são 'Request Units' (RUs)?

RUs são uma medida do 'custo' de uma operação no Azure Cosmos DB. Operações mais complexas ou que usam mais recursos consomem mais RUs.

Posso usar esta ferramenta com outros bancos de dados?

Não, esta ferramenta é específica para o Azure Cosmos DB, um serviço de banco de dados da Microsoft.

Detalhes

Descrição original do autor

Azure Cosmos DB SDK for Java. NoSQL database operations with global distribution, multi-model support, and reactive patterns.

repo: sickn33/agentic-awesome-skills

Popularidade

Estrelas no GitHub
48 mil
Posição no ranking
#2303
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas