Registra uma relação de linhagem de dados no Data Map do DataWorks. Você pode usar esta operação para estabelecer relações de linhagem entre entidades de metadados gerenciadas pelo DataWorks, incluindo cenários de tabela para tabela, coluna para coluna, tabela para coluna e conjunto de dados para tabela. Você também pode estabelecer relações de linhagem entre entidades gerenciadas e objetos de entidade personalizados registrados por usuários. Esta operação é compatível com objetos personalizados não gerenciados, mas essa abordagem não é mais recomendada. Antes de chamar esta operação, certifique-se de que as entidades gerenciadas envolvidas no registro de linhagem já existam na plataforma DataWorks.
Descrição da operação
É necessário o DataWorks Professional Edition ou uma edição superior.
Experimente agora
Testar
Autorização RAM
|
Ação |
Nível de acesso |
Tipo de recurso |
Chave de condição |
Ação dependente |
|
dataworks:CreateLineageRelationship |
create |
*All Resource
|
Nenhuma | Nenhuma |
Parâmetros da solicitação
|
Parâmetro |
Tipo |
Obrigatório |
Descrição |
Exemplo |
| SrcEntity | LineageEntity |
Não |
A entidade de origem. |
|
| DstEntity | LineageEntity |
Não |
A entidade de destino. |
|
| Task | LineageTask |
Não |
As informações da tarefa. |
Objeto de entidade (SrcEntity / DstEntity)
Descreve a origem e o destino de uma relação de linhagem. Você pode registrar relações de linhagem entre os seguintes tipos de entidades:
| Tipo de entidade | Pré-registro necessário | Como obter o ID | Descrição |
| Tabela coletada pelo DataWorks | Não | Chame ListTables ou GetTable e use o Id na resposta. | Aplicável a tabelas já coletadas pela plataforma DataWorks ou tabelas estendidas registradas por usuários. |
| Coluna coletada pelo DataWorks | Não | Chame ListColumns ou GetColumn e use o Id na resposta. | Colunas correspondentes às tabelas coletadas. |
| Conjunto de dados | Não, se o conjunto de dados já existir. Para criar um conjunto de dados, chame CreateDataset primeiro. | Chame CreateDataset, ListDatasets ou GetDataset e use o Id na resposta. | Aplicável a entidades de conjunto de dados do DataWorks. |
| Versão do conjunto de dados | Não, se a versão já existir. Para criar uma versão, chame CreateDatasetVersion primeiro. | Chame CreateDatasetVersion, ListDatasetVersions ou GetDatasetVersion e use o Id na resposta. | Aplicável a versões específicas de um conjunto de dados. |
| Objeto de entidade personalizado registrado pelo usuário | Sim | Chame CreateMetaEntityDef para criar uma definição de entidade personalizada, em seguida, chame BatchCreateMetaEntities para criar objetos de entidade e use o Id na resposta. | Aplicável a entidades personalizadas que precisam ser gerenciadas e consultadas no DataWorks. |
| Objeto personalizado não gerenciado (não recomendado) | Não | O chamador especifica um Id com o prefixo custom- no formato custom-{Type}:{Identifier}. | Compatível com o uso legado, mas não é mais recomendado. Para relatórios externos, objetos de sistemas de terceiros e outros objetos personalizados, registre-os primeiro como objetos de entidade personalizados do DataWorks e, em seguida, registre a linhagem. |
Notas adicionais:
-
Para tabelas, colunas, conjuntos de dados e versões de conjuntos de dados já coletados pelo DataWorks, recomendamos que você evite construir manualmente o
Ide, em vez disso, use oIdretornado pela APIGetouListcorrespondente. -
Para objetos personalizados, recomendamos que você use a abordagem de objeto de entidade personalizado registrado pelo usuário. Conclua primeiro a definição da entidade e o registro do objeto de entidade:
Chame
CreateMetaEntityDefpara criar uma definição de entidade personalizada.Chame
BatchCreateMetaEntitiespara criar objetos de entidade específicos.Use o
Idda entidade retornado porBatchCreateMetaEntitiescomoSrcEntity.IdouDstEntity.Id.
-
Para objetos personalizados não gerenciados, você não precisa chamar
CreateMetaEntityDefouBatchCreateMetaEntities. Basta passar umIdde entidade com o prefixocustom-e especificar oName. Esta abordagem é principalmente para compatibilidade com versões anteriores de cenários legados e não é mais recomendada. Para novas integrações, use a abordagem de objeto de entidade personalizado registrado para facilitar a consulta, o gerenciamento e a extensão de atributos personalizados. -
SrcEntity.AttributeseDstEntity.Attributesrepresentam atributos estendidos dos pontos de extremidade da entidade. Coloque os atributos da própria relação de linhagem emTask.Attributes.
Informações da tarefa (Task)
Descreve o job ou tarefa que produz a relação de linhagem.
| Parâmetro | Tipo | Obrigatório | Descrição |
| Id | String | Não | O identificador exclusivo da tarefa. Recomendamos que você passe um valor estável para registro, consulta e exclusão idempotentes. Apenas letras, dígitos e sublinhados são suportados. Comprimento máximo: 64 caracteres. |
| Type | String | Sim | O tipo de tarefa. Deve começar com custom-. Apenas letras, dígitos, sublinhados e hifens são suportados. Comprimento máximo: 64 caracteres. |
| Attributes | Map<String,String> | Não | Os atributos da tarefa. São suportados no máximo 20 atributos. Valores complexos devem ser serializados como strings JSON. • Key: o nome do atributo (letras, dígitos e sublinhados, ≤ 64 caracteres). • Value: o valor do atributo (≤ 128 caracteres). |
Exemplos de solicitação.
Tabela coletada pelo DataWorks e objeto de entidade personalizado
{
"SrcEntity": {
"Id": "custom_entity-customer_api:api_001",
"Name": "api_001"
},
"DstEntity": {
"Id": "mysql-table:rm-xxx::demo_db::demo_table",
"Name": "demo_table"
},
"Task": {
"Id": "api_to_table_001",
"Type": "custom-lineage-task",
"Attributes": {
"scene": "api_to_table",
"owner": "zhangsan"
}
}
}
Objeto personalizado não gerenciado e tabela coletada pelo DataWorks
Esta abordagem é principalmente para compatibilidade com versões anteriores do uso legado e não é mais recomendada. Para novas integrações, registre objetos de entidade personalizados usando CreateMetaEntityDef e BatchCreateMetaEntities primeiro e, em seguida, use o Id da entidade retornado para registrar a linhagem.
{
"SrcEntity": {
"Id": "custom-report:report_001",
"Name": "report_001"
},
"DstEntity": {
"Id": "maxcompute-table:::demo_project:default:demo_table",
"Name": "demo_table"
},
"Task": {
"Id": "report_to_table_001",
"Type": "custom-lineage-task",
"Attributes": {
"scene": "report_to_table"
}
}
}
Elementos de resposta
|
Elemento |
Tipo |
Descrição |
Exemplo |
|
object |
A resposta. |
||
| RequestId |
string |
O ID da solicitação. Um identificador exclusivo para a solicitação. |
C99E2BE6-9DEA-5C2E-8F51-1DDCFEADE490 |
| Success |
boolean |
Indica se a solicitação foi bem-sucedida. |
true |
| Id |
string |
O ID da relação de linhagem. |
4as3dasf654a |
Exemplos
Resposta de sucesso
JSON formato
{
"RequestId": "C99E2BE6-9DEA-5C2E-8F51-1DDCFEADE490",
"Success": true,
"Id": "4as3dasf654a"
}
Códigos de erro
Consulte Códigos de Erro para uma lista completa.
Notas de versão
Consulte Notas de Versão para uma lista completa.