Genera un ID para un hilo asíncrono que se utiliza al crear una tarea de sincronización en Data Integration. Este ID se usa cuando llama a la operación QueryDISyncTaskConfigProcessResult para obtener los parámetros generados de forma asíncrona y necesarios para crear dicha tarea en Data Integration.
DataWorks permite usar la operación CreateDISyncTask para crear directamente una tarea de sincronización por lotes en Data Integration. Para crear una tarea de sincronización en tiempo real u otro tipo de tarea, primero debe llamar a la operación GenerateDISyncTaskConfigForCreating para generar el ID de un hilo asíncrono y luego a la operación QueryDISyncTaskConfigProcessResult para obtener los parámetros generados de forma asíncrona según ese ID. Posteriormente, llame a la operación CreateDISyncTask y utilice esos parámetros como parámetros de solicitud para crear la tarea de sincronización en tiempo real o de otro tipo.
DataWorks solo admite la creación de tareas de sincronización en tiempo real y de otros tipos en Data Integration mediante el modo asíncrono.
Depuración
Parámetros de solicitud
|
Parámetro |
Tipo |
Obligatorio |
Ejemplo |
Descripción |
|
Action |
String |
Sí |
GenerateDISyncTaskConfigForCreating |
La operación que desea ejecutar. |
|
ProjectId |
Long |
Sí |
10000 |
El ID del espacio de trabajo de DataWorks. Inicie sesión en DataWorks console e ir a la página Workspace para obtener el ID. Configure este parámetro para especificar el espacio de trabajo de DataWorks al que se aplica la operación de API. |
|
TaskType |
String |
Sí |
DI_REALTIME |
El tipo de tarea que desea crear en Data Integration en modo asíncrono. Valores válidos:
DataWorks solo permite crear tareas de sincronización en tiempo real y otros tipos de tareas de sincronización en Data Integration mediante el modo asíncrono. |
|
TaskParam |
String |
Sí |
{ "type": "realtime", "version": "1.0", "setting": { "resourceGroup": "S_res_group_280749521950784_1623033752022", "taskType": "oneclick_to_odps" }, "steps": [{ "stepType": "mysql", "parameter": { "connection": [ { "datasourceType": "mysql", "datasource": "mysql_pub1", "selectedTables": [ { "dbName": "mysql_db", "schema": [ { "tableInfos": [ { "table": "molin_di_test_in_pk_v4" }] } ] } ] } ] }, "name": "Reader", "category": "reader" }, { "stepType": "odps", "parameter": { "datasource": "odps_source" }, "name": "Writer", "category": "writer" } ] } |
El script de la tarea de sincronización. DataWorks permite crear los siguientes tipos de tareas de sincronización:
El parámetro SelectedTables se utiliza para especificar las tablas que desea sincronizar from varias bases de datos. El parámetro Tables se usa para especificar las tablas que desea sincronizar from una sola base de datos.
A continuación se muestra un código de ejemplo con el script para la sincronización de datos de MySQL a MaxCompute:
A continuación se muestra un código de ejemplo con el script para la sincronización de datos de MySQL a Kafka:
A continuación se muestra un código de ejemplo con el script para la sincronización de datos de MySQL a Hologres:
|
|
ClientToken |
String |
No |
ABFUOEUOTRTRJKE |
El token de cliente que se utiliza para garantizar la idempotencia de la solicitud. Este parámetro evita operaciones repetidas causadas por varios llamadas. |
Parámetros de respuesta
|
Parámetro |
Tipo |
Ejemplo |
Descripción |
|
Success |
Boolean |
true |
Indica si la solicitud se completó correctamente. Valores válidos:
|
|
RequestId |
String |
0bc1411515937635973**** |
El ID de la solicitud. Puede localizar registros y solucionar problemas basándose en este ID. |
|
Data |
Object |
La información devuelta correspondiente al ID del hilo asíncrono. |
|
|
Status |
String |
true |
Indica si se generó el ID del hilo asíncrono. Valores válidos:
|
|
ProcessId |
Long |
10 |
El ID del hilo asíncrono. Llame a la operación QueryDISyncTaskConfigProcessResult para obtener los parámetros generados de forma asíncrona según este ID. Dichos parámetros se utilizan para crear una tarea de sincronización en Data Integration. |
|
Message |
String |
XXX is invalid. |
El motivo por el cual no se generó el ID del hilo asíncrono. Si el ID se genera correctamente, este parámetro no devuelve ningún valor. |
Ejemplos
Ejemplos de solicitudes
http(s)://[Endpoint]/?Action=GenerateDISyncTaskConfigForCreating
&ProjectId=10000
&TaskType=DI_REALTIME
&TaskParam={ "type": "realtime", "version": "1.0", "setting": { "resourceGroup": "S_res_group_280749521950784_1623033752022", "scheduleResgroupId": 30003913, "name": "openapi_realtime_solution_0813_1739", "taskType": "oneclick_to_odps" }, "steps": [ { "stepType": "mysql", "parameter": { "connection": [ { "datasourceType": "mysql", "datasource": "mysql_pub", "table": [ "xyx" ] } ] }, "name": "Reader", "category": "reader" }, { "stepType": "odps", "parameter": { "datasource": "odps_source" }, "name": "Writer", "category": "writer" } ] }
&ClientToken=ABFUOEUOTRTRJKE
&<Common request parameters>
Ejemplos de respuestas correctas
Formato XML
HTTP/1.1 200 OK
Content-Type:application/xml
<GenerateDISyncTaskConfigForCreatingResponse>
<Success>true</Success>
<RequestId>0bc1411515937635973****</RequestId>
<Data>
<Status>true</Status>
<ProcessId>10</ProcessId>
<Message>XXX is invalid.</Message>
</Data>
</GenerateDISyncTaskConfigForCreatingResponse>
Formato JSON
HTTP/1.1 200 OK
Content-Type:application/json
{
"Success" : true,
"RequestId" : "0bc1411515937635973****",
"Data" : {
"Status" : true,
"ProcessId" : 10,
"Message" : "XXX is invalid."
}
}
Códigos de error
|
Código de estado HTTP |
Código de error |
Mensaje de error |
Descripción |
|
400 |
Invalid.DI.Parameter |
The parameter is invalid. |
Uno o más parámetros no son válidos. |
|
400 |
Invalid.DI.Parameter.File.Existed |
The file name already exists. |
El nombre de archivo especificado ya existe. |
|
403 |
Forbidden.DI.NoPrivilege |
No access. |
No tiene los permisos necesarios. |
|
500 |
InternalError.DI.Parameter |
A DI internal error occurred. |
Se produjo un error interno en Data Integration. |
Para obtener una lista de códigos de error, consulte Códigos de error del servicio.