Realtime Compute 開発プラットフォームは、ローカルデバッグ環境を提供します。 ローカルデバッグ環境でカスタムデータをアップロードし、ジョブ実行をシミュレートし、出力結果を確認して、ビジネスロジックが有効であることを確認できます。

特徴

ローカルデバッグ環境は、本番環境から完全に分離されています。 ローカルデバッグ環境では、すべての Flink の SQL ジョブが独立したデバッグコンテナーで実行され、デバッグ結果がデバッグ環境の対応するページに表示されます。 したがって、ローカルデバッグは、オンライン運用ストリーム、オンライン Realtime Compute ジョブ、またはオンライン データストレージシステムに影響を与えません。
Realtime Compute のデバッグモードでは、データストレージリソースの互換性のないデータ形式が原因で発生する実行中の障害は検出できません。 たとえば、デバッグプロセスは、出力データ長が RDS テーブルの作成時に指定された最大データ長を超えているかどうかを検出できません。

手順

ジョブをデバッグする前に、ジョブが開発済みであることを確認してください。 ジョブの開発方法については、「手順」をご参照ください。
  1. [ジョブ編集] セクション上部の [デバッグ] をクリックします。
  2. 表示される [デバッグファイル] ページで、テストデータを入力します。 ローカルデバッグモードでは、次の2 つの方法のいずれかを使用してテストデータを取得できます。
    • ローカルデータをアップロード
      1. データプレビューのセクションで、[テンプレートをダウンロード] をクリックします。
      2. テンプレートに従ってデバッグデータをカスタマイズします。
        デフォルトでは、デバッグデータでは区切り文字としてコンマ (,) が使用されます。 区切り文字をカスタマイズする方法については、「区切り文字」をご参照ください。
      3. [データプレビュー] セクションで [アップロード] をクリックし、カスタムデバッグデータをアップロードします。
    • サンプルオンラインデータ
      [逐次オンラインデータサンプリング] 機能を使用する前に、データソースにサンプリングプロセスのデータがあることを確認してください。
      1. データプレビューのセクションで、[ランダムオンラインデータサンプリング] または [逐次オンラインデータサンプリング] をクリックします。
      2. サンプル構成情報を入力します。
      3. [OK] をクリックします。
    データを取得後、データプレビューのセクションでそのデータを表示できます。
  3. [OK] をクリックします。
  4. [ジョブ編集] セクションの下部で、デバッグ結果を表示します。

区切り文字

デフォルトでは、デバッグデータでは区切り文字としてコンマ (,) が使用されます。 JSON ファイルなどの入力データにすでにコンマ (,) が含まれている場合は、データのデバッグ用に縦棒 (|) などの他の文字を区切り文字として定義する必要があります。

Realtime Compute では、区切り文字として縦棒 (|) などの単一の文字のみを使用できます。 aaa のような文字列は区切り文字として使用できません。
デバッグデータの区切り記号を構成するには、次の手順に従います。
データのデバッグ用に区切り文字を構成する前に、ジョブが開発済みであることを確認してください。 ジョブの開発方法については、「手順」をご参照ください。
  1. ジョブ編集ページの右側で、[パラメーター] をクリックします。
  2. [ジョブパラメーター編集] セクションで、デバッグデータ区切り文字の設定を入力します。 次のコードは縦棒 (|) を区切り文字として指定しています。
    debug.input.delimiter = |

UDX ログ

  • ローカルデバッグ中に生成された UDX ログの表示
    Java では次ような手順に従って Realtime Compute が解決できるログの形式に変換し、ローカルデバッグ中に生成されたユーザー定義拡張機能 (UDX) ログを表示します。
    public static void debugMsgOutput(String msg) {
        System.out.println(
          String.format("{\"type\":\"log\",\"level\": \"INFO\", \"time\": \"%s\", \"message\": \"%s\", \"throwable\": \"null\"}\n",new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()), msg));
    }
  • UDX ログの表示
    デバッグが完了したら、UDX ログを [ジョブ編集] セクションの下部にある [完了] タブで表示することができます。
    [Ctrl+F] を押して、対応するログを検索できます。