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

azure-resource-manager-cosmosdb-dotnet

Ajuda seu agente a gerenciar o serviço Azure Cosmos DB usando .NET. Útil para interagir com o banco de dados de forma programática.

O que ela faz

Este código ajuda a criar e gerenciar recursos do Azure Cosmos DB usando a linguagem de programação .NET. Ele permite configurar contas, bancos de dados e contêineres, além de ajustar o desempenho.

Quando usar

  • ✓Ao criar uma nova conta do Azure Cosmos DB para um aplicativo.
  • ✓Ao configurar bancos de dados e contêineres para armazenar dados.
  • ✓Ao ajustar o desempenho (throughput) de seus recursos do Cosmos DB.

Exemplo do que pedir para a IA

“Como posso criar uma conta do Azure Cosmos DB com um banco de dados e um contêiner usando .NET?”

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-resource-manager-cosmosdb-dotnet/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-resource-manager-cosmosdb-dotnet/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

Ele utiliza o SDK do Azure Resource Manager para .NET, que se conecta à sua conta Azure. Você define os detalhes dos recursos (como nome, localização e configurações) em código e o SDK os cria para você no Azure.

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-resource-manager-cosmosdb-dotnet

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/azure-resource-manager-cosmosdb-dotnet/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.

Suporte upstream incluído

Arquivos de suporte estão incluídos em caminhos relativos à skill. Veja UPSTREAM-NOTICE.md para suas fontes fixadas, licenças, hashes e alterações de importação.

Azure.ResourceManager.CosmosDB (.NET)

SDK do plano de gerenciamento para provisionar e gerenciar recursos do Azure Cosmos DB via Azure Resource Manager.

⚠️ Plano de Gerenciamento vs. Plano de Dados

  • Este SDK (Azure.ResourceManager.CosmosDB): Cria contas, bancos de dados, contêineres, configura throughput, gerencia RBAC
  • SDK do Plano de Dados (Microsoft.Azure.Cosmos): Operações CRUD em documentos, consultas, execução de stored procedures

Instalação

dotnet add package Azure.ResourceManager.CosmosDB
dotnet add package Azure.Identity

Versões Atuais: Estável v1.4.0, Preview v1.4.0-beta.13

Variáveis de Ambiente

AZURE_SUBSCRIPTION_ID=<your-subscription-id>
# For service principal auth (optional)
AZURE_TENANT_ID=<tenant-id>
AZURE_CLIENT_ID=<client-id>
AZURE_CLIENT_SECRET=<client-secret>

Autenticação

using Azure.Identity;
using Azure.ResourceManager;
using Azure.ResourceManager.CosmosDB;

// Always use DefaultAzureCredential
var credential = new DefaultAzureCredential();
var armClient = new ArmClient(credential);

// Get subscription
var subscriptionId = Environment.GetEnvironmentVariable("AZURE_SUBSCRIPTION_ID");
var subscription = armClient.GetSubscriptionResource(
    new ResourceIdentifier($"/subscriptions/{subscriptionId}"));

Hierarquia de Recursos

ArmClient
└── SubscriptionResource
    └── ResourceGroupResource
        └── CosmosDBAccountResource
            ├── CosmosDBSqlDatabaseResource
            │   └── CosmosDBSqlContainerResource
            │       ├── CosmosDBSqlStoredProcedureResource
            │       ├── CosmosDBSqlTriggerResource
            │       └── CosmosDBSqlUserDefinedFunctionResource
            ├── CassandraKeyspaceResource
            ├── GremlinDatabaseResource
            ├── MongoDBDatabaseResource
            └── CosmosDBTableResource

Fluxo de Trabalho Principal

1. Criar Conta Cosmos DB

using Azure.ResourceManager.CosmosDB;
using Azure.ResourceManager.CosmosDB.Models;

// Get resource group
var resourceGroup = await subscription
    .GetResourceGroupAsync("my-resource-group");

// Define account
var accountData = new CosmosDBAccountCreateOrUpdateContent(
    location: AzureLocation.EastUS,
    locations: new[]
    {
        new CosmosDBAccountLocation
        {
            LocationName = AzureLocation.EastUS,
            FailoverPriority = 0,
            IsZoneRedundant = false
        }
    })
{
    Kind = CosmosDBAccountKind.GlobalDocumentDB,
    ConsistencyPolicy = new ConsistencyPolicy(DefaultConsistencyLevel.Session),
    EnableAutomaticFailover = true
};

// Create account (long-running operation)
var accountCollection = resourceGroup.Value.GetCosmosDBAccounts();
var operation = await accountCollection.CreateOrUpdateAsync(
    WaitUntil.Completed,
    "my-cosmos-account",
    accountData);

CosmosDBAccountResource account = operation.Value;

2. Criar Banco de Dados SQL

var databaseData = new CosmosDBSqlDatabaseCreateOrUpdateContent(
    new CosmosDBSqlDatabaseResourceInfo("my-database"));

var databaseCollection = account.GetCosmosDBSqlDatabases();
var dbOperation = await databaseCollection.CreateOrUpdateAsync(
    WaitUntil.Completed,
    "my-database",
    databaseData);

CosmosDBSqlDatabaseResource database = dbOperation.Value;

3. Criar Contêiner SQL

var containerData = new CosmosDBSqlContainerCreateOrUpdateContent(
    new CosmosDBSqlContainerResourceInfo("my-container")
    {
        PartitionKey = new CosmosDBContainerPartitionKey
        {
            Paths = { "/partitionKey" },
            Kind = CosmosDBPartitionKind.Hash
        },
        IndexingPolicy = new CosmosDBIndexingPolicy
        {
            Automatic = true,
            IndexingMode = CosmosDBIndexingMode.Consistent
        },
        DefaultTtl = 86400 // 24 hours
    });

var containerCollection = database.GetCosmosDBSqlContainers();
var containerOperation = await containerCollection.CreateOrUpdateAsync(
    WaitUntil.Completed,
    "my-container",
    containerData);

CosmosDBSqlContainerResource container = containerOperation.Value;

4. Configurar Throughput

// Throughput manual
var throughputData = new ThroughputSettingsUpdateData(
    new ThroughputSettingsResourceInfo
    {
        Throughput = 400

…
Perguntas frequentes

Qual a diferença entre este SDK e o SDK do Data Plane?

Este SDK (Management Plane) é para criar e gerenciar a infraestrutura do Cosmos DB (contas, bancos de dados, contêineres). O SDK do Data Plane (Microsoft.Azure.Cosmos) é para interagir com os dados dentro desses contêineres (CRUD, consultas).

Como configuro a autenticação?

Você pode usar `DefaultAzureCredential`, que tenta várias formas de autenticação, incluindo variáveis de ambiente para credenciais de um principal de serviço ou a identidade gerenciada.

O que é 'throughput'?

Throughput é a capacidade de processamento do seu banco de dados, medida em Unidades de Solicitação (RU/s). Você pode configurá-lo manualmente ou usar o autoscale para que o Azure ajuste automaticamente com base na demanda.

Detalhes

Descrição original do autor

Azure Resource Manager SDK for Cosmos DB in .NET.

repo: sickn33/agentic-awesome-skills

Popularidade

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

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas