すべてのプロダクト
Search
ドキュメントセンター

Simple Log Service:ある Logstore から別の Logstore へのデータの処理と保存

最終更新日:Dec 08, 2025

スケジュール化 SQL 機能は、スケジュールされた時刻にデータを分析します。また、データを集計、射影、フィルタリングしてストレージに保存します。このトピックでは、Simple Log Service (SLS) でスケジュール化 SQL ジョブを作成する方法について説明します。このジョブは、ソース Logstore のデータを処理し、結果を宛先 Logstore に保存します。

重要

スケジュール化 SQL 機能はパブリックプレビュー中であり、無料でご利用いただけます。パブリックプレビュー終了後は、専用 SQL で消費されるコンピューティングリソースに対して課金されます。課金の詳細については、「フィーチャーごとの課金モデルの課金項目」をご参照ください。

前提条件

  • 宛先 Logstore の準備

    ジョブの結果を保存する Alibaba Cloud アカウントで、SLS プロジェクトと標準 Logstore を作成します。その後、インデックス作成を有効にします。

操作手順

  1. スケジュール化 SQL ジョブを作成する権限を持つ Alibaba Cloud アカウントまたは Resource Access Management (RAM) ユーザーを使用して、Simple Log Service コンソールにログインします。

  2. [プロジェクト] セクションで、ソース Logstore を含むプロジェクトをクリックします。

  3. 左側のナビゲーションウィンドウで、[ログストレージ] をクリックします。[Logstores] リストで、分析したい Logstore の名前をクリックします。この Logstore が、スケジュール化 SQL ジョブのソース Logstore になります。

  4. クエリ文を入力します。次に、[過去 15 分間] をクリックしてクエリの期間を設定します。

    説明

    このステップでは、スケジュール化 SQL ジョブのデータをプレビューできます。クエリ文が正しく、結果にデータが含まれていることを確認してください。

  5. [グラフ] タブで、[スケジュール化 SQL ジョブとして保存] をクリックします。

  6. スケジュール化 SQL ジョブを作成します。

    1. [コンピューティング設定] ウィザードで、次のパラメーターを設定し、[次へ] をクリックします。

      パラメーター

      説明

      ジョブ名

      スケジュール化 SQL ジョブの一意の名前です。デフォルト名のままにします。

      書き込みモード

      [Logstore から Logstore へのデータインポート] を選択します。これは、ジョブがソース Logstore のデータを処理し、結果を宛先 Logstore に保存することを意味します。

      SQL コード

      • ステップ 4 で入力したクエリ文が表示されます。

      • ここで別のクエリ文を定義することもできます。文を入力した後、期間を選択し、[プレビュー] をクリックして結果を確認します。

      スケジュール化 SQL ジョブが実行されると、Simple Log Service はこのクエリ文を実行してデータを分析します。

      ターゲット

      ソースと宛先の Logstore が同じアカウントにある場合

      パラメーター

      説明

      宛先リージョン

      宛先プロジェクトが配置されているリージョンを選択します。

      宛先プロジェクト

      ドロップダウンリストから宛先プロジェクトを選択します。

      ターゲットストア

      ドロップダウンリストから宛先 Logstore を選択します。

      書き込み権限

      スケジュール化 SQL ジョブは、[デフォルトロール] または [カスタムロール] を偽装して、宛先 Logstore にデータを書き込むことができます。いずれかのロールを選択します。

      ソースと宛先の Logstore が異なるアカウントにある場合

      パラメーター

      説明

      宛先リージョン

      [その他のリージョン] を選択し、[越境データ転送に関するコンプライアンス保証] に同意します。

      宛先プロジェクト

      宛先プロジェクトの名前 (例:test-project) を入力します。

      ターゲットストア

      宛先 Logstore の名前 (例:test-logstore) を入力します。

      書き込み権限

      [カスタムロール] を選択します。詳細については、「RAM ロールに宛先 Logstore へのデータ書き込み権限を付与する」をご参照ください。

      SQL 実行権限

      スケジュール化 SQL ジョブは、[デフォルトロール] または [カスタムロール] を偽装して、ソース Logstore のデータをクエリおよび分析できます。いずれかのロールを選択します。

    2. [スケジューリング設定] ウィザードで、次のパラメーターを設定し、[OK] をクリックします。

      パラメーター

      説明

      スケジューリング間隔

      ジョブがスケジュールされる頻度です。実行ごとにインスタンスが作成され、この間隔によって各インスタンスのスケジュール時刻が決定されます。

      • 固定間隔:ジョブを固定間隔でスケジュールします。

      • Cron:cron 式で指定された間隔でジョブをスケジュールします。

        cron 式は分単位で正確であり、24 時間制を使用します。たとえば、0 0/1 * * * は、00:00 から毎時ジョブを実行します。

        タイムゾーンを設定するには、[Cron] モードを選択する必要があります。一般的なタイムゾーンのリストについては、「タイムゾーンのフォーマット」をご参照ください。

      スケジューリング期間

      ジョブがスケジュールされる期間です。

      • 特定の時刻から:最初のジョブインスタンスの開始時刻を指定します。

      • 特定の期間:開始時刻と終了時刻を指定します。ジョブはこの期間内でのみ実行されます。

      説明
      • ジョブインスタンスはこの期間内でのみスケジュールされます。この範囲外では新しいインスタンスは作成されません。

      • スケジューリング期間は __time__ を参照します。詳細については、「予約済みフィールド」をご参照ください。

      SQL タイムウィンドウ

      ジョブ実行時に分析対象となるログのタイムウィンドウです。このタイムウィンドウは、スケジューリング間隔と連動して機能します。タイムウィンドウは [スケジューリング間隔] の 5 倍を超えることはできず、1 日を超えることもできません。詳細については、「時間式の構文」をご参照ください。

      たとえば、[スケジューリング間隔] が [固定間隔 10 分]、[開始時刻]2021-04-01 00:00:00[タスクの遅延] が 30 秒、[SQL タイムウィンドウ][@m-10m,@m) の場合、最初のインスタンスは 00:00:30 に作成されます。これは [23:50:00~00:00:00) の期間のログを分析します。詳細については、「スケジューリングと実行のシナリオ」をご参照ください。

      説明
      1. SQL タイムウィンドウは __time__ を参照します。詳細については、「予約済みフィールド」をご参照ください。

      2. SQL コードで __time__ を定義しない場合、宛先 Logstore に書き込まれるログの __time__ 値は、デフォルトでスケジューリングウィンドウの開始時刻になります。

      SQL タイムアウト

      SQL 分析操作が失敗した場合の自動リトライのしきい値です。リトライ期間が最大時間を超えるか、リトライ回数が最大回数を超えると、インスタンスは停止し、そのステータスは [失敗] に変わります。失敗したインスタンスは手動でリトライしてください。詳細については、「スケジュール化 SQL ジョブインスタンスのリトライ」をご参照ください。

      タスクの遅延

      スケジュールされた時刻から実行を遅延させる時間です。有効値は 0~120 秒です。

      Logstore へのデータ書き込みに遅延がある場合、このパラメーターを使用してデータ整合性を確保します。

  7. スケジュール化 SQL ジョブを作成した後、[ジョブ管理] > [スケジュール化 SQL] を選択して表示します。詳細については、「スケジュール化 SQL ジョブの管理」をご参照ください。

SDK の例

スケジュール化 SQL ジョブの作成