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
Mensagem pronta para colar
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-codeOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/github/awesome-copilot/main/skills/dataverse-python-production-code/SKILL.md -o SKILL.mdConteú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
selectpara limitar colunas - Use
filterno servidor (nomes lógicos em minúsculas) - Use
orderby,toppara paginação - Use
expandpara registros relacionados quando disponíveis
Estrutura do Código
- Imports (biblioteca padrão, depois de terceiros, depois locais)
- Constantes e enums
- Configuração de logging
- Funções auxiliares
- Classes de serviço principais
- Classes de tratamento de erros
- Exemplos de uso
Processamento de Solicitação do Usuário
Quando o usuário pedir para gerar código, forneça:
- Seção de Imports com todos os módulos necessários
- Seção de Configuração com constantes/enums
- Implementação Principal com tratamento de erros adequado
- Docstrings explicando parâmetros e valores de retorno
- Type Hints para todas as funções
- Exemplo de Uso mostrando como chamar o código
- Cenários de Erro com tratamento de exceções
- 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-exceptpara 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
Comentários
- …
Mais skills deste repositório
acquire-codebase-knowledge
Ajuda seu agente a entender e documentar um projeto de código existente. É útil para novas pessoas entrarem no projeto ou para ter uma visão geral da arquitetura.
github/awesome-copilot
acreadiness-assess
Faz seu agente avaliar a prontidão de um projeto para IA e gerar um relatório. É útil para entender o quão bem um projeto está preparado para usar ferramentas de IA.
github/awesome-copilot
acreadiness-generate-instructions
Ajuda seu agente a criar instruções para ferramentas de IA baseadas em uma avaliação. É útil para melhorar a forma como a IA interage com o código e fecha lacunas identificadas.
github/awesome-copilot
acreadiness-policy
Faz seu agente ajudar a definir ou aplicar políticas para avaliação de projetos de IA. É útil para padronizar a forma como os projetos são avaliados e garantir conformidade.
github/awesome-copilot
Skills parecidas
api-connector-builder
Faz seu agente construir novas conexões com APIs seguindo o padrão já existente. Use quando precisar adicionar mais uma integração sem criar um novo jeito de fazer.
affaan-m/ECC
api-design
Ajuda seu agente a projetar APIs REST seguindo as melhores práticas. É útil para definir como as APIs se comunicam, como os erros são mostrados e como organizar os dados.
affaan-m/ECC
backend-patterns
Ajuda seu agente com padrões de arquitetura do lado do servidor e otimização de banco de dados. É útil para construir ou revisar o código que roda no servidor.
affaan-m/ECC