Python ノードは Python 3 構文のみをサポートします。Python ノードを使用して Python コードを実行し、タスクを定期的に実行するようにスケジュールできます。このトピックでは、DataWorks で Python タスクを構成およびスケジュールする方法について説明します。
前提条件
使用する RAM ユーザーがワークスペースに追加されていること。
RAM ユーザーを使用してタスクを開発する場合、その RAM ユーザーをメンバーとしてワークスペースに追加し、[開発] ロールまたは [ワークスペース管理者] ロールを割り当てる必要があります。ワークスペース管理者ロールには必要以上の権限が含まれているため、割り当てる際には注意が必要です。メンバーの追加とロールの割り当ての詳細については、「ワークスペースへのメンバーの追加」をご参照ください。
サーバーレスリソースグループがワークスペースに関連付けられていること。詳細については、「サーバーレスリソースグループの使用」の各トピックをご参照ください。
Python ノードが作成されていること。詳細については、「スケジュールワークフローのノード作成」をご参照ください。
注意事項
サーバーレスリソースグループで実行されるタスクは、最大
64 CUの構成をサポートします。タスクの起動に影響を与える可能性のあるリソース不足を防ぐため、構成を16 CUに制限することを推奨します。Python ノードは、Python コードの基本的なランタイム環境のみを提供します。Python コードでサードパーティパッケージをリファレンスするには、カスタムイメージを作成し、必要な依存関係をイメージにインストールしてから、そのイメージを使用して Python ノードを実行する必要があります。
ステップ1:Python ノードの開発
Python ノードのコードを記述します。
Python コードを編集します。
次のコードは、単純なバブルソートの例です。
def bubble_sort(arr): n = len(arr) # 外側のループは各トラバーサルを制御します。 for i in range(n): # 内側のループは隣接する要素を比較して交換します。 for j in range(0, n-i-1): # 現在の要素が次の要素より大きい場合は交換します。 if arr[j] > arr[j+1]: arr[j], arr[j+1] = arr[j+1], arr[j] return arr # テストコード。 if __name__ == "__main__": example_list = [64, 34, 25, 12, 22, 11, 90] sorted_list = bubble_sort(example_list) print("Sorted list:", sorted_list)
コードを開発した後、右側のデバッグ構成をクリックし、リソースグループなどの必要なテスト構成を選択してから、
[実行] ボタンをクリックしてテストできます。説明Python ノードのデバッグとスケジュールは、サーバーレスリソースグループでのみ実行できます。現在のワークスペースがサーバーレスリソースグループにアタッチされていることを確認してください。詳細については、「サーバーレスリソースグループの使用」をご参照ください。
Python ノードスクリプトを開発およびテストした後、ノードが定期的に実行されるようにスケジュールプロパティを構成します。
タスクのスケジュールを構成した後、ノードを保存します。
ステップ2:ノードの公開とメンテナンス
スケジュールを構成した後、Python ノードをコミットして本番環境に公開します。
公開されたタスクは、構成されたスケジュールに基づいて定期的に実行されます。 に移動して、公開された定期タスクを表示し、O&M 操作を実行できます。詳細については、「オペレーションセンター入門」をご参照ください。
個人開発環境でのタスク開発
個人開発環境は Python プログラミングをサポートしています。個人開発環境を使用して Python ノードタスクを編集する方法の詳細については、「個人開発環境」をご参照ください。
ロールの関連付けによるノードの実行
ノードに RAM ロールを関連付けることで、ノードタスクを実行できます。これにより、詳細な権限コントロールとセキュリティ管理が可能になります。