Rest.li supports partial update natively without needing explicitly defined models. However, the granularity of update is always limited to each field in a PDL model. There are cases where the update need to happen at an even finer grain, e.g. adding or removing items from an array.
To this end, we’re proposing the following entity-specific metadata delta model that allows atomic partial updates at any desired granularity. Note that:
membersToAdd
& membersToRemove
from below)GroupDelta
from below) that unions all supported partial update models.Delta
typeref, which is added as part of Metadata Change Event and used during Metadata Ingestion.namespace com.linkedin.group
import com.linkedin.common.CorpuserUrn
/**
* A metadata delta for a specific group entity
*/
record MembershipPartialUpdate {
/** List of members to be added to the group */
membersToAdd: array[CorpuserUrn]
/** List of members to be removed from the group */
membersToRemove: array[CorpuserUrn]
}
namespace com.linkedin.metadata.delta
import com.linkedin.common.CorpGroupUrn
import com.linkedin.group.MembershipPartialUpdate
/**
* A metadata delta for a specific group entity
*/
record GroupDelta {
/** URN for the entity the metadata delta is associated with */
urn: CorpGroupUrn
/** The specific type of metadata delta to apply */
delta: union[MembershipPartialUpdate]
}
namespace com.linkedin.metadata.delta
/**
* A union of all supported metadata delta types.
*/
typeref Delta = union[GroupDelta]
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )