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

DataWorks:OSS オブジェクト検査ノード

最終更新日:Jun 14, 2025

Data Studio で Object Storage Service (OSS) オブジェクト検査ノードを作成して、FTP に基づいて特定のファイルが存在するかどうかを定期的に検出できます。 OSS オブジェクト検査ノードがファイルが存在することを検出すると、スケジューリングシステムは OSS オブジェクト検査ノードの子孫ノードを実行します。 それ以外の場合、OSS オブジェクト検査ノードは構成された検出間隔に基づいてファイルを検出します。 OSS オブジェクト検査ノードは、検出を停止する条件が満たされるまで再試行を停止します。 ほとんどの場合、OSS オブジェクト検査ノードは、DataWorks スケジューリングシステムと外部スケジューリングシステム間の通信に使用されます。 このトピックでは、OSS オブジェクト検査ノードの使用方法と関連する注意事項について説明します。

ノードの紹介

OSS オブジェクト検査ノードは、通常、次のシナリオで使用されます。DataWorks スケジューリングシステムのタスクは、外部スケジューリングシステムの外部データベースにアクセスする必要がありますが、データベースの進行中のデータ書き込みタスクは DataWorks では実行されません。 この場合、データ書き込みタスクが完了する時刻とデータベースにアクセスできる時刻は DataWorks では不明です。 タスクがデータベースにアクセスすると、データ書き込みタスクが完了していないため、データベースから読み取られるデータが不完全であるか、データの読み取りが失敗する可能性があります。 タスクが外部データベースからデータを正常に読み取ることができるようにするには、データ書き込みタスクが完了したことを示すマークを生成するように外部スケジューリングシステムを有効にすることができます。 たとえば、データ書き込みタスクが完了したことを示すために、ファイルシステムに接尾辞 .done を持つマーカーファイルを生成するように外部スケジューリングシステムを有効にすることができます。 次に、DataWorks スケジューリングシステムで OSS オブジェクト検査ノードを作成して、接尾辞 .done を持つマーカーファイルが存在するかどうかを定期的に検出できます。 ファイルが存在する場合、外部データベースにアクセスする必要のあるノードをスケジュールできます。

説明
  • マーカーファイルを保存するために使用できるファイルシステムを指定できます。

  • この例では、接尾辞 .done を持つマーカーファイルが使用されています。 ビジネス要件に基づいて、マーカーファイルの情報をカスタマイズできます。

  1. 外部スケジューリングシステムの外部データベースのデータ書き込みタスクが完了し、データベースにアクセスできるようになった後、スケジューリングシステムは、指定されたファイルシステムに XXXX2024-09-29.done などのマーカーファイルを生成します。 この例では、接尾辞 .done を持つマーカーファイルが使用されています。 ビジネス要件に基づいて、マーカーファイルの情報をカスタマイズできます。

  2. OSS データソースは、ファイルシステム内のマーカーファイルを読み取ります。

  3. OSS オブジェクト検査ノードは、構成された検出ポリシーに基づいて、OSS データソースにマーカーファイルが存在するかどうかを定期的に検出します。

    • OSS オブジェクト検査ノードがマーカーファイルが存在することを検出した場合、外部データベースのデータ書き込みタスクは完了し、データベースにアクセスできます。 次に、OSS オブジェクト検査ノードは検出結果を子孫ノードに返します。

    • OSS オブジェクト検査ノードがマーカーファイルが存在しないことを検出した場合、外部データベースのデータ書き込みタスクは完了しておらず、データベースにアクセスできません。 この場合、OSS オブジェクト検査ノードはチェックに失敗し、検出結果を子孫ノードに返しません。 次に、OSS オブジェクト検査ノードは、検出を停止するための指定された条件が満たされるまで、構成された検出ポリシーに基づいて検出を続行します。

  4. OSS オブジェクト検査ノードの子孫ノードは、OSS オブジェクト検査ノードによって返された検出結果に基づいて、外部データベースにアクセスするかどうかを決定します。

    • OSS オブジェクト検査ノードがマーカーファイルが存在することを検出した場合、子孫ノードは外部データベースにアクセスします。

    • OSS オブジェクト検査ノードがマーカーファイルが存在しないことを検出した場合、子孫ノードは外部データベースにアクセスしません。

  5. 子孫ノードは外部データベースにアクセスします。

説明

外部データベースには、Oracle、MySQL、SQL Server などが含まれますが、これらに限定されません。

前提条件

  • 使用する RAM ユーザーがワークスペースに追加されています。

    RAM ユーザーを使用してタスクを開発する場合は、RAM ユーザーをメンバーとしてワークスペースに追加し、[開発] ロールまたは [ワークスペース管理者] ロールを RAM ユーザーに割り当てる必要があります。 ワークスペース管理者ロールには、必要以上の権限があります。 ワークスペース管理者ロールを割り当てる場合は注意してください。 メンバーを追加し、メンバーにロールを割り当てる方法の詳細については、「ワークスペースメンバーを追加し、ロールを割り当てる」をご参照ください。

  • サーバーレス リソースグループがワークスペースに関連付けられています。 詳細については、「サーバーレス リソースグループを使用する」ディレクトリのトピックをご参照ください。

  • ノードでタスクを開発する前に、OSS オブジェクト検査ノードが作成されます。 詳細については、「タスクノードを作成する」をご参照ください。

注意事項

  • タスクの実行中に、タスクは Resource Access Management (RAM) と セキュリティトークンサービス (STS) を使用して OSS オブジェクトを監視し、MaxCompute に OSS へのアクセスを承認します。 MaxCompute が OSS バケットに必要な権限を持っていることを確認してください。 詳細については、「STS 認証」をご参照ください。

  • 開発環境または本番環境では、タスクはワークスペース管理者の責任に基づいて OSS オブジェクトを監視します。 ワークスペース管理者が OSS バケットに必要な権限を持っていることを確認してください。 詳細については、「ワークスペース管理者の責任」をご参照ください。

ステップ 1: OSS オブジェクト検査ノードに基づいてタスクを開発する

OSS オブジェクト検査ノードの構成タブで、プロンプトに従ってパラメーターを構成します。

  1. 検出オブジェクトと検出ポリシーを構成します。

    • OSS オブジェクト: OSS オブジェクトパスを入力します。 ${bizdate} や ${cyctime} などのパラメーターがサポートされています。

    • タイムアウト: ノードがオブジェクトファイルをチェックするタイムアウト期間を指定します。

  2. OSS オブジェクトの検出ポリシーを構成した後、OSS オブジェクト検査ノードのスケジューリングプロパティを構成します。 詳細については、「スケジューリング構成」をご参照ください。

ステップ 2: OSS オブジェクト検査ノードをデプロイし、O&M 操作を実行する

  1. ノードコードとスケジューリングプロパティを構成した後、OSS オブジェクト検査ノードを本番環境にデプロイします。 詳細については、「ノードをデプロイする」をご参照ください。

  2. デプロイメントが完了したら、[オペレーションセンター][自動トリガーノード] ページに移動して、デプロイされているノードを表示し、ノードで O&M 操作を実行します。 システムは、構成したスケジューリングプロパティに基づいてノードを定期的に実行します。 詳細については、「オペレーションセンターの概要」をご参照ください。