Gegevens voor stroomrecord streamen met API's voor streaming insluiting
Deze zelfstudie helpt u bij het gebruik van streaming opname-API's, onderdeel van de Adobe Experience Platform Data Ingestion Service API's.
Aan de slag
Deze zelfstudie vereist een praktische kennis van verschillende Adobe Experience Platform-services. Voordat u met deze zelfstudie begint, raadpleegt u de documentatie voor de volgende services:
- Experience Data Model (XDM): Het gestandaardiseerde framework waarmee Platform ervaringsgegevens ordent.
- de ontwikkelaarsgids van de Registratie van het Schema: Een uitvoerige gids die elk van de beschikbare eindpunten van Schema Registry API behandelt en hoe te om vraag aan hen te maken. Dit omvat het kennen van uw
{TENANT_ID}
, die in vraag door dit leerprogramma verschijnt, evenals het weten hoe te om schema's tot stand te brengen, die in het creëren van een dataset voor opname wordt gebruikt.
- de ontwikkelaarsgids van de Registratie van het Schema: Een uitvoerige gids die elk van de beschikbare eindpunten van Schema Registry API behandelt en hoe te om vraag aan hen te maken. Dit omvat het kennen van uw
- Real-Time Customer Profile: biedt een uniform, consumentenprofiel in real-time op basis van geaggregeerde gegevens van meerdere bronnen.
Platform-API's gebruiken
Voor informatie over hoe te om vraag aan Platform APIs met succes te maken, zie de gids op begonnen wordt met Platform APIs.
Een schema samenstellen dat is gebaseerd op de klasse XDM Individual Profile
Om een dataset tot stand te brengen, zult u eerst een nieuw schema moeten creëren dat de XDM Individual Profile klasse uitvoert. Voor meer informatie over hoe te om schema's tot stand te brengen, te lezen gelieve de gids van de ontwikkelaar van de Registratie API van het Schema.
API formaat
POST /schemaregistry/tenant/schemas
Verzoek
curl -X POST https://platform.adobe.io/data/foundation/schemaregistry/tenant/schemas \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'Content-Type: application/json' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-d '{
"type": "object",
"title": "Sample schema",
"description": "Sample description",
"allOf": [
{
"$ref": "https://ns.adobe.com/xdm/context/profile"
},
{
"$ref": "https://ns.adobe.com/xdm/context/profile-person-details"
},
{
"$ref": "https://ns.adobe.com/xdm/context/profile-work-details"
}
],
"meta:immutableTags": [
"union"
]
}'
title
description
meta:immutableTags
union
gebruikt om uw gegevens in Real-Time Customer Profile te behouden.Reactie
Een succesvolle reactie keert status 201 van HTTP met details van uw onlangs gecreeerd schema terug.
{
"$id": "https://ns.adobe.com/{TENANT_ID}/schemas/{SCHEMA_ID}",
"meta:altId": "_{TENANT_ID}.schemas.{SCHEMA_ID}",
"meta:resourceType": "schemas",
"version": "1.0",
"type": "object",
"title": "Sample schema",
"description": "Sample description",
"allOf": [
{
"$ref": "https://ns.adobe.com/xdm/context/profile"
},
{
"$ref": "https://ns.adobe.com/xdm/context/profile-person-details"
},
{
"$ref": "https://ns.adobe.com/xdm/context/profile-work-details"
}
],
"meta:class": "https://ns.adobe.com/xdm/context/profile",
"meta:abstract": false,
"meta:extensible": false,
"meta:extends": [
"https://ns.adobe.com/xdm/context/profile",
"https://ns.adobe.com/xdm/data/record",
"https://ns.adobe.com/xdm/cpmtext/identitymap",
"https://ns.adobe.com/xdm/common/extensible",
"https://ns.adobe.com/xdm/common/auditable",
"https://ns.adobe.com/xdm/context/profile-person-details",
"https://ns.adobe.com/xdm/context/profile-work-details"
],
"meta:immutableTags": [
"union"
],
"meta:containerId": "tenant",
"imsOrg": "{ORG_ID}",
"meta:xdmType": "object",
"meta:registryMetadata": {
"repo:createDate": 1551376506996,
"repo:lastModifiedDate": 1551376506996,
"xdm:createdClientId": "{CLIENT_ID}",
"xdm:repositoryCreatedBy": "{CREATED_BY}"
}
}
{TENANT_ID}
Let op de attributen $id
en version
, aangezien beide worden gebruikt bij het maken van uw dataset.
Een primaire identiteitsdescriptor instellen voor het schema
Daarna, voeg een identiteitsbeschrijveraan het hierboven gecreeerd schema toe, gebruikend het werk e-mailadresattribuut als primaire herkenningsteken. Dit leidt tot twee wijzigingen:
-
Het werk-e-mailadres wordt een verplicht veld. Dit betekent dat berichten die zonder dit veld worden verzonden, niet worden gevalideerd en niet worden ingevoerd.
-
Real-Time Customer Profile gebruikt het werk-e-mailadres als id om meer informatie over die persoon te koppelen.
Verzoek
curl -X POST https://platform.adobe.io/data/foundation/schemaregistry/tenant/descriptors \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'Content-Type: application/json' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-d '{
"@type":"xdm:descriptorIdentity",
"xdm:sourceProperty":"/workEmail/address",
"xdm:property":"xdm:code",
"xdm:isPrimary":true,
"xdm:namespace":"Email",
"xdm:sourceSchema":"{SCHEMA_REF_ID}",
"xdm:sourceVersion":1
}
{SCHEMA_REF_ID}
$id
die u eerder hebt ontvangen toen u het schema samenstelde. Het moet er ongeveer als volgt uitzien: "https://ns.adobe.com/{TENANT_ID}/schemas/{SCHEMA_ID}"
Reactie
Een geslaagde reactie retourneert HTTP-status 201 met informatie over de nieuwe primaire identiteitsdescriptor voor het schema.
{
"xdm:property": "xdm:code",
"xdm:sourceSchema": "https://ns.adobe.com/{TENANT_ID}/schemas/{SCHEMA_ID}",
"xdm:namespace": "Email",
"@type": "xdm:descriptorIdentity",
"xdm:sourceVersion": 1,
"xdm:isPrimary": true,
"xdm:sourceProperty": "/workEmail/address",
"@id": "17aaebfa382ce8fc0a40d3e43870b6470aab894e1c368d16",
"meta:containerId": "tenant",
"version": "1",
"imsOrg": "{ORG_ID}"
}
Een gegevensset maken voor recordgegevens
Zodra u uw schema hebt gecreeerd, zult u een dataset moeten tot stand brengen om verslaggegevens in te voeren.
API formaat
POST /catalog/dataSets
Verzoek
curl -X POST https://platform.adobe.io/data/foundation/catalog/dataSets \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'Content-Type: application/json' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-d ' {
"name": "Dataset name",
"description": "Dataset description",
"schemaRef": {
"id": "https://ns.adobe.com/{TENANT_ID}/schemas/{SCHEMA_ID},
"contentType": "application/vnd.adobe.xed-full+json;version=1"
},
"tags": {
"unifiedIdentity": ["enabled:true"],
"unifiedProfile": ["enabled:true"]
}
}'
Reactie
Een geslaagde reactie retourneert HTTP-status 201 en een array met de id van de nieuwe dataset in de indeling @/dataSets/{DATASET_ID}
.
[
"@/dataSets/5e30d7986c0cc218a85cee65
]
Een streamingverbinding maken
Na het creëren van uw schema en dataset, kunt u een het stromen verbinding tot stand brengen
Voor meer informatie bij het creëren van een het stromen verbinding, te lezen gelieve een het stromen verbindingsleerprogrammacreëren.
Recordgegevens opnemen in de streamingverbinding ingest-data
Met de gegevensset en streamingverbinding op zijn plaats kunt u JSON-records met XDM-indeling invoeren om recordgegevens in Platform in te voeren.
API formaat
POST /collection/{CONNECTION_ID}?syncValidation=true
{CONNECTION_ID}
inletId
-waarde van de eerder gemaakte streamingverbinding.syncValidation
true
, kan dit worden gebruikt voor directe feedback om te bepalen of de aanvraag is verzonden. Deze waarde wordt standaard ingesteld op false
. Houd er rekening mee dat als u deze queryparameter instelt op true
, de snelheid van de aanvraag beperkt blijft tot 60 keer per minuut per CONNECTION_ID
.Verzoek
U kunt recordgegevens met of zonder de bronnaam in een streamingverbinding invoegen.
In de onderstaande voorbeeldaanvraag wordt een record met een ontbrekende bronnaam opgenomen in Platform. Als de bronnaam van een record ontbreekt, wordt de bron-id toegevoegd uit de definitie van de streamingverbinding.
curl -X POST https://dcs.adobedc.net/collection/{CONNECTION_ID}?syncValidation=true \
-H "Cache-Control: no-cache" \
-H "Content-Type: application/json" \
-d '{
"header": {
"schemaRef": {
"id": "https://ns.adobe.com/{TENANT_ID}/schemas/{SCHEMA_ID}",
"contentType": "application/vnd.adobe.xed-full+json;version=1"
},
"imsOrgId": "{ORG_ID}",
"datasetId": "{DATASET_ID}",
"flowId": "{FLOW_ID}",
},
"body": {
"xdmMeta": {
"schemaRef": {
"id": "https://ns.adobe.com/{TENANT_ID}/schemas/{SCHEMA_ID}",
"contentType": "application/vnd.adobe.xed-full+json;version=1"
}
},
"xdmEntity": {
"person": {
"name": {
"firstName": "Jane",
"middleName": "F",
"lastName": "Doe"
},
"birthDate": "1969-03-14",
"gender": "female"
},
"workEmail": {
"primary": true,
"address": "janedoe@example.com",
"type": "work",
"status": "active"
}
}
}
}'
Als u een bronnaam wilt omvatten, toont het volgende voorbeeld hoe u het zou omvatten.
"header": {
"schemaRef": {
"id": "https://ns.adobe.com/{TENANT_ID}/schemas/{SCHEMA_ID}",
"contentType": "application/vnd.adobe.xed-full+json;version=1"
},
"imsOrgId": "{ORG_ID}",
"datasetId": "{DATASET_ID}",
"source": {
"name": "Sample source name"
}
}
Reactie
Een geslaagde reactie retourneert HTTP-status 200 met details van het net gestreamde bestand Profile .
{
"inletId": "{CONNECTION_ID}",
"xactionId": "1584479347507:2153:240",
"receivedTimeMs": 1584479347507,
"syncValidation": {
"status": "pass"
}
}
{CONNECTION_ID}
xactionId
receivedTimeMs
syncValidation.status
syncValidation=true
is toegevoegd, wordt deze waarde weergegeven. Als de validatie is gelukt, is de status pass
.De nieuw opgenomen recordgegevens ophalen
Als u de eerder opgenomen records wilt valideren, gebruikt u de Profile Access API om de recordgegevens op te halen.
schema.name
of relatedSchema.name
is _xdm.context.profile
, Profile Access zal alle verwante identiteiten halen.API formaat
GET /access/entities
GET /access/entities?{QUERY_PARAMETERS}
GET /access/entities?schema.name=_xdm.context.profile&entityId=janedoe@example.com&entityIdNS=email
schema.name
entityId
entityIdNS
Verzoek
U kunt de eerder opgenomen recordgegevens met de volgende GET-aanvraag bekijken.
curl -X GET 'https://platform.adobe.io/data/core/ups/access/entities?schema.name=_xdm.context.profile&entityId=janedoe@example.com&entityIdNS=email'\
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}'
Reactie
Een geslaagde reactie retourneert HTTP status 200 met details over de aangevraagde entiteiten. Zoals u kunt zien, is dit dezelfde record die eerder met succes is opgenomen.
{
"BVrqzwVv7o2p3naHvnsWpqZXv3KJgA": {
"entityId": "BVrqzwVv7o2p3naHvnsWpqZXv3KJgA",
"mergePolicy": {
"id": "e161dae9-52f0-4c7f-b264-dc43dd903d56"
},
"sources": [
"5e30d7986c0cc218a85cee65"
],
"tags": [
"1580346827274:2478:215"
],
"identityGraph": [
"BVrqzwVv7o2p3naHvnsWpqZXv3KJgA"
],
"entity": {
"person": {
"name": {
"lastName": "Doe",
"middleName": "F",
"firstName": "Jane"
},
"gender": "female",
"birthDate": "1969-03-14"
},
"workEmail": {
"type": "work",
"address": "janedoe@example.com",
"status": "active",
"primary": true
},
"identityMap": {
"email": [
{
"id": "janedoe@example.com"
}
]
}
},
"lastModifiedAt": "2020-01-30T01:13:59Z"
}
}
Volgende stappen
Door dit document te lezen, begrijpt u nu hoe u recordgegevens via streamingverbindingen in Platform kunt opnemen. U kunt proberen meer vraag met verschillende waarden te maken en de bijgewerkte waarden terug te winnen. Bovendien kunt u uw ingesloten gegevens controleren via de gebruikersinterface van Platform . Voor meer informatie, te lezen gelieve de controle gegevensopnamegids.
Voor meer informatie over het stromen ingestie in het algemeen, te lezen gelieve het stromen ingestitieoverzicht.