Gera um ID para um thread assíncrono usado na criação de uma tarefa de sincronização no Data Integration. Esse ID é necessário ao chamar a operação QueryDISyncTaskConfigProcessResult para obter os parâmetros gerados assincronamente e utilizados na criação da tarefa de sincronização no Data Integration.
O DataWorks permite usar a operação CreateDISyncTask para criar diretamente uma tarefa de sincronização em lote no Data Integration. Para criar uma tarefa de sincronização em tempo real ou outro tipo de tarefa, chame primeiro a operação GenerateDISyncTaskConfigForCreating para gerar o ID de um thread assíncrono. Em seguida, chame a operação QueryDISyncTaskConfigProcessResult para obter os parâmetros gerados assincronamente com base nesse ID. Por fim, chame a operação CreateDISyncTask e utilize esses parâmetros na solicitação para criar a tarefa de sincronização em tempo real ou de outro tipo.
O DataWorks suporta a criação de tarefas de sincronização em tempo real e de outros tipos no Data Integration exclusivamente no modo assíncrono.
Depuração
Parâmetros de solicitação
|
Parâmetro |
Tipo |
Obrigatório |
Exemplo |
Descrição |
|
Action |
String |
Sim |
GenerateDISyncTaskConfigForCreating |
A operação a ser executada. |
|
ProjectId |
Long |
Sim |
10000 |
O ID do workspace do DataWorks. Faça login no console do DataWorks e acesse a página Workspace para obter o ID. Configure este parâmetro para especificar o workspace do DataWorks ao qual a operação de API se aplica. |
|
TaskType |
String |
Sim |
DI_REALTIME |
O tipo de tarefa a ser criada no Data Integration no modo assíncrono. Valores válidos:
O DataWorks permite criar tarefas de sincronização em tempo real e outros tipos de tarefas de sincronização no Data Integration apenas no modo assíncrono. |
|
TaskParam |
String |
Sim |
{ "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" } ] } |
O script da tarefa de sincronização. O DataWorks permite criar os seguintes tipos de tarefas de sincronização:
O parâmetro SelectedTables especifica as tabelas a serem sincronizadas a partir de vários bancos de dados. Já o parâmetro Tables define as tabelas a serem sincronizadas de um único banco de dados.
O código de exemplo abaixo apresenta um script para sincronização de dados do MySQL para o MaxCompute:
O exemplo a seguir mostra um script para sincronização de dados do MySQL para o Kafka:
Este trecho ilustra um script para sincronização de dados do MySQL para o Hologres:
|
|
ClientToken |
String |
Não |
ABFUOEUOTRTRJKE |
Token de cliente usado para garantir a idempotência da solicitação. Este parâmetro evita operações duplicadas causadas por múltiplas chamadas. |
Parâmetros de resposta
|
Parâmetro |
Tipo |
Exemplo |
Descrição |
|
Success |
Boolean |
true |
Indica se a solicitação foi bem-sucedida. Valores válidos:
|
|
RequestId |
String |
0bc1411515937635973**** |
ID da solicitação. Use este ID para localizar logs e solucionar problemas. |
|
Data |
Object |
Informações retornadas referentes ao ID do thread assíncrono. |
|
|
Status |
String |
true |
Indica se o ID do thread assíncrono foi gerado. Valores válidos:
|
|
ProcessId |
Long |
10 |
ID do thread assíncrono. Chame a operação QueryDISyncTaskConfigProcessResult para obter os parâmetros gerados assincronamente com base neste ID. Esses parâmetros são usados para criar uma tarefa de sincronização no Data Integration. |
|
Message |
String |
XXX is invalid. |
Motivo da falha na geração do ID do thread assíncrono. Se o ID for gerado com sucesso, nenhum valor será retornado para este parâmetro. |
Exemplos
Exemplos de solicitações
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>
Exemplos de respostas de sucesso
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 erro
|
Código de status HTTP |
Código de erro |
Mensagem de erro |
Descrição |
|
400 |
Invalid.DI.Parameter |
The parameter is invalid. |
Um ou mais parâmetros são inválidos. |
|
400 |
Invalid.DI.Parameter.File.Existed |
The file name already exists. |
O nome de arquivo especificado já existe. |
|
403 |
Forbidden.DI.NoPrivilege |
No access. |
Você não tem as permissões necessárias. |
|
500 |
InternalError.DI.Parameter |
A DI internal error occurred. |
Ocorreu um erro interno no Data Integration. |
Para obter uma lista de códigos de erro, consulte Códigos de erro do serviço.