Actualiza una entidad de metadatos. Puede actualizar entidades personalizadas u objetos del tipo de tabla extendida, como bases de datos, tablas y columnas.
Descripción de la operación
Debe adquirir DataWorks Professional Edition o una edición superior para utilizar esta operación.
Pruébelo ahora
Test
Autorización de RAM
|
Action |
Nivel de acceso |
Tipo de recurso |
Clave de condición |
Acción dependiente |
|
dataworks:UpdateMetaEntity |
update |
*All Resource
|
Ninguna | Ninguna |
Sintaxis de la solicitud
POST HTTP/1.1
Parámetros de la solicitud
|
Parámetro |
Tipo |
Obligatorio |
Descripción |
Ejemplo |
| Id |
string |
Sí |
El ID de la entidad a actualizar. El nombre de la entidad, el tipo de entidad y la relación padre-hijo los determina el ID y no se pueden modificar con esta operación. |
custom_entity-customer_api:api_001 |
| Comment |
string |
No |
El comentario de la entidad. |
this is a comment |
| Attributes |
object |
No |
Los atributos de la entidad. Los valores complejos se deben serializar en una cadena JSON. |
[] |
|
string |
No |
El valor del atributo de la entidad. |
value |
|
| CustomAttributes |
object |
No |
Los valores de los atributos personalizados. Cada clave especifica un atributo personalizado, y su valor es una matriz que puede contener como máximo un elemento. Para eliminar el valor de un atributo, proporcione una matriz vacía. |
[] |
|
array |
No |
Una matriz de valores de atributos personalizados. Actualmente, solo se admiten matrices de un solo valor. |
||
|
string |
No |
El valor del atributo personalizado. |
Zhang San |
Entidades personalizadas
Para las entidades personalizadas, establezca EntityType en custom_entity-<name>. Puede actualizar los siguientes elementos:
| Campo | Admitido | Descripción |
Comment | Sí | Actualiza el comentario de la entidad. |
Attributes | Sí | La clave debe estar definida en las MetaEntityDef.AttributeDefs correspondientes. Proporcionar una clave desconocida devuelve un error. |
CustomAttributes | Sí | La clave debe ser un atributo personalizado que se aplique a este tipo de entidad. |
Reglas de atributos
| Elemento | Descripción |
| Semántica de actualización | Esta es una operación de parche. Solo se actualizan las claves proporcionadas en la solicitud. Los atributos existentes se conservan. |
| Eliminar atributo | Para eliminar un atributo, establezca su valor en null. Esto elimina la clave de los attributes de la entidad. |
| Atributo obligatorio | Si se elimina o borra un atributo obligatorio, el sistema valida el resultado combinado y devuelve un error. |
| Atributo ENUM | El valor debe ser uno de los valores permitidos definidos en AttributeDef.AllowedValues. |
| Atributo DATE | El valor debe ser una marca de tiempo en milisegundos. |
| Atributo ARRAY/JSON | Dado que los valores de entrada de OpenAPI son cadenas, los valores de los atributos ARRAY/JSON generalmente deben proporcionarse como cadenas JSON. |
Ejemplo:
{
"Comment": "Updated custom entity",
"Attributes": {
"level": "L2",
"profile": "{\"owner\":\"data_team\"}"
},
"CustomAttributes": {
"biz_owner": ["data_team"]
}
}
Objeto de base de datos del tipo de tabla extendida
Se aplica a custom_<name>-database.
| Clave de atributos | Admitido | Tipo/formato | Descripción |
technicalMetadata.location | Sí | Cadena | Actualiza la ubicación de almacenamiento de la base de datos. Esto corresponde al campo location en Elasticsearch. |
parentMetaEntityId | No | - | La relación padre-hijo no se puede actualizar. Proporcionar esta clave devuelve un error. |
| Otras claves | No | - | Para una entidad compartida, actualizar claves que no están en la lista blanca devuelve un error. |
Objeto de tabla del tipo de tabla extendida
Se aplica a custom_<name>-table.
| Clave de atributos | Admitido | Tipo/formato | Descripción |
tableType | Sí | Cadena | Actualiza el tipo de tabla. |
partitionKeys | Sí | Cadena de matriz JSON o Cadena | Si proporciona una matriz, el sistema une los elementos con comas para crear la cadena final. Por ejemplo, ["dt","hh"] se convierte en dt,hh. |
technicalMetadata.owner | Sí | Cadena | Actualiza el propietario. |
technicalMetadata.location | Sí | Cadena | Actualiza la ubicación de almacenamiento. |
technicalMetadata.compressed | Sí | Booleano | Admite true y false. |
technicalMetadata.inputFormat | Sí | Cadena | Actualiza el InputFormat. |
technicalMetadata.outputFormat | Sí | Cadena | Actualiza el OutputFormat. |
technicalMetadata.serializationLibrary | Sí | Cadena | Actualiza la clase SerDe. |
technicalMetadata.parameters | Sí | Cadena de objeto JSON o Cadena | Si proporciona un objeto JSON, el sistema lo serializa en una cadena y lo escribe en el atributo parameters. |
parentMetaEntityId | No | - | La base de datos padre no se puede actualizar. Proporcionar esta clave devuelve un error. |
columns | No | - | No puede modificar la lista de columnas mediante la operación UpdateMetaEntity. En su lugar, actualice cada entidad de columna individualmente. |
| Otras claves | No | - | Para una entidad compartida, actualizar claves que no están en la lista blanca devuelve un error. |
Ejemplo:
{
"Comment": "Updated table description",
"Attributes": {
"tableType": "VIEW",
"partitionKeys": "[\"dt\"]",
"technicalMetadata.location": "oss://bucket/ods/order_fact",
"technicalMetadata.compressed": "true",
"technicalMetadata.parameters": "{\"retention\":\"30\"}"
},
"CustomAttributes": {
"biz_owner": ["data_team"]
}
}
Objeto de columna del tipo de tabla extendida
Se aplica a custom_<name>-column.
| Clave de atributos | Admitido | Tipo/formato | Descripción |
type | Sí | Cadena | Actualiza el tipo de columna. |
position | Sí | Entero | Actualiza la posición de la columna. |
partitionKey | Sí | Booleano | Establece si la columna es una clave de partición. Esto corresponde al campo isPartitionKey en Elasticsearch. |
primaryKey | Sí | Booleano | Establece si la columna es una clave primaria. Esto corresponde al campo isPrimaryKey en Elasticsearch. |
foreignKey | Sí | Booleano | Establece si la columna es una clave externa. Esto corresponde al campo isForeignKey en Elasticsearch. |
parentMetaEntityId | No | - | La tabla padre no se puede actualizar. Proporcionar esta clave devuelve un error. |
| Otras claves | No | - | Para una entidad compartida, actualizar claves que no están en la lista blanca devuelve un error. |
La solicitud falla si la tabla padre no existe, no pertenece al inquilino actual o no tiene columnas en línea.
Ejemplo:
{
"Comment": "Order ID",
"Attributes": {
"type": "BIGINT",
"position": "1",
"primaryKey": "true"
},
"CustomAttributes": {
"security_level": ["P1"]
}
}
Operaciones no admitidas
| Elemento | Conclusión |
| Modificar el nombre de la entidad | No admitido. El nombre se deriva del Id. |
| Modificar EntityType | No admitido. El tipo se deriva del Id. |
| Modificar la entidad padre | No admitido. Proporcionar attributes.parentMetaEntityId devuelve un error. |
| Modificar la lista de columnas | No admitido. Proporcionar attributes.columns devuelve un error. |
| Crear nuevas columnas | No admitido. Para agregar columnas a una tabla extendida, especifíquelas en el parámetro Attributes.columns cuando cree la tabla mediante la operación BatchCreateMetaEntities. |
Elementos de la respuesta
|
Elemento |
Tipo |
Descripción |
Ejemplo |
|
object |
Los datos devueltos en la respuesta. |
||
| RequestId |
string |
El ID de la solicitud. |
AASFDFSDFG-DFSDF-DFSDFD-SDFSDF |
| Success |
boolean |
Indica si la solicitud se realizó correctamente. |
true |
| Result |
object |
La entidad actualizada o el resultado de la operación de escritura. |
|
| Id |
string |
El ID de la entidad. |
custom_entity-customer_api:api_001 |
| Success |
boolean |
Indica si la actualización se realizó correctamente. |
true |
Ejemplos
Respuesta exitosa
JSON Formato
{
"RequestId": "AASFDFSDFG-DFSDF-DFSDFD-SDFSDF",
"Success": true,
"Result": {
"Id": "custom_entity-customer_api:api_001",
"Success": true
}
}
Códigos de error
Consulte Códigos de error para ver la lista completa.
Notas de la versión
Consulte Notas de la versión para ver la lista completa.