استفاده از DolphinScheduler API برای دستیابی به کارآمد وارد کردن جریان کار دسته ای و استقرار اسکریپت

هنگامی که من تولید دسته ای از وظایف DolphinScheduler را پیاده سازی کردم و آنها را وارد کردم، مشخص شد که وظایف را تنها می توان یک به یک وارد کرد، بنابراین استفاده از API ظاهرا راحت تر است.

DolphinScheduler API Documentation

DolphinScheduler اسناد API را در دسترس دارد:

http://IP:12345/dolphinscheduler/swagger-ui/index.html?language=zh_CN&lang=cn

با این حال، مستندات نسبتا مختصر است، بنابراین باید خودتان آن را مطالعه کنید.

نشانه: همه APIها به یک توکن نیاز دارند.

در مرکز امنیتی – مدیریت رمز، یک توکن ایجاد کنید. این توکن را به خاطر بسپارید، زیرا برای همه تماس‌های API بعدی مورد نیاز است.

سربرگ: هدر درخواست را با استفاده از توکن ذکر شده در بالا بسازید:

token = ''
headers = {
    'Accept': 'application/json',
    'token': token
}

شناسه پروژه: project_id را می توان در URL هنگام مشاهده گردش کار پروژه یافت.

DolphinScheduler Task Import API

API برای وارد کردن وظایف:

import_url = 'http://IP:12345/dolphinscheduler/projects/{project_id}/process-definition/import'

با دانستن API، می توانید وارد کردن را ادامه دهید:

def import_job(file_path):
# Open the file and read it as binary data
    with open(file_path, 'rb') as file:
        files = {'file': file}
        # Import the workflow
        response = requests.post(import_url, headers=headers, files=files)
       ...

Source link