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

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

解析エラー

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

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

  2. ソースコードの問題

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

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

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

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

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

When parsing errors occur, they are identified by specific error codes. To understand what these codes mean and how they relate to parsing errors, refer to the issue codes by source section in our documentation.

変換エラー

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

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

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

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

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

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

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

When SMA encounters a conversion error, it adds an EWI (Error, Warning, Info) comment in the converted code and records the error in the issues inventory file. The system will then:

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

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

When encountering conversion errors, each error has a unique error code. To understand what these codes mean and how to resolve them, refer to the issue codes by source section in our documentation.

警告

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

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

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

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

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

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

Warnings are identified by specific error codes. To understand what these codes mean, refer to the issue codes by source section in this documentation.