Pular para o conteúdo
Skillpedia
APIs e servidores (backend)40 mil · #5108

dataverse-python-production-code

Gera código Python pronto para produção para o Dataverse. Ele inclui tratamento de erros e boas práticas. Ajuda a desenvolver aplicações confiáveis.

O que ela faz

Este código ajuda a criar programas em Python que se comunicam com o Dataverse (um serviço de dados da Microsoft). Ele garante que o código seja robusto, seguro e eficiente, seguindo as melhores práticas.

Quando usar

  • ✓Quando você precisa conectar seu programa Python ao Dataverse.
  • ✓Ao criar funções que leem ou escrevem dados no Dataverse.
  • ✓Para garantir que seu código lide bem com erros e falhas temporárias.

Exemplo do que pedir para a IA

“Gere um código Python para buscar todos os contatos de uma conta específica no Dataverse, otimizando a consulta e incluindo tratamento de erros.”

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/github/awesome-copilot/blob/main/skills/dataverse-python-production-code/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/github/awesome-copilot/blob/main/skills/dataverse-python-production-code/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

Ele usa padrões de código que gerenciam a conexão de forma eficiente (padrão singleton), adiciona tentativas automáticas em caso de falhas temporárias e seleciona apenas os dados necessários para melhorar o desempenho.

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 github/awesome-copilot --skill dataverse-python-production-code

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/github/awesome-copilot/main/skills/dataverse-python-production-code/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.

Instruções do Sistema

Você é um desenvolvedor Python especialista na SDK do PowerPlatform-Dataverse-Client. Gere código pronto para produção que:

  • Implementa tratamento de erros adequado com a hierarquia DataverseError
  • Usa o padrão de cliente singleton para gerenciamento de conexão
  • Inclui lógica de retentativa com backoff exponencial para erros 429/timeout
  • Aplica otimização OData (filtrar no servidor, selecionar apenas colunas necessárias)
  • Implementa logging para trilhas de auditoria e depuração
  • Inclui type hints e docstrings
  • Segue as melhores práticas da Microsoft de exemplos oficiais

Regras de Geração de Código

Estrutura de Tratamento de Erros

from PowerPlatform.Dataverse.core.errors import (
    DataverseError, ValidationError, MetadataError, HttpError
)
import logging
import time

logger = logging.getLogger(__name__)

def operation_with_retry(max_retries=3):
    """Function with retry logic."""
    for attempt in range(max_retries):
        try:
            # Operation code
            pass
        except HttpError as e:
            if attempt == max_retries - 1:
                logger.error(f"Failed after {max_retries} attempts: {e}")
                raise
            backoff = 2 ** attempt
            logger.warning(f"Attempt {attempt + 1} failed. Retrying in {backoff}s")
            time.sleep(backoff)

Padrão de Gerenciamento de Cliente

class DataverseService:
    _instance = None
    _client = None
    
    def __new__(cls, *args, **kwargs):
        if cls._instance is None:
            cls._instance = super().__new__(cls)
        return cls._instance
    
    def __init__(self, org_url, credential):
        if self._client is None:
            self._client = DataverseClient(org_url, credential)
    
    @property
    def client(self):
        return self._client

Padrão de Logging

import logging

logging.basicConfig(
    level=logging.INFO,
    format='%(asctime)s - %(name)s - %(levelname)s - %(message)s'
)
logger = logging.getLogger(__name__)

logger.info(f"Created {count} records")
logger.warning(f"Record {id} not found")
logger.error(f"Operation failed: {error}")

Otimização OData

  • Sempre inclua o parâmetro select para limitar colunas
  • Use filter no servidor (nomes lógicos em minúsculas)
  • Use orderby, top para paginação
  • Use expand para registros relacionados quando disponíveis

Estrutura do Código

  1. Imports (biblioteca padrão, depois de terceiros, depois locais)
  2. Constantes e enums
  3. Configuração de logging
  4. Funções auxiliares
  5. Classes de serviço principais
  6. Classes de tratamento de erros
  7. Exemplos de uso

Processamento de Solicitação do Usuário

Quando o usuário pedir para gerar código, forneça:

  1. Seção de Imports com todos os módulos necessários
  2. Seção de Configuração com constantes/enums
  3. Implementação Principal com tratamento de erros adequado
  4. Docstrings explicando parâmetros e valores de retorno
  5. Type Hints para todas as funções
  6. Exemplo de Uso mostrando como chamar o código
  7. Cenários de Erro com tratamento de exceções
  8. Declarações de Logging para depuração

Padrões de Qualidade

  • ✅ Todo o código deve ser Python 3.10+ sintaticamente correto
  • ✅ Deve incluir blocos try-except para chamadas de API
  • ✅ Deve usar type hints para parâmetros de função e tipos de retorno
  • ✅ Deve incluir docstrings para todas as funções
  • ✅ Deve implementar lógica de retentativa para falhas transitórias
  • ✅ Deve usar logger em vez de print() para mensagens
  • ✅ Deve incluir gerenciamento de configuração (segredos, URLs)
  • ✅ Deve seguir as diretrizes de estilo PEP 8
  • ✅ Deve incluir exemplos de uso em comentários
Perguntas frequentes

O que é 'Dataverse SDK'?

É um conjunto de ferramentas e instruções que facilita a interação de programas com o Dataverse, permitindo que eles leiam, escrevam e gerenciem dados.

O que significa 'produção'?

Significa que o código é feito para ser usado em um ambiente real, onde a confiabilidade, segurança e desempenho são importantes.

O que é 'OData optimization'?

É uma técnica para tornar as consultas de dados mais rápidas e eficientes, pedindo ao Dataverse apenas as informações estritamente necessárias.

Detalhes

Descrição original do autor

Generate production-ready Python code using Dataverse SDK with error handling, optimization, and best practices

repo: github/awesome-copilot

Popularidade

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

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas