Snowpark Migration Accelerator: Categorização do código de problema

O Snowpark Migration Accelerator (SMA) analisa sua base de código e gera códigos de problema. Embora esses códigos forneçam informações detalhadas, eles se enquadram em três categorias principais.

Erro de análise

Um erro de análise ocorre quando o SMA não consegue entender ou processar uma seção do seu código-fonte. Isso acontece quando o SMA encontra um código que não reconhece ou que considera inválido. Em geral, esses erros têm duas origens:

  1. Um problema na própria ferramenta SMA

  2. Problemas em seu código-fonte

Esse tipo de erro pode ocorrer por vários motivos.

  • Código-fonte inválido: O código deve ser executável na plataforma de origem. Se você fornecer trechos de código ou código parcial que não possam ser executados independentemente na plataforma de origem, o SMA não poderá analisá-los.

  • Dependências circulares: Ao analisar grandes bases de código, o SMA pode encontrar referências circulares entre elementos de código. Isso pode fazer com que a ferramenta ignore ou não analise algumas dessas referências interdependentes.

  • Novos padrões de código: Embora o SMA seja atualizado regularmente, as plataformas de código-fonte também evoluem continuamente. Pode haver casos em que os padrões de código introduzidos recentemente ainda não sejam compatíveis com a ferramenta.

  • Problemas de codificação: Se o seu código-fonte contiver codificação inconsistente ou caracteres inesperados no início ou no final dos arquivos, o SMA poderá gerar erros de análise, mesmo que o código seja executado com êxito na plataforma de origem.

Quando ocorrem erros de análise, eles são identificados por códigos de erro específicos. Para entender o que esses códigos significam e como eles se relacionam com os erros de análise, consulte a seção dos códigos de problema por origem em nossa documentação.

Erro de conversão

Um erro de conversão ocorre quando o SMA identifica o código com êxito, mas não consegue convertê-lo. Ao contrário dos erros de análise, os erros de conversão não indicam problemas com o código-fonte. Em vez disso, eles mostram que o SMA está funcionando como pretendido, identificando segmentos de código que estão além de seus recursos de conversão.

Há vários motivos comuns pelos quais o código não pode ser convertido. Isso inclui:

  • O elemento do código-fonte não pode ser implementado no Snowflake. Atualmente, não há funcionalidade equivalente disponível no Snowflake para esse elemento de código-fonte.

  • O uso específico de um elemento não é compatível com o Snowflake. Embora o Snowflake possa oferecer suporte a um determinado elemento da plataforma de origem, a forma como ele está sendo usado no código-fonte não é compatível com a implementação do Snowflake.

  • Os parâmetros necessários não são suportados. O SMA cria um modelo funcional detalhado do código-fonte, analisando como cada elemento é usado, em vez de apenas identificar e categorizar os elementos. Às vezes, os parâmetros de função essenciais do código-fonte não têm suporte correspondente no Snowflake.

  • Certas combinações de funções são incompatíveis. O modelo funcional do SMA analisa como as funções trabalham juntas. Mesmo quando as funções individuais são compatíveis com o Snowflake, o uso combinado delas pode não ser possível. Nesses casos, o SMA sinalizará isso como um erro de conversão.

A maioria das mensagens de erro inclui recomendações específicas ou as próximas etapas para ajudá-lo a resolver o problema de conversão. Você pode encontrar essas sugestões na página de erro correspondente.

Quando o SMA encontra um erro de conversão, ele adiciona um comentário EWI (Error, Warning, Info) no código convertido e registra o erro no arquivo de inventário de problemas. O sistema irá então:

  • Adicionar um símbolo de comentário à linha que contém o erro de conversão.

  • Mantenha a linha não comentada para evitar que o arquivo seja executado.

Cada erro de conversão tem um código de erro exclusivo. Para entender o que esses códigos significam e como resolvê-los, consulte a seção dos códigos de problema por origem em nossa documentação.

Aviso

Um aviso é diferente de um erro no SMA. Os avisos são exibidos quando a ferramenta detecta alterações das quais você deve estar ciente. Embora essas alterações não impeçam a execução do código, elas indicam que determinados aspectos do código podem ter aparência ou comportamento diferentes na saída convertida em comparação com o código-fonte.

Motivos comuns para mensagens de aviso:

  • O código aparece diferente. O SMA realiza transformações que geram uma mensagem EWI (erro, aviso ou informação).

  • Alguns cenários específicos podem não ser convertidos com sucesso. A ferramenta gerará um aviso se um determinado recurso funcionar em 99,9% dos casos de teste, mas falhar em determinadas combinações de parâmetros. Se o seu código usar essas combinações específicas de parâmetros, o senhor receberá um erro de conversão.

  • Os elementos foram omitidos. Esse é o tipo de aviso mais frequente. Muitas funções ou parâmetros que são essenciais no sistema de origem não são necessários no Snowflake.

Os avisos são mensagens informativas que normalmente não exigem ação imediata. No entanto, é altamente recomendável revisar todos os avisos antes de implementar o código no ambiente de destino. Esses avisos devem ser considerados durante a fase de teste do código convertido.

Os avisos são identificados por códigos de erro específicos. Para entender o que esses códigos significam, consulte a seção dos códigos de problema por origem nesta documentação.