全部产品
Search
文档中心

DataWorks:Gunakan OpenAPI untuk mengelola tugas sinkronisasi batch untuk satu tabel

更新时间:Nov 20, 2025

Topik ini menjelaskan cara menggunakan OpenAPI untuk membuat, memodifikasi, dan menghapus tugas integrasi data guna menyinkronkan data dari sumber ke tujuan.

Prasyarat

Batasan

  • Saat memanggil operasi CreateDISyncTask untuk membuat tugas integrasi data, Anda hanya dapat mengonfigurasi tugas tersebut di editor kode. Untuk informasi selengkapnya, lihat Konfigurasi tugas di editor kode.

  • DataWorks tidak mendukung pembuatan alur kerja melalui OpenAPI. Anda harus menggunakan alur kerja yang sudah ada untuk membuat tugas sinkronisasi data.

Dapatkan SDK

Anda dapat memperoleh versi terbaru SDK dari Alibaba CloudPortal OpenAPI.

Alur konfigurasi

Setelah lingkungan dikonfigurasi, Anda dapat memanggil operasi API terkait untuk membuat tugas sinkronisasi data yang menyinkronkan data dari sumber ke tujuan. Prosedurnya adalah sebagai berikut:

  1. Buat tugas integrasi data.

  2. Konfigurasi dependensi penjadwalan untuk tugas tersebut.

  3. Komit tugas integrasi data.

  4. Publikasikan tugas sinkronisasi ke lingkungan produksi.

Prosedur

  1. Buat node sinkronisasi data di Data Integration.

    Panggil operasi CreateDISyncTask untuk membuat tugas integrasi data. Kode berikut memberikan contoh cara mengonfigurasi beberapa parameter. Untuk informasi selengkapnya tentang parameter, lihat CreateDISyncTask.

    public void createFile() throws ClientException{
            CreateDISyncTaskRequest request = new CreateDISyncTaskRequest();
            request.setProjectId(181565L);
            request.setTaskType("DI_OFFLINE");
            request.setTaskContent("{\"type\":\"job\",\"version\":\"2.0\",\"steps\":[{\"stepType\":\"mysql\",\"parameter\":{\"envType\":1,\"datasource\":\"dh_mysql\",\"column\":[\"id\",\"name\"],\"tableComment\":\"Comment for the table same\",\"connection\":[{\"datasource\":\"dh_mysql\",\"table\":[\"same\"]}],\"where\":\"\",\"splitPk\":\"id\",\"encoding\":\"UTF-8\"},\"name\":\"Reader\",\"category\":\"reader\"},{\"stepType\":\"odps\",\"parameter\":{\"partition\":\"pt=${bizdate}\",\"truncate\":true,\"datasource\":\"odps_source\",\"envType\":1,\"column\":[\"id\",\"name\"],\"emptyAsNull\":false,\"tableComment\":\"Comment for the table same\",\"table\":\"same\"},\"name\":\"Writer\",\"category\":\"writer\"}],\"setting\":{\"errorLimit\":{\"record\":\"\"},\"speed\":{\"throttle\":false,\"concurrent\":2}},\"order\":{\"hops\":[{\"from\":\"Reader\",\"to\":\"Writer\"}]}}");
            request.setTaskParam("{\"FileFolderPath\":\"Workflow/new_biz/Data Integration\",\"ResourceGroup\":\"S_res_group_280749521950784_1602767279794\"}");
            request.setTaskName("new_di_task_0607_1416");
    
    
            String regionId = "cn-hangzhou";
            // Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_ID dan ALIBABA_CLOUD_ACCESS_KEY_SECRET telah disetel.https://www.alibabacloud.com/help/zh/alibaba-cloud-sdk-262060/latest/configure-credentials-378659
            IClientProfile profile = DefaultProfile.getProfile("cn-shanghai", System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"), System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
            DefaultProfile.addEndpoint("cn-hangzhou","dataworks-public","dataworks.cn-hangzhou.aliyuncs.com");
            IAcsClient client;
    
            client = new DefaultAcsClient(profile);
    
            CreateDISyncTaskResponse response1 = client.getAcsResponse(request);
            Gson gson1 = new Gson();
    
            System.out.println(gson1.toJson(response1));
    }
  2. Panggil operasi UpdateFile untuk memperbarui parameter penjadwalan.

    Tabel berikut menjelaskan parameter permintaan.

    Nama

    Tipe

    Wajib

    Contoh

    Deskripsi

    Action

    String

    Ya

    UpdateFile

    Operasi yang akan dilakukan.

    FileFolderPath

    String

    Tidak

    Workflow/First Workflow/Data Integration/Folder 1/Folder 2

    Jalur file.

    ProjectId

    Long

    Tidak

    10000

    ID ruang kerja DataWorks. Anda dapat masuk ke Konsol DataWorks dan buka halaman Manajemen Ruang Kerja untuk memperoleh ID ruang kerja.

    FileName

    String

    Tidak

    ods_user_info_d

    Nama file. Anda dapat mengubah nama file dengan mengatur ulang nilai FileName.

    Misalnya, Anda dapat memanggil operasi ListFiles untuk menanyakan ID file di folder tujuan. Kemudian, Anda dapat memanggil operasi UpdateFile dan mengatur parameter FileId ke ID file yang ditanyakan serta mengonfigurasi parameter FileName untuk mengubah nama file.

    FileDescription

    String

    Tidak

    Ini adalah deskripsi file

    Deskripsi file.

    Content

    String

    Tidak

    SELECT "1";

    Kode file. Format kode bervariasi berdasarkan jenis file (fileType). Anda dapat membuka Pusat Operasi, klik kanan tugas jenis yang diperlukan, lalu pilih Lihat Kode untuk melihat format kodenya.

    AutoRerunTimes

    Integer

    Ya

    3

    Jumlah pengulangan otomatis yang diizinkan setelah terjadi kesalahan.

    AutoRerunIntervalMillis

    Integer

    Tidak

    120000

    Interval pengulangan otomatis setelah terjadi kesalahan. Satuan: milidetik. Nilai maksimum adalah 1.800.000 milidetik (30 menit).

    Parameter ini sesuai dengan parameter Interval Pengulangan di bagian Properti Waktu pada tab Properti untuk tugas Pengembangan Data di Konsol DataWorks.

    Satuan Interval Pengulangan di konsol adalah menit. Perhatikan konversi satuan saat melakukan pemanggilan.

    RerunMode

    String

    Tidak

    ALL_ALLOWED

    Kebijakan pengulangan. Nilai yang valid:

    • ALL_ALLOWED: Tugas dapat diulang terlepas dari apakah berhasil atau tidak.

    • FAILURE_ALLOWED: Tugas hanya dapat diulang jika gagal.

    • ALL_DENIED: Tugas tidak dapat diulang terlepas dari apakah berhasil atau tidak.

    Parameter ini sesuai dengan parameter Kebijakan Pengulangan di bagian Properti Waktu pada tab Properti untuk tugas Pengembangan Data di Konsol DataWorks.

    Stop

    Boolean

    Tidak

    false

    Menentukan apakah penjadwalan dijeda. Nilai yang valid:

    • true: Menjeda penjadwalan.

    • false: Tidak menjeda penjadwalan.

    Parameter ini sesuai dengan opsi Jeda Penjadwalan untuk Jenis Jadwal di bagian Properti Waktu pada tab Properti untuk tugas Pengembangan Data di Konsol DataWorks.

    ParaValue

    String

    Tidak

    x=a y=b z=c

    Parameter penjadwalan.

    Parameter ini sesuai dengan bagian Parameter pada tab Properti untuk tugas Pengembangan Data di Konsol DataWorks. Untuk informasi tentang cara mengonfigurasi parameter ini, lihat Parameter penjadwalan.

    StartEffectDate

    Long

    Tidak

    936923400000

    Stempel waktu UNIX yang menunjukkan awal penjadwalan otomatis. Satuan: milidetik.

    Parameter ini sesuai dengan waktu mulai yang ditentukan untuk Tanggal Efektif di bagian Properti Waktu pada tab Properti untuk tugas Pengembangan Data di Konsol DataWorks.

    EndEffectDate

    Long

    Tidak

    4155787800000

    Stempel waktu UNIX yang menunjukkan akhir penjadwalan otomatis. Satuan: milidetik.

    Parameter ini sesuai dengan waktu akhir yang ditentukan untuk Tanggal Efektif di bagian Properti Waktu pada tab Properti untuk tugas Pengembangan Data di Konsol DataWorks.

    CronExpress

    String

    Tidak

    00 00-59/5 1-23 * * ?

    Ekspresi cron untuk penjadwalan berulang. Parameter ini sesuai dengan parameter Ekspresi Cron di bagian Properti Waktu pada tab Properti untuk tugas Pengembangan Data di Konsol DataWorks. Setelah Anda mengonfigurasi siklus penjadwalan dan penjadwalan berbasis waktu, DataWorks secara otomatis menghasilkan ekspresi cron.

    Contoh:

    • Dijadwalkan berjalan pada pukul 05:30 setiap hari: 00 30 05 * * ?.

    • Dijadwalkan berjalan pada menit ke-15 setiap jam: 00 15 * * * ?.

    • Dijadwalkan berjalan setiap 10 menit: 00 00/10 * * * ?.

    • Dijadwalkan berjalan setiap 10 menit dari pukul 08:00 hingga 17:00 setiap hari: 00 00-59/10 8-17 * * * ?.

    • Dijadwalkan berjalan pada pukul 00:20 pada hari pertama setiap bulan: 00 20 00 1 * ?.

    • Dijadwalkan berjalan setiap tiga bulan, dimulai dari pukul 00:10 pada 1 Januari: 00 10 00 1 1-12/3 ?.

    • Dijadwalkan berjalan pada pukul 00:05 pada hari Selasa dan Jumat: 00 05 00 * * 2,5.

    Sistem penjadwalan DataWorks menerapkan batasan berikut pada ekspresi cron:

    • Interval penjadwalan minimum adalah 5 menit.

    • Waktu penjadwalan paling awal adalah pukul 00:05 setiap hari.

    CycleType

    String

    Tidak

    NOT_DAY

    Jenis siklus penjadwalan. Nilai yang valid: NOT_DAY (menit atau jam) dan DAY (hari, minggu, atau bulan).

    Parameter ini sesuai dengan parameter Siklus Penjadwalan di bagian Properti Waktu pada tab Properti untuk tugas Pengembangan Data di Konsol DataWorks.

    DependentType

    String

    Tidak

    USER_DEFINE

    Dependensi terhadap siklus sebelumnya. Nilai yang valid:

    • SELF: Node bergantung pada dirinya sendiri.

    • CHILD: Node bergantung pada node anaknya di tingkat pertama.

    • USER_DEFINE: Node bergantung pada node lain.

    • NONE: Node tidak bergantung pada siklus sebelumnya.

    DependentNodeIdList

    String

    Tidak

    5,10,15,20

    ID node yang menjadi dependensi file saat ini. Parameter ini hanya berlaku ketika Anda mengatur parameter DependentType ke USER_DEFINE. Pisahkan beberapa ID node dengan koma (,).

    Parameter ini sesuai dengan opsi Node Lain untuk Dependensi di bagian Dependensi Antar-Siklus (Siklus Sebelumnya Asli) pada tab Properti untuk tugas Pengembangan Data di Konsol DataWorks.

    InputList

    String

    Tidak

    project_root,project.file1,project.001_out

    Nama keluaran file hulu yang menjadi dependensi file tersebut. Pisahkan beberapa nama keluaran dengan koma (,).

    Parameter ini sesuai dengan Nama Keluaran Node Hulu di bagian Dependensi pada tab Properti untuk tugas Pengembangan Data di Konsol DataWorks.

    Catatan

    Parameter ini wajib saat Anda membuat tugas sinkronisasi batch dengan memanggil CreateDISyncTask atau UpdateFile.

    ProjectIdentifier

    String

    Tidak

    dw_project

    Nama ruang kerja DataWorks. Anda dapat masuk ke Konsol DataWorks dan buka halaman Konfigurasi Ruang Kerja untuk memperoleh nama ruang kerja.

    Anda harus mengatur salah satu parameter ini atau parameter ProjectId untuk menentukan ruang kerja DataWorks tempat pemanggilan API dilakukan.

    FileId

    Long

    Ya

    100000001

    ID file. Anda dapat memanggil operasi ListFiles untuk memperoleh ID file.

    OutputList

    String

    Tidak

    dw_project.ods_user_info_d

    Keluaran file.

    Parameter ini sesuai dengan Nama Keluaran Node Ini di bagian Dependensi pada tab Properti untuk tugas Pengembangan Data di Konsol DataWorks.

    ResourceGroupIdentifier

    String

    Tidak

    default_group

    Kelompok sumber daya tempat tugas dikirimkan setelah file dipublikasikan. Anda dapat memanggil operasi ListResourceGroups untuk menanyakan kelompok sumber daya yang tersedia di ruang kerja.

    ConnectionName

    String

    Tidak

    odps_source

    Pengidentifikasi sumber data yang digunakan oleh tugas saat tugas dijalankan. Anda dapat memanggil operasi ListDataSources untuk menanyakan sumber data yang tersedia.

    Owner

    String

    Tidak

    18023848927592

    ID pengguna pemilik file.

    AutoParsing

    Boolean

    Tidak

    true

    Menentukan apakah penguraian otomatis untuk file diaktifkan. Nilai yang valid:

    • true: Penguraian otomatis diaktifkan.

    • false: Penguraian otomatis dinonaktifkan.

    Parameter ini sesuai dengan Uraikan Masukan dan Keluaran dari Kode di bagian Dependensi pada tab Properti untuk tugas Pengembangan Data di Konsol DataWorks.

    SchedulerType

    String

    Tidak

    NORMAL

    Jenis penjadwalan. Nilai yang valid:

    • NORMAL: Tugas merupakan tugas terjadwal biasa.

    • MANUAL: Tugas merupakan tugas sekali jalan. Tugas tidak dijadwalkan berjalan secara berulang. Nilai ini sesuai dengan node dalam alur kerja yang dipicu secara manual.

    • PAUSE: Tugas dijeda.

    • SKIP: Tugas merupakan tugas dry-run. Tugas dijadwalkan berjalan secara berulang, tetapi sistem penjadwalan mengatur tugas menjadi berhasil saat waktu terjadwal tercapai.

    AdvancedSettings

    String

    Tidak

    {"queue":"default","SPARK_CONF":"--conf spark.driver.memory=2g"}

    Konfigurasi lanjutan tugas.

    Parameter ini sesuai dengan Pengaturan Lanjutan di panel navigasi kanan pada halaman edit untuk tugas EMR Spark Streaming dan EMR Streaming SQL di Konsol DataWorks.

    Parameter ini hanya didukung untuk tugas EMR Spark Streaming dan EMR Streaming SQL. Nilai parameter harus dalam format JSON.

    StartImmediately

    Boolean

    Tidak

    true

    Menentukan apakah tugas langsung dimulai setelah dipublikasikan. Nilai yang valid:

    • true: Memulai tugas langsung setelah dipublikasikan.

    • false: Tidak memulai tugas langsung setelah dipublikasikan.

    Parameter ini sesuai dengan Mode Mulai di bagian Properti Waktu pada tab Konfigurasi di panel navigasi kanan pada halaman edit untuk tugas EMR Spark Streaming dan EMR Streaming SQL di Konsol DataWorks.

    InputParameters

    String

    Tidak

    [{"ValueSource": "project_001.first_node:bizdate_param","ParameterName": "bizdate_input"}]

    Parameter konteks masukan node. Nilainya harus dalam format JSON. Untuk informasi tentang bidang-bidangnya, lihat struktur parameter InputContextParameterList dalam nilai kembali operasi GetFile.

    Parameter ini sesuai dengan Parameter Masukan Node Ini di bagian Konteks Node pada tab Properti untuk tugas Pengembangan Data di Konsol DataWorks.

    OutputParameters

    String

    Tidak

    [{"Type": 1,"Value": "${bizdate}","ParameterName": "bizdate_param"}]

    Parameter konteks keluaran node. Nilainya harus dalam format JSON. Untuk informasi tentang bidang-bidangnya, lihat struktur parameter OutputContextParameterList dalam nilai kembali operasi GetFile.

    Parameter ini sesuai dengan Parameter Keluaran Node Ini di bagian Konteks Node pada tab Properti untuk tugas Pengembangan Data di Konsol DataWorks.

  3. Kirimkan tugas integrasi data.

    Panggil operasi SubmitFile untuk mengkomit tugas integrasi data ke lingkungan pengembangan sistem pemetaan CDN. Setelah tugas dikomit, deploymentId dikembalikan dalam tanggapan. Anda dapat memanggil operasi GetDeployment untuk memperoleh detail paket penyebaran berdasarkan deploymentId tersebut.

     public void submitFile() throws ClientException{
            SubmitFileRequest request = new SubmitFileRequest();
            request.setProjectId(78837L);
            request.setProjectIdentifier("zxy_8221431");
          // ID node ini adalah ID yang dikembalikan saat Anda membuat node. ID ini sesuai dengan file_id di tabel File database.
            request.setFileId(501576542L);
            request.setComment("Comment");
            SubmitFileResponse acsResponse = client.getAcsResponse(request);
          // DeploymentId adalah nilai kembali dari operasi komit atau publikasi.
          Long deploymentId = acsResponse.getData();
            log.info(acsResponse.toString());
    }

    Untuk informasi selengkapnya tentang parameter, lihat SubmitFile dan GetDeployment.

  4. Publikasikan tugas sinkronisasi ke lingkungan produksi.

    Panggil operasi DeployFile untuk mempublikasikan tugas integrasi data ke lingkungan produksi.

    Catatan

    Anda hanya perlu melakukan operasi ini untuk ruang kerja dalam mode standar.

     public void deploy() throws ClientException{
            DeployFileRequest request = new DeployFileRequest();
            request.setProjectIdentifier("zxy_8221431");
            request.setFileId(501576542L);
            request.setComment("Comment");
            // Tentukan salah satu antara NodeId atau file_id. Nilai NodeId adalah ID node di properti dasar konfigurasi penjadwalan.
            request.setNodeId(700004537241L);
            DeployFileResponse acsResponse = client.getAcsResponse(request);
             // DeploymentId adalah nilai kembali dari operasi komit atau publikasi.
            Long deploymentId = acsResponse.getData();
            log.info(acsResponse.getData().toString());
        }

    Kode di atas memberikan contoh cara mengonfigurasi beberapa parameter. Untuk informasi selengkapnya tentang parameter, lihat DeployFile.

  5. Peroleh detail paket penyebaran.

    Setelah tugas dipublikasikan, deploymentId dikembalikan dalam tanggapan. Anda dapat memanggil operasi GetDeployment untuk memperoleh detail paket penyebaran berdasarkan deploymentId tersebut. Jika nilai parameter Status dalam tanggapan operasi GetDeployment adalah 1, tugas berhasil dipublikasikan.

    public void getDeployment() throws ClientException{
            GetDeploymentRequest request = new GetDeploymentRequest();
            request.setProjectId(78837L);
            request.setProjectIdentifier("zxy_8221431");
          // DeploymentId adalah nilai kembali dari operasi komit atau publikasi. Panggil operasi GetDeployment untuk memperoleh detail penyebaran ini.
            request.setDeploymentId(2776067L);
            GetDeploymentResponse acsResponse = client.getAcsResponse(request);
            log.info(acsResponse.getData().toString());
        }

    Kode di atas memberikan contoh cara mengonfigurasi beberapa parameter. Untuk informasi selengkapnya tentang parameter, lihat GetDeployment.

Ubah konfigurasi tugas sinkronisasi

Setelah membuat tugas integrasi data, Anda dapat memanggil operasi UpdateDISyncTask untuk memperbarui konten tugas atau menggunakan parameter TaskParam guna memperbarui grup sumber daya eksklusif untuk tugas tersebut. Setelah pembaruan, Anda harus mengkomit dan mempublikasikan ulang tugas tersebut. Untuk informasi selengkapnya, lihat Prosedur.

Hapus tugas sinkronisasi

Anda dapat memanggil operasi DeleteFile untuk menghapus tugas integrasi data.

Kode contoh

import com.alibaba.fastjson.JSONObject;
import com.aliyun.dataworks_public20200518.Client;
import com.aliyun.dataworks_public20200518.models.*;
import com.aliyun.teaopenapi.models.Config;

public class createofflineTask {
    static Long createTask(String fileName) throws  Exception {
        Long projectId = 2043L;
        String taskType = "DI_OFFLINE";
        String taskContent = "{\n" +
                "    \"type\": \"job\",\n" +
                "    \"version\": \"2.0\",\n" +
                "    \"steps\": [\n" +
                "        {\n" +
                "            \"stepType\": \"mysql\",\n" +
                "            \"parameter\": {\n" +
                "                \"envType\": 0,\n" +
                "                \"datasource\": \"mysql_autotest_dev\",\n" +
                "                \"column\": [\n" +
                "                    \"id\",\n" +
                "                    \"name\"\n" +
                "                ],\n" +
                "                \"connection\": [\n" +
                "                    {\n" +
                "                        \"datasource\": \"mysql_autotest_dev\",\n" +
                "                        \"table\": [\n" +
                "                            \"user\"\n" +
                "                        ]\n" +
                "                    }\n" +
                "                ],\n" +
                "                \"where\": \"\",\n" +
                "                \"splitPk\": \"\",\n" +
                "                \"encoding\": \"UTF-8\"\n" +
                "            },\n" +
                "            \"name\": \"Reader\",\n" +
                "            \"category\": \"reader\"\n" +
                "        },\n" +
                "        {\n" +
                "            \"stepType\": \"odps\",\n" +
                "            \"parameter\": {\n" +
                "                \"partition\": \"pt=${bizdate}\",\n" +
                "                \"truncate\": true,\n" +
                "                \"datasource\": \"odps_source\",\n" +
                "                \"envType\": 0,\n" +
                "                \"column\": [\n" +
                "                    \"id\",\n" +
                "                    \"name\"\n" +
                "                ],\n" +
                "                \"emptyAsNull\": false,\n" +
                "                \"tableComment\": \"null\",\n" +
                "                \"table\": \"user\"\n" +
                "            },\n" +
                "            \"name\": \"Writer\",\n" +
                "            \"category\": \"writer\"\n" +
                "        }\n" +
                "    ],\n" +
                "    \"setting\": {\n" +
                "        \"executeMode\": null,\n" +
                "        \"errorLimit\": {\n" +
                "            \"record\": \"\"\n" +
                "        },\n" +
                "        \"speed\": {\n" +
                "            \"concurrent\": 2,\n" +
                "            \"throttle\": false\n" +
                "        }\n" +
                "    },\n" +
                "    \"order\": {\n" +
                "        \"hops\": [\n" +
                "            {\n" +
                "                \"from\": \"Reader\",\n" +
                "                \"to\": \"Writer\"\n" +
                "            }\n" +
                "        ]\n" +
                "    }\n" +
                "}";
        CreateDISyncTaskRequest request = new CreateDISyncTaskRequest();
        request.setProjectId(projectId);
        request.setTaskType(taskType);
        request.setTaskContent(taskContent);
        request.setTaskName(fileName);
        request.setTaskParam("{\"FileFolderPath\":\"Workflow/Automated_Testing_Workspace_Do_Not_Modify/Data_Integration\",\"ResourceGroup\":\"S_res_group_XXX\"}");
        // Gunakan grup sumber daya eksklusif untuk Integrasi Data.
        CreateDISyncTaskResponse response1 = client.getAcsResponse(request);
        return response1.getData().getFileId();
    }

    public static void updateFile(Long fileId) throws Exception {
        UpdateFileRequest request = new UpdateFileRequest();
        request.setProjectId(2043L);
        request.setFileId(fileId);
        request.setAutoRerunTimes(3);
        request.setRerunMode("FAILURE_ALLOWED");
        request.setCronExpress("00 30 05 * * ?");
        request.setCycleType("DAY");
        request.setResourceGroupIdentifier("S_res_group_XXX");
        // Gunakan grup sumber daya eksklusif untuk penjadwalan.
        request.setInputList("dataworks_di_autotest_root");

        request.setAutoParsing(true);
        request.setDependentNodeIdList("5,10,15,20");
        request.setDependentType("SELF");
        request.setStartEffectDate(0L);
        request.setEndEffectDate(4155787800000L);
        request.setFileDescription("description");
        request.setStop(false);
        request.setParaValue("x=a y=b z=c");
        request.setSchedulerType("NORMAL");
        request.setAutoRerunIntervalMillis(120000);
        UpdateFileResponse response1 = client.getAcsResponse(request);
    }
    static void deleteTask(Long fileId) throws Exception {
        DeleteFileRequest request = new DeleteFileRequest();
        Long projectId = 63845L;
        request.setProjectId(projectId);
        request.setFileId(fileId);


        String akId = "XXX";
        String akSecret = "XXXX";
        String regionId = "cn-hangzhou";
        IClientProfile profile = DefaultProfile.getProfile(regionId, akId, akSecret);
        DefaultProfile.addEndpoint("cn-hangzhou","dataworks-public","dataworks.cn-hangzhou.aliyuncs.com");
        IAcsClient client;

        client = new DefaultAcsClient(profile);

        DeleteFileResponse response1 = client.getAcsResponse(request);
        System.out.println(JSONObject.toJSONString(response1));
    }

    static IAcsClient client;

    public static void main(String[] args) throws Exception {
        String akId = "XX";
        // Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_ID dan ALIBABA_CLOUD_ACCESS_KEY_SECRET telah disetel.https://www.alibabacloud.com/help/zh/alibaba-cloud-sdk-262060/latest/configure-credentials-378659
        IClientProfile profile = DefaultProfile.getProfile("cn-shanghai", System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"), System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
        DefaultProfile.addEndpoint(regionId, "dataworks-public", "dataworks." + regionId + ".aliyuncs.com");

        client = new DefaultAcsClient(profile);
        String taskName = "offline_job_0930_1648";
        Long fileId = createTask(taskName); // Buat tugas integrasi data.
        updateFile(fileId);   // Ubah properti penjadwalan tugas integrasi data.
    }
}