Data Contract
drn:decathlon-com:member::streaming:Member:sha256/84687307099f8f730c816cc3196e84e0494b11724c0ab24867e5d9c100bbc266
Data Contract Specification v1.1.0
demo-project
Info
Information about the data contract
- Title
- com.decathlon:member-streaming-schemas-demo
- Version
- 1.9.0
- Status
- active
- Description
- A member event containing exhaustive type
- Owner
- streaming
- groupId
- com.decathlon
- artifactId
- member-streaming-schemas-demo
- Contact
- ce-member-streaming [email protected]
Servers
Servers of the data contract
-
- Server
- preproduction-europe
- Environment
- preproduction
- Type
- kafka
- Host
- ${member_streaming_platform_kafka_preprod_europe_url}
- Topic
- local.dkt-member.streaming.restricted.fact.demo-member-event.v1.avro local.dkt-member.streaming.restricted.fact.demo-member-event.v1.json local.dkt-member.streaming.private.cdc.member-event.v1.avro local.dkt-member.streaming.private.fact.demo-member-event.v1.avro local.dkt-member.streaming.mirrored.fact.demo-member-event.v1.avro local.dkt-member.streaming.mirrored.fact.demo-member-identifier.v1.avro local.dkt-member.streaming.private.stream.demo-member-event.v1.avro local.dkt-member.streaming.public.fact.demo-member-event.v2.avro local.dkt-member.streaming.public.fact.demo-member-event.v2.avro-retry-0 local.dkt-member.streaming.public.fact.demo-member-event.v2.avro-retry-1 local.dkt-member.streaming.public.fact.demo-member-event.v2.avro-DLQ
- Format
- avro
Terms
Terms and conditions of the data contract
- Usage
- Use for testing and demoing purpose in streaming team. This Data contract should not be use in production.
- Limitations
- None
Entity Relationship Diagram
Visual representation of data model relationships
erDiagram
"**MemberIdentifier**" {
memberId string
}
"**MemberEventLight**" {
memberId string
memberName string
memberData string
}
"**MemberEvent**" {
memberId string
memberName string
memberData string
localTimestamp timestamp
booleanField boolean
intField int
longField long
doubleField double
stringField string
arrayField array
recordField object
nullableLocalTimestamp timestamp
nullableBooleanField boolean
nullableIntField int
nullableLongField long
nullableDoubleField double
nullableStringField string
nullableArrayField array
nullableRecordField record
enumField string
decimalField decimal
mainExternalReference com_decathlon_member_streaming_domain_avro_v1_ExternalReference
secondaryExternalReferences array
}
Data Model
The logical data model
|
MemberIdentifier
object
A dummy member event identifier object
topics: [{'name': 'local.dkt-member.streaming.mirrored.fact.demo-member-identifier.v1.avro', 'compatibility': 'FULL_TRANSITIVE', 'retention': '15d'}]
|
||
|---|---|---|
| string |
Unique UUID for a member
Examples:
243c25e5-a081-43a9-aeab-6d5d5b6cb5e2
format:uuid
restricted
PII
|
|
|
MemberEventLight
object
A dummy member event
topics: [{'name': 'local.dkt-member.streaming.restricted.fact.demo-member-event.v1.avro', 'compatibility': 'FULL_TRANSITIVE', 'retention': '15d'}]
|
||
|---|---|---|
| string |
Unique identifier of a member
Examples:
243c25e5-a081-43a9-aeab-6d5d5b6cb5e2
format:uuid
restricted
PII
|
|
|
memberName
|
string |
Name of a user
metadata:{'tags': [{'name': 'Security.PII', 'description': 'This data field contains Personal Identifiable Information (PII)', 'externalDocs': {}}]}
|
|
memberData
|
string |
Data of a user
|
|
MemberEvent
object
A dummy member event
topics: [{'name': 'local.dkt-member.streaming.private.cdc.member-event.v1.avro', 'compatibility': 'FULL_TRANSITIVE'}, {'name': 'local.dkt-member.streaming.private.fact.demo-member-event.v1.avro', 'compatibility': 'FULL_TRANSITIVE'}, {'name': 'local.dkt-member.streaming.mirrored.fact.demo-member-event.v1.avro', 'compatibility': 'FULL_TRANSITIVE'}, {'name': 'local.dkt-member.streaming.private.stream.demo-member-event.v1.avro', 'compatibility': 'FULL_TRANSITIVE'}, {'name': 'local.dkt-member.streaming.public.fact.demo-member-event.v2.avro', 'compatibility': 'FULL_TRANSITIVE'}, {'name': 'local.dkt-member.streaming.public.fact.demo-member-event.v2.avro-retry-0', 'compatibility': 'FULL_TRANSITIVE'}, {'name': 'local.dkt-member.streaming.public.fact.demo-member-event.v2.avro-retry-1', 'compatibility': 'FULL_TRANSITIVE'}, {'name': 'local.dkt-member.streaming.public.fact.demo-member-event.v2.avro-DLQ', 'compatibility': 'FULL_TRANSITIVE'}]
|
||
|---|---|---|
| string |
Unique identifier of a member
Examples:
243c25e5-a081-43a9-aeab-6d5d5b6cb5e2
format:uuid
restricted
PII
|
|
|
memberName
|
string |
Name of a user
metadata:{'tags': [{'name': 'Security.PII', 'description': 'This data field contains Personal Identifiable Information (PII)', 'externalDocs': {}}]}
|
|
memberData
|
string |
Data of a user
|
|
localTimestamp
|
timestamp |
The local timestamp when the event occurred
required
|
|
booleanField
|
boolean |
A boolean flag indicating a true or false value
required
|
|
intField
|
int |
An integer field typically used for numerical values
required
|
|
longField
|
long |
A long integer field for larger numerical values
required
|
|
doubleField
|
double |
A double-precision floating-point field for decimal values
required
|
|
stringField
|
string |
A string field for textual data
required
|
|
arrayField
|
array |
An array field consisting of a list of strings
required
|
|
↳
items
|
string |
No description
|
|
recordField
|
object |
No description
required
name:NestedRecord
|
|
↳
nestedStringField
|
string |
A nested string field within the record
required
|
|
↳
nestedIntField
|
int |
A nested integer field within the record
required
|
|
nullableLocalTimestamp
|
timestamp |
The local timestamp when the event occurred, which can be null
|
|
nullableBooleanField
|
boolean |
A boolean flag indicating a true or false value, which can be null
|
|
nullableIntField
|
int |
An integer field typically used for numerical values, which can be null
|
|
nullableLongField
|
long |
A long integer field for larger numerical values, which can be null
|
|
nullableDoubleField
|
double |
A double-precision floating-point field for decimal values, which can be null
|
|
nullableStringField
|
string |
A string field for textual data, which can be null
|
|
nullableArrayField
|
array |
An array field consisting of a list of strings, which can be null
|
|
↳
items
|
string |
No description
|
|
nullableRecordField
|
record |
A complex field containing nested data, which can be null
name:NullableNestedRecord
|
|
↳
nullableNestedStringField
|
string |
A nested string field within the record, which can be null
|
|
↳
nullableNestedIntField
|
int |
A nested integer field within the record, which can be null
|
|
EnumFieldType
enumField |
string |
A enum field with UNKNOWN as default value, which can be null
Enum:
VALUE_1,
VALUE_2,
UNKNOWN
required
|
|
decimalField
|
decimal |
A decimal field with scale and precision, which can be null
precision:38
scale:4
|
|
mainExternalReference
|
com.decathlon.member.streaming.domain.avro.v1.ExternalReference |
A reference to an external type which can be null
|
|
secondaryExternalReferences
|
array |
set of reference to an external resource, which can be null
|
|
↳
items
|
com.decathlon.member.streaming.domain.avro.v1.ExternalReference |
No description
|
Definitions
Domain specific definitions in the data contract
|
memberId
Unique identifier
|
||
|---|---|---|
|
memberId
|
string |
Unique identifier
Examples:
243c25e5-a081-43a9-aeab-6d5d5b6cb5e2
format:uuid
restricted
PII
required:False
config:{'avroType': 'string', 'avroLogicalType': 'uuid', 'avroDefault': None}
|
Service Levels
Service levels of the data contract
- Description
- Data is retained for 7 days
- Period
- 7d
Retention
Created at 09 Jul 2026 10:21:04 UTC with Data Contract CLI v0.10.35