Esse texto foi traduzido usando o sistema de tradução automatizado do Salesforce. Pegue nossa enquisa para fornecer feedback sobre esse conteúdo e diga-nos o que você gostaria de ver em seguida.

Automatizado – Integridade de dados

Saiba mais sobre Well-Architected EasyAutomatizadoIntegridade de dadosManuseio de dados

Onde procurar?
Área de produtos | Local
Qual é a aparência de um bom?
Padrão
Data 360 | Dicionário de dados✅ Há dados em nível de campo e lógica de priorização para todas as fontes de dados e objetos de data lake
Data 360 | Organização✅ Chaves compostas são usadas para criar uma chave primária exclusiva se não existir. Use um campo de fórmula para unir vários campos do seu conjunto de dados quando não houver um único campo no conjunto de dados que seja exclusivo
Data 360 | Organização✅ Fluxos de dados que usam o Conector do CRM aproveitam a atualização completa de duas semanas Ao usar o Conector do CRM para cargas incrementais, uma atualização completa é iniciada a cada duas semanas. Embora isso possa aumentar a ingestão de dados, ele protege a integridade dos metadados (como campos de fórmula), que não acionam uma transação DML e, como resultado, não são incluídos em cargas incrementais
Data 360 | Organização✅ O ID individual é usado para mapear dados do Data 360 para outros sistemas Mapear indivíduos no Data 360 para outros sistemas usando o ID individual. Por exemplo, a Chave de assinante do Marketing Cloud Engagement deve ser mapeada para o ID individual do Data 360
Data 360 | Organização✅ Chaves totalmente qualificadas são usadas para interpretar dados com precisão Todos os DLOs que contêm um valor de chave têm um campo qualificador de chave e Chaves totalmente qualificadas (FQK) são habilitadas na organização para evitar conflitos que possam ocorrer quando vários fluxos de dados são harmonizados em um único objeto de modelo de dados (DMO)
Data 360 | Organização✅ Os métodos de correspondência normalizados são usados em regras de correspondência quando estão disponíveis. A correspondência normalizada exata transforma dados de origem para resolver problemas de correspondência comuns, como espaços no final, formatação inconsistente e caracteres especiais. Aproveite esse método em campos em que ele está disponível, em vez de usar correspondência parcial, a menos que você tenha configurado vários conjuntos de regras para teste e confirmado que a taxa de consolidação não atende às necessidades de negócios
Einstein | Documentação✅ A utilidade dos dados é documentada como parte do projeto de IA A definição de utilidade dos dados da sua empresa é documentada e operativa para melhorar as respostas de IA
Plataforma | Apex✅ Futuro Apex é usado com moderação, para chamadas ou DML de objeto do sistema
Plataforma | Apex✅ As invocações assíncronas do Apex usam DML complexo enfileirável para "corrente" em transações
Plataforma | Apex✅ O Apex em lote é usado exclusivamente para grandes volumes de dados O Apex em lote é o melhor para processar grandes quantidades de dados. O Apex assíncrono tem limites mais altos do que o Apex síncrono para que mais trabalho possa ser feito. Evite tamanhos de lote muito pequenos quando possível para evitar consequências de controle de fluxo (inundação de filas), sobrecarga e esgotamento do limite diário do Apex assíncrono
Plataforma | Apex✅ Todas as instruções DML síncronas ou métodos de classe de banco de dados são realizadas em contextos de execução de acionador antes
Plataforma | Apex✅ A API em massa é usada apenas quando grandes quantidades de dados precisam ser processadas. A API em massa é usada quando grandes quantidades de dados precisam ser processadas. APIs SOAP e REST nativas são aproveitadas para quantidades menores de processamento de dados
Plataforma | Dicionário de dados✅ O mapeamento de campo do objeto de data lake para o objeto de modelo de dados existe
Plataforma | Fluxo✅ Todos os fluxos iniciados no contexto do usuário resumem todas as transações de contexto do sistema para subfluxos, que são colocados de modo consistente após um elemento Pausar, para criar uma nova transação
Plataforma | Fluxo✅ Todos os fluxos acionados por registro têm valores de ordem do acionador preenchidos
Plataforma | Fluxo✅ Fluxos que envolvem chamadas do sistema externo ou processos de execução longa usam caminhos assíncronos
Plataforma | Fluxo✅ Sequências complexas de operações de dados relacionadas são criadas com o Orquestrador (em vez de invocar vários subfluxos em um fluxo monolítico)
Plataforma | Organização✅ Regras de reconciliação de resolução de identidade seguem a lógica de priorização em seu dicionário de dados

Saiba mais sobre Bem-Arquiteto FácilAutomatizadoIntegridade de Dados → Tratamento de erros

Onde procurar?
Área de produtos | Local
Qual é a aparência de um bom?
Padrão
Einstein | Organização✅ Os avisos especificam a saída esperada Incluir instruções diretas para que o LLM gere apenas o tipo de conteúdo esperado.
Plataforma | Apex✅ Exceções personalizadas são usadas para criar mensagens de erro avançadas e lógica
Plataforma | Apex✅ O código engloba todas as etapas de DML, SOQL, chamadas e outros processos críticos em blocos de try-catch
Plataforma | Apex✅ Os métodos de classe de banco de dados podem ser usados exclusivamente para todas as operações de dados (em vez de DML)
Plataforma | Apex✅ Em contextos assíncronos e em massa, métodos de classe de banco de dados são usados em vez de DML
Plataforma | Aura✅ JavaScript engloba todas as operações de dados e etapas críticas do processo em blocos de try-catch
Plataforma | Aura✅ Dentro de blocos de try-catch, Error JavaScript nativo é usado em instruções de tiro (sem uso de $A.error())
Plataforma | Aura✅ Todas as lógicas de erro recuperáveis aparecem nas instruções de catch e fornecem mensagens claras do usuário
Plataforma | Fluxo✅ Fluxos com operações de dados, chamadas e outra lógica de processamento crítica têm caminhos de falha para todas as ações-chave
Plataforma | Fluxo✅ Fluxos de tela usam consistentemente conectores de falha para mostrar erros aos usuários
Plataforma | Fluxo✅ Mensagens de erro personalizadas são configuradas para erros que aparecerão na tela
Plataforma | Componentes da Web Lightning (LWC)✅ JavaScript engloba todas as operações de dados e etapas críticas do processo em blocos if ()/else if ()
Plataforma | Componentes da Web Lightning (LWC)✅ Todas as funções de @wire usam propriedades de data e error fornecidas pela API
Plataforma | Componentes da Web Lightning (LWC)✅ Todas as instruções if (error)/else if (error) contêm lógica para processar erros e fornecer mensagens informativas

Saiba mais sobre Well-Architected EasyAutomatizadoIntegridade de dadosManuseio de dados

Onde procurar?
Área de produtos | Local
O que evitar?
Antipadrão
Data 360 | OrganizaçãoCampos com métodos de correspondência normalizada com suporte usam correspondência parcial Correspondência parcial é aplicada a campos que oferecem métodos de correspondência normalizada exatos
Data 360 | OrganizaçãoSupõe-se que o ID de indivíduo unificado seja imutável. O ID de indivíduo unificado é usado como um ID mestre ou um ID global para ser usado pelo restante da organização
Data 360 | Organização⚡️ A Data do evento é mapeada para um valor de DateTime mutável. A Data do evento é mapeada para um campo de DateTime mutável, como LastUpdated ou LastExtracted
Data 360 | Organização⚡️ A chave primária é mapeada para um campo que não é exclusivo Escolha qualquer campo como uma chave primária para seu fluxo de dados se não existir um no seu conjunto de dados sem validar primeiro se o campo selecionado é exclusivo
Data 360 | Organização⚡️ Carregando dados em lotes e tentando ativá-los em tempo real. Por exemplo, uma abordagem comum, mas com defeito, pode envolver carregar dados a cada hora de um bucket do Amazon S3 e então ativá-los por meio de ações de dados
Plataforma | ApexAs instruções DML aparecem regularmente no código que será chamado após os contextos de acionador
Plataforma | ApexOs trabalhos do Apex em lote têm um tamanho de escopo muito pequeno. São usados tamanhos de lote muito pequenos (como tamanho de escopo = 1).
Plataforma | ApexO Apex em lote é usado para chamadas externas Grandes volumes de dados do Salesforce são enviados do Salesforce para um sistema externo usando o Apex em lote
Plataforma | Apex⚡️ Os eventos de plataforma Publicar imediatamente são usados adhoc Os eventos Publicar imediatamente (em tempo real) são usados em vez de Publicar após confirmação (não em tempo real), independentemente dos requisitos de pedido de publicação ou dos riscos de bloqueio de registro.
Plataforma | ApexOs recursos do Apex assíncrono são usados arbitrariamente Métodos futuros e o Apex enfileirável são usados de forma inconsistente ou intercambiável
Plataforma | ApexOs recursos do Apex assíncronos são usados arbitrariamente; não está claro quando os desenvolvedores sabem usar futuro vs Apex enfileirável, quando entregar DML para trabalhos em lote
Plataforma | ApexApex assíncrono é raramente usado
Plataforma | ApexOs recursos do Apex assíncronos são usados arbitrariamente As operações do banco de dados não têm lógica clara e consistente para passar a execução para o Apex em lote quando necessário
Plataforma | Dicionário de dados⚡️ O mapeamento de campo de objetos de data lake para objetos de modelo de dados não está incluído
Plataforma | Dicionário de dadosDados em nível de campo e lógica de priorização para origens de dados e objetos de data lake não são incluídos
Plataforma | Fluxo⚡️ Executar DML usando uma coleção que é uma saída de um componente de tela Aproveitando a configuração "Usar os IDs e todos os valores de campo de um registro ou coleção de registros" em um elemento de criação, atualização ou exclusão, quando essa coleção é uma saída de um componente de tela
Plataforma | FluxoFluxos acionados por registro não usam atributos de ordem do acionador nem usam valores de ordem do acionador de modo consistente
Plataforma | Fluxo⚡️ Caminhos assíncronos não são usados de modo consistente ou não são usados de modo algum
Plataforma | FluxoFluxos grandes e monolíticos tentam coordenar sequências complexas de operações de dados relacionadas (com ou sem subfluxos)
Plataforma | Organização⚡️ Regras de reconciliação de resolução de identidade não seguem a lógica de priorização no dicionário de dados

Saiba mais sobre Bem-Arquiteto FácilAutomatizadoIntegridade de Dados → Tratamento de erros

Onde procurar?
Área de produtos | Local
O que evitar?
Antipadrão
Plataforma | ApexDML, SOQL, chamadas ou outras etapas críticas do processo não são colocadas de modo consistente em blocos de captura de teste
Plataforma | Apex⚡️ Nenhum método de classe de banco de dados é usado
Plataforma | Apex⚡️ As operações de dados são feitas exclusivamente com DML
Plataforma | ApexAs declarações de System.debug aparecem no código de produção (e não são comentadas)
Plataforma | Aura⚡️ O JavaScript não engloba consistentemente operações de dados e etapas críticas do processo em blocos de try-catch
Plataforma | AuraComponentes usam $A.error()
Plataforma | Aura⚡️ Lógica de erro recuperável não aparece consistentemente nas instruções de catch, e as mensagens de erro para os usuários não estão claras
Plataforma | Fluxo⚡️ Os fluxos não usam caminhos de falha de modo consistente ou de modo algum
Plataforma | FluxoComo as mensagens de erro personalizadas não são usadas, os usuários veem a mensagem padrão "Uma falha não tratada ocorreu nesse fluxo"
Plataforma | Componentes da Web Lightning (LWC)Funções de @wire não usam propriedades de data e error fornecidas pela API (ou não as usam de forma consistente)
Plataforma | Componentes da Web Lightning (LWC)⚡️ Se usado, as instruções if (error)/else if (error) na verdade não contêm lógica para processar erros e fornecer mensagens úteis de erro
Plataforma | Componentes da Web Lightning (LWC)O JavaScript não usa consistentemente blocos if ()/else if () com operações de dados ou etapas críticas do processo