Snowpark Migration Accelerator: 問題コードカテゴリ分類

Snowpark Migration Accelerator(SMA)は、コードベースを分析し、問題コードを生成します。これらのコードは詳細な情報を提供しますが、主に3つのカテゴリに分類されます。

解析エラー

解析エラーは、 SMA がソースコードの一部を理解できない、または処理できない場合に発生します。これは、 SMA が認識できないコードや無効とみなされるコードに遭遇した場合に起こります。これらのエラーは、通常2つの原因のうちの1つに起因します。

  1. SMA ツール自体での問題

  2. ソースコードの問題

このタイプのエラーはさまざまな理由で発生します。

  • 無効なソースコード: コードは、ソースプラットフォームで実行可能なものにする必要があります。ソースプラットフォームで独立して実行できないコードスニペットや部分的なコードを提供した場合、 SMA はそれらを解析することができません。

  • 循環依存関係: 大容量のコードベースを分析するとき、 SMA はコード要素間の循環参照に遭遇することがあります。このため、ツールはこれらの相互依存参照をスキップしたり、解析に失敗したりすることがあります。

  • 新しいコードパターン: SMA が定期的に更新される一方で、ソースプラットフォームも継続的に進化しています。新しく導入されたコードパターンが、ツールでまだサポートされていないケースが発生する可能性があります。

  • エンコーディングの問題: ソースコードに一貫性のないエンコーディングが含まれていたり、ファイルの先頭や末尾に予期しない文字が含まれていたりすると、ソースプラットフォームでは SMA が正常に動作していても、解析エラーが発生することがあります。

解析エラーが発生すると、特定のエラーコードで識別されます。これらのコードの意味と解析エラーとの関連については、ドキュメントの ソースセクションによる問題コード をご参照ください。

変換エラー

変換エラーは、 SMA がコードの識別には成功したものの、変換できない場合に発生します。解析エラーとは異なり、変換エラーはソースコードの問題を示すものではありません。その代わりに、 SMA は変換能力を超えたコードセグメントを識別して、意図したとおりに動作していることを示します。

コードが変換できない理由はいくつかあります。これらには次が含まれます。

  • ソースコードの要素は、Snowflakeでは実装できません。現在、Snowflakeにはこのソースコード要素と同等の関数がありません。

  • 要素の特定の使用は、Snowflakeではサポートされていません。Snowflakeはソースプラットフォームからの特定の要素をサポートする場合がありますが、ソースコードで使用されている方法はSnowflakeの実装と互換性がありません。

  • 必須パラメーターはサポートされていません。SMA は、単に要素を識別して分類するのではなく、各要素がどのように使用されているかを分析して、ソースコードの詳細な機能モデルを作成します。ソースコードの必須関数パラメーターはSnowflakeで対応していないことがあります。

  • 特定の関数の組み合わせは互換性がありません。SMA の関数モデルは、関数がどのように連動するかを分析します。個々の関数がSnowflakeでサポートされていても、それらを組み合わせて使用することができない場合があります。このような場合、 SMA は変換エラーとしてフラグを立てます。

ほとんどのエラーメッセージには、変換の問題を解決するための具体的な推奨事項や次のステップが含まれています。これらの提案は、対応するエラーのページに記載されています。

SMA で変換エラーが発生すると、変換されたコードに EWI (エラー、警告、情報)コメントが追加され、 問題インベントリファイル にエラーが記録されます。そしてシステムは、

  • 変換エラーを含む行にコメント記号を追加します。

  • ファイルが実行されないように、この行はコメントなしにしておきます。

変換エラーが発生した場合、各エラーには固有のエラーコードがあります。これらのコードの意味と解決方法については、ドキュメントの ソースセクションによる問題コード をご参照ください。

警告

SMA では、警告とエラーは異なります。ツールが注意すべき変更を検出すると、警告が表示されます。これらの変更はコードの実行を妨げるものではありませんが、ソースコードと比較して変換後の出力では、コードの特定の部分の見た目や動作が異なる可能性があることを示しています。

警告メッセージの一般的な理由:

  • The code appears different.SMA は、 EWI (エラー、警告、情報)メッセージを生成する変換を実行します。

  • Some specific scenarios may not convert successfully.このツールは、特定の機能がテストケースの99.9%では動作するが、特定のパラメーターの組み合わせでは失敗する場合に警告を生成します。コードがこれらの特定のパラメーターの組み合わせを使用すると、変換エラーが発生します。

  • Elements were omitted.これは最も頻度の高いタイプの警告です。ソースシステムでは必須の関数やパラメーターの多くは、Snowflakeでは不要です。

警告は、通常、直ちにアクションを起こす必要のない情報メッセージです。しかし、ターゲット環境にコードを展開する前に、すべての警告を確認することを強くお勧めします。これらの警告は、変換されたコードのテスト段階で考慮されるべきです。

警告は特定のエラーコードによって識別されます。これらのコードの意味を理解するには、このドキュメントの ソースセクションによる問題コード をご参照ください。