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

Simple Log Service:OSSデータ配布ジョブの作成 (新バージョン)

最終更新日:Nov 07, 2024

Simple Log Serviceがログを収集した後、データの保存と分析のためにログをObject Storage Service (OSS) バケットに送信できます。 このトピックでは、新しいバージョンのOSSデータシッピングジョブを作成する方法について説明します。

前提条件

  • プロジェクトと Logstore が作成済みである必要があります。 詳細については、「手順1: プロジェクトとLogstoreの作成」をご参照ください。

  • データを収集する。 詳細については、「データ収集の概要」をご参照ください。

  • Simple Log Serviceプロジェクトが存在するリージョンにOSSバケットが作成されます。 詳細については、「バケットの作成」をご参照ください。

サポートされるリージョン

Simple Log Serviceは、指定されたSimple Log Serviceプロジェクトと同じリージョンにあるOSSバケットにデータを送信します。

重要

新しいバージョンのデータ配送機能を使用して、次のリージョンでのみOSSにデータを配送できます: 中国 (杭州) 、中国 (上海) 、 中国 (青島) 、中国 (北京) 、中国 (張家口) 、中国 (フフホト) 、中国 (ウランカブ) 、中国 (成都) 、中国 (深セン) 、中国 (河源) 、中国 (広州) 、中国 (香港) 、シンガポール、オーストラリア (シドニー) (サービス終了)、マレーシア (クアラルンプール) 、インドネシア (ジャカルタ) 、フィリピンバンコク (マニラ) 、タイ () 、日本 (東京) 、米国 (シリコンバレー) 、米国 (バージニア)

データ配布ジョブの作成

  1. Simple Log Serviceコンソール.

  2. [プロジェクト] セクションで、管理するプロジェクトをクリックします。

    image

  3. ログストレージ > ログストアタブでLogstoreを見つけ、>を選択し、データ処理 > エクスポート > Object Storage Service (OSS).

  4. ポインタをObject Storage Service (OSS) に移動し、+ アイコンをクリックします。

  5. [データ配送ジョブの作成] パネルで、[OSSエクスポート] を選択し、[OK] をクリックします。

  6. OSSへのデータ送信パネル、パラメータを設定し、OK.

    重要
    • OSSデータ配送ジョブを作成した後、シャード内のデータがOSSバケットに配送される頻度は、ジョブの作成時に設定した配送サイズと配送時間パラメーターの値に基づいています。 出荷サイズと出荷時刻のいずれかの条件が満たされると、データが出荷されます。

    • OSSデータシッピングジョブを作成した後、ジョブのステータスとOSSに出荷されるデータに基づいて、ジョブが要件を満たしているかどうかを確認できます。

    パラメーター

    説明

    ジョブ名

    データ配布ジョブの名前。

    表示名

    データ配布ジョブの表示名。

    ジョブの説明

    データ配布ジョブの説明。

    OSSバケット

    データを送信するOSSバケットの名前。

    重要
    • データは、WORM (Write Once Read Many) 機能が無効になっている既存のOSSバケットにのみ発送できます。 バケットは、Simple Log Serviceプロジェクトと同じリージョンに存在する必要があります。 WORM機能の詳細については、「保持ポリシー」をご参照ください。

    • 標準、低頻度アクセス (IA) 、アーカイブ、コールドアーカイブ、またはDeep Cold ArchiveストレージクラスのOSSバケットにデータを送信できます。 デフォルトでは、出荷されたデータを格納する生成されたOSSオブジェクトのストレージクラスは、指定されたOSSバケットのストレージクラスと同じです。 詳細については、「ストレージクラスの概要」をご参照ください。

    • 標準ストレージクラスではないOSSバケットには、最小ストレージ期間と最小課金サイズの制限が適用されます。 OSSバケットを作成するときは、ビジネス要件に基づいてストレージクラスを指定することを推奨します。 詳細については、「ストレージクラスの違い」をご参照ください。

    ファイル配信ディレクトリ

    OSSバケット内のデータを送信するディレクトリ。 ディレクトリ名の先頭をスラッシュ (/) またはバックスラッシュ (\) にすることはできません。

    OSSデータ配布ジョブを作成すると、Logstore内のデータがディレクトリに配布されます。

    オブジェクト接尾辞

    出荷されたデータが保存されるOSSオブジェクトのサフィックス。 オブジェクトサフィックスを指定しない場合、Simple Log Serviceは、指定したストレージ形式と圧縮タイプに基づいてオブジェクトサフィックスを自動的に生成します。 例:. サフィックス.

    パーティション形式

    OSSバケット内のサブディレクトリの生成に使用されるパーティション形式。 サブディレクトリは、出荷時刻に基づいて動的に生成されます。 デフォルトのパーティション形式は % Y/% m/% d/% H/% Mです。パーティション形式はスラッシュ (/) で始めることはできません。 パーティション形式の例の詳細については、「パーティション形式」をご参照ください。 パーティション形式のパラメーターの詳細については、「strptime API」をご参照ください。

    OSS書き込みRAMロール

    OSSバケットにデータを書き込むためにOSSデータシッピングジョブを許可するために使用されるメソッド。 有効な値:

    • Default Role: OSSバケットにデータを書き込むために、OSSデータシッピングジョブがAliyunLogDefaultRoleシステムロールを引き受けることを指定します。 このオプションを選択すると、AliyunLogDefaultRoleシステムロールのAlibaba Cloudリソース名 (ARN) が自動的に指定されます。 ARNの取得方法の詳細については、「既定のロールを使用したデータへのアクセス」をご参照ください。

    • カスタムロール: OSSデータシッピングジョブがOSSバケットにデータを書き込むためのカスタムロールを引き受けることを指定します。

      このオプションを選択した場合、カスタムロールにOSSバケットにデータを書き込む権限を付与する必要があります。 次に、OSS Write RAM roleフィールドにカスタムロールのARNを入力します。 ARNの取得方法については、ビジネスシナリオに基づいて次のいずれかのトピックを参照してください。

    ログストア読み取りRAMロール

    OSSデータシッピングジョブがLogstoreからデータを読み取ることを許可するために使用されるメソッド。 有効な値:

    • デフォルトロール: OSSデータ配布ジョブがLogstoreからデータを読み取るためにAliyunLogDefaultRoleシステムロールを引き受けることを指定します。 このオプションを選択すると、AliyunLogDefaultRoleシステムロールのARNが自動的に指定されます。 ARNの取得方法の詳細については、「既定のロールを使用したデータへのアクセス」をご参照ください。

    • カスタムロール: OSSデータシッピングジョブがカスタムロールを引き受けてLogstoreからデータを読み取ることを指定します。

      このオプションを選択した場合、カスタムロールにLogstoreからデータを読み取る権限を付与する必要があります。 次に、[Logstore読み取りRAMロール] フィールドにカスタムロールのARNを入力します。 ARNの取得方法については、ビジネスシナリオに基づいて次のいずれかのトピックを参照してください。

    ストレージ形式

    データの保存形式。 データがSimple Log ServiceからOSSに出荷された後、データはさまざまな形式で保存できます。 詳細については、「CSV形式」、「JSON形式」、「Parquet形式」、および「ORC形式」をご参照ください。

    圧縮

    OSSに出荷されるデータを圧縮するかどうかを指定します。 有効な値:

    • No Compress(none): データは圧縮されません。

    • Compress(snappy): データはスナッピーアルゴリズムを使用して圧縮されます。 これにより、OSSバケットで占有されるストレージ容量が少なくなります。 詳細については、「snappy」をご参照ください。

    • Compress(zstd): zstdアルゴリズムを使用してデータを圧縮します。 これにより、OSSバケットで占有されるストレージ容量が少なくなります。

    • Compress(gzip): データはgzipアルゴリズムを使用して圧縮されます。 これにより、OSSバケットで占有されるストレージ容量が少なくなります。

    船タグ

    予約済みフィールド。 詳細については、「予約済みフィールド」をご参照ください。

    バッチサイズ

    シャード内のログのデータ量がこのパラメーターの値に達すると、ジョブはデータの送信を開始します。 この値は、各OSSオブジェクトの生データのサイズも決定します。 有効な値: 5 ~ 256 単位:MB。 ジョブは、バッチサイズおよびバッチ間隔パラメーターで指定された条件の1つが満たされている場合にのみデータを送信します。

    バッチ間隔

    シャードから取得した最初のログからn番目のログまでの時間差がこのパラメーターの値に達するか、それを超えると、ジョブはデータの送信を開始します。 有効な値: 300〜900。 単位は秒です。 ジョブは、バッチサイズおよびバッチ間隔パラメーターで指定された条件の1つが満たされている場合にのみデータを送信します。

    配送時間

    シャードのデータを出荷する2つの操作の間隔。 有効な値: 300〜900。 デフォルト値は 300 です。 単位は秒です。

    配送レイテンシ

    データ送信のレイテンシ。 たとえば、値を3600に設定した場合、データは1時間後に出荷されます。 6月5日10:00:00に生成されたデータは、2023月5日2023日11:00:00まで指定されたOSSバケットに書き込まれません。 制限の詳細については、「設定項目」をご参照ください。

    開始時間範囲

    OSSデータ送信ジョブが送信できるデータの時間範囲。 時間範囲は、ログが受信された時間によって異なります。 有効な値:

    • すべて: OSSデータシッピングジョブは、ジョブが手動で停止されるまで、最初のログからLogstoreのデータを発送します。

    • 特定の時間から: OSSデータシッピングジョブは、指定された開始時間に受信されたログから、ジョブが手動で停止されるまで、Logstore内のデータを送信します。

    • 特定の時間範囲: OSSデータシッピングジョブは、指定された開始時間に受信されたログから指定された終了時間に受信されたログに、Logstore内のデータを送信します。

      説明

      時間範囲は __tag __:__ receive_time__ を参照します。 詳細については、「予約済みフィールド」をご参照ください。

    タイムゾーン

    時刻のフォーマットに使用されるタイムゾーン。

    Time ZoneおよびShard Formatパラメーターを設定すると、設定に基づいてOSSバケットにサブディレクトリが生成されます。

OSSデータの表示

データがOSSに送信された後、OSSコンソールでデータを表示できます。 OSS APIやOSS SDKなどの他の方法を使用してデータを表示することもできます。 詳細については、「オブジェクトの管理」をご参照ください。

OSSオブジェクトのURLは次の形式です。

oss://OSS-BUCKET/OSS-PREFIX/PARTITION-FORMAT_RANDOM-ID

OSS-BUCKETはOSSバケットの名前です。 OSS-PREFIXは、OSSバケット内の指定されたディレクトリです。 PARTITION-FORMATは、サブディレクトリの生成に使用されるパーティション形式です。 strptime関数を使用して、出荷時刻に基づいてサブディレクトリが生成されます。 strptime関数の詳細については、「strptime API」をご参照ください。 RANDOM-IDは、出荷操作の一意の識別子です。

説明

データ発送ジョブでは、複数の発送操作を実行してデータをOSSに発送します。 各データシッピング操作は、データをOSSに発送し、データを異なるOSSオブジェクトに保存します。 OSSオブジェクトへのパスは、Simple Log ServiceがOSSオブジェクトに送信されたデータを受信する最も早い時点によって決まります。 この時点は、receiv_timeで指定します。 データがSimple Log ServiceからOSSに出荷される場合、次のシナリオに注意する必要があります。

  • リアルタイムデータが出荷されます。 例えば、リアルタイムデータは、5分間隔で出荷される。 出荷作業は2022年1月22日00:00:00に行われました。 この操作により、1月21日23:55:00以降にSimple Log Serviceのシャードに書き込まれたデータがOSSに2022されました。 2022年1月22日のすべてのデータを分析する場合は、2022/01/22サブディレクトリ内のすべてのOSSオブジェクトをチェックする必要があります。 また、2022/01/21サブディレクトリ内の最新のOSSオブジェクトに2022年1月22日のデータが含まれているかどうかを確認する必要があります。

  • 履歴データは出荷されます。 使用されるLogstoreに少量のデータが格納されている場合、出荷操作によって複数の日からデータがプルされることがあります。 この場合、2022/01/22サブディレクトリ内のOSSオブジェクトは、2022年1月23日からのすべてのデータを含むことができますが、2022/01/23サブディレクトリにはOSSオブジェクトが存在しません。

パーティション形式

各配送操作は、OSS: // OSS-BUCKET/OSS-PREFIX/PARTITION-FORMAT_RANDOM ID形式のossオブジェクトURLに対応します。 次の表は、2022年1月20日19:50:43に実行された出荷操作のさまざまなパーティション形式を示しています。

OSSバケット

OSSプレフィックス

パーティション形式

オブジェクト接尾辞

OSSオブジェクトのURL

test-bucket

test-table

%Y/%m/%d/%H/%M

. サフィックス

oss:// test-bucket/test-table/2022/01/20/19/50_1484913043351525351_2850008.suffix

test-bucket

log_ship_oss_example

年=% Y /モン=% m /日=% d/log_% H % M

. サフィックス

oss:// test-bucket/log_ship_oss_example/year=2022/mon=01/day=20/log_1950_1484913043351525351_2850008。サフィックス

test-bucket

log_ship_oss_example

ds=%Y%m%d/%H

. サフィックス

oss:// test-bucket/log_ship_oss_example/ds=20220120/19_1484913043351525351_2850008.suffix

test-bucket

log_ship_oss_example

%Y%m%d/

. サフィックス

oss:// test-bucket/log_ship_oss_example/20220120/_1484913043351525351_2850008.suffix

説明

この形式を使用すると、HiveなどのプラットフォームがOSSバケット内のデータの解析に失敗する可能性があります。 この形式は使用しないことを推奨します。

test-bucket

log_ship_oss_example

%Y%m%d%H

. サフィックス

oss:// test-bucket/log_ship_oss_example/2022012019_1484913043351525351_2850008.suffix

Hive、MaxCompute、data Lake Analytics (DLA) などのビッグデータプラットフォームを使用して、OSSデータを分析できます。 パーティション形式の情報を使用する場合は、OSSオブジェクトのURLにキー=値形式でpartition-formatを設定できます。 OSSオブジェクトのURL例: oss:// test-bucket/log_ship_oss_example/year=2022/mon=01/day=20/log_195043_1484913043351525351_2850008.parquet この例では、パーティションキー列として年、月、日を指定します。

SDKの例

export_oss_sink_demo.py