Diagnostische gegevens voor gegevensinvoer ophalen
Adobe Experience Platform biedt twee methoden voor het uploaden en opnemen van gegevens. U kunt batch-opname gebruiken, waarmee u gegevens kunt invoegen met verschillende bestandstypen (zoals CSV's) of streaming opname, waardoor u de gegevens in Platform kunt invoegen met streaming eindpunten in real-time.
Dit document bevat informatie over het controleren van batch-inname, het beheren van fouten bij gedeeltelijke batch-inname en een verwijzing naar typen partiële batch-inname.
Aan de slag
Deze handleiding vereist een goed begrip van de volgende onderdelen van Adobe Experience Platform:
- Experience Data Model (XDM) System: Het gestandaardiseerde framework waarmee Experience Platform gegevens voor de klantervaring indeelt.
- Adobe Experience Platform Data Ingestion: de methoden waarmee gegevens naar Experience Platform kunnen worden verzonden.
API-voorbeeldaanroepen lezen
Deze zelfstudie biedt voorbeeld-API-aanroepen om aan te tonen hoe uw verzoeken moeten worden opgemaakt. Dit zijn paden, vereiste kopteksten en correct opgemaakte ladingen voor aanvragen. Voorbeeld-JSON die wordt geretourneerd in API-reacties, wordt ook verschaft. Voor informatie over de overeenkomsten die in documentatie voor steekproef API vraag worden gebruikt, zie de sectie op hoe te om voorbeeld API vraagin de Experience Platform het oplossen van problemengids te lezen.
Waarden verzamelen voor vereiste koppen
Om vraag aan Platform APIs te maken, moet u het authentificatieleerprogrammaeerst voltooien. Als u de zelfstudie over verificatie voltooit, krijgt u de waarden voor elk van de vereiste headers in alle API-aanroepen van Experience Platform , zoals hieronder wordt getoond:
Authorization: Bearer {ACCESS_TOKEN}
x-api-key: {API_KEY}
x-gw-ims-org-id: {ORG_ID}
Alle bronnen in Experience Platform, inclusief de bronnen die tot de Schema Registry behoren, zijn geïsoleerd naar specifieke virtuele sandboxen. Alle aanvragen naar Platform API's vereisen een header die de naam van de sandbox opgeeft waarin de bewerking plaatsvindt:
x-sandbox-name: {SANDBOX_NAME}
Foutendiagnostiek downloaden download-diagnostics
Met Adobe Experience Platform kunnen gebruikers de foutdiagnose van de invoerbestanden downloaden. De diagnostiek blijft maximaal 30 dagen binnen Platform.
Invoerbestanden weergeven list-files
Het volgende verzoek wint een lijst van alle dossiers terug die in een gefinaliseerde partij worden verstrekt.
API formaat
GET /batches/{BATCH_ID}/meta?path=input_files
{BATCH_ID}
Verzoek
curl -X GET https://platform.adobe.io/data/foundation/export/batches/af838510-2233-11ea-acf0-f3edfcded2d2/meta?path=input_files \
-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 succesvolle reactie retourneert JSON-objecten waarin wordt aangegeven waar de diagnostiek is opgeslagen.
{
"_page": {
"count": 1,
"limit": 100
},
"data": [
{
"_links": {
"self": {
"href": "https://platform.adobe.io/data/foundation/export/batches/af838510-2233-11ea-acf0-f3edfcded2d2/meta?path=input_files/fileMetaData1.json"
}
},
"length": "1337",
"name": "fileMetaData1.json"
},
{
"_links": {
"self": {
"href": "https://platform.adobe.io/data/foundation/export/batches/af838510-2233-11ea-acf0-f3edfcded2d2}/meta?path=input_files/fileMetaData2.json"
}
},
"length": "1042",
"name": "fileMetaData2.json"
}
]
}
Diagnostiek van invoerbestanden ophalen retrieve-diagnostics
Nadat u een lijst met alle verschillende invoerbestanden hebt opgehaald, kunt u de diagnostiek van het afzonderlijke bestand ophalen met de volgende aanvraag.
API formaat
GET /batches/{BATCH_ID}/meta?path=input_files/{FILE}
{BATCH_ID}
{FILE}
Verzoek
curl -X GET https://platform.adobe.io/data/foundation/export/batches/af838510-2233-11ea-acf0-f3edfcded2d2/meta?path=input_files/fileMetaData1.json \
-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 succesvol antwoord retourneert JSON-objecten die path
-objecten bevatten waarin wordt aangegeven waar de diagnostiek is opgeslagen. De reactie zal de path
voorwerpen in JSON Lijnenformaat terugkeren.
{"path": "F1.json"}
{"path": "etc/F2.json"}
Fouten bij het ophalen van de batch retrieve-errors
Als de partijen mislukkingen bevatten, zou u fouteninformatie over deze mislukkingen moeten terugwinnen zodat kunt u de gegevens opnieuw opnemen.
Status controleren check-status
Als u de status van de ingesloten batch wilt controleren, moet u de id van de batch opgeven in het pad van een GET-aanvraag. Om meer over het gebruiken van deze API vraag te leren, te lezen gelieve de gids van het cataloguseindpunt.
API formaat
GET /catalog/batches/{BATCH_ID}
GET /catalog/batches/{BATCH_ID}?{FILTER}
{BATCH_ID}
id
-waarde van de batch waarvan u de status wilt controleren.{FILTER}
&
). Voor meer informatie, te lezen gelieve de gids over het filtreren gegevens van de Catalogus.Verzoek
curl -X GET https://platform.adobe.io/data/foundation/catalog/batches/af838510-2233-11ea-acf0-f3edfcded2d2 \
-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 zonder fouten
Een geslaagde reactie retourneert met gedetailleerde informatie over de status van de batch.
{
"af838510-2233-11ea-acf0-f3edfcded2d2": {
"status": "success",
"tags": {
"acp_enableErrorDiagnostics": true,
"acp_partialIngestionPercent": 5
},
"relatedObjects": [
{
"type": "dataSet",
"id": "5deac2648a19d218a888d2b1"
}
],
"id": "af838510-2233-11ea-acf0-f3edfcded2d2",
"externalId": "af838510-2233-11ea-acf0-f3edfcded2d2",
"inputFormat": {
"format": "parquet"
},
"imsOrg": "{ORG_ID}",
"started": 1576741718543,
"metrics": {
"inputByteSize": 568,
"inputFileCount": 4,
"inputRecordCount": 519,
"outputRecordCount": 497,
"failedRecordCount": 0
},
"completed": 1576741722026,
"created": 1576741597205,
"createdClient": "{API_KEY}",
"createdUser": "{USER_ID}",
"updatedUser": "{USER_ID}",
"updated": 1576741722644,
"version": "1.0.5"
}
}
metrics.failedRecordCount
inputRecordCount
van outputRecordCount
af te trekken. Deze waarde wordt op alle batches gegenereerd, ongeacht of errorDiagnostics
is ingeschakeld.Reactie met fouten
Als de partij één of meerdere fouten heeft en toegelaten foutendiagnostiek heeft, keert de reactie meer informatie over de fouten, zowel binnen de nuttige lading zelf als een downloadbaar foutendossier terug. De status van een batch met fouten kan nog steeds succesvol zijn.
{
"01E8043CY305K2MTV5ANH9G1GC": {
"status": "success",
"tags": {
"acp_enableErrorDiagnostics": true,
"acp_partialIngestionPercent": 5
},
"relatedObjects": [
{
"type": "dataSet",
"id": "5deac2648a19d218a888d2b1"
}
],
"id": "01E8043CY305K2MTV5ANH9G1GC",
"externalId": "01E8043CY305K2MTV5ANH9G1GC",
"inputFormat": {
"format": "parquet"
},
"imsOrg": "{ORG_ID}",
"started": 1576741718543,
"metrics": {
"inputByteSize": 568,
"inputFileCount": 4,
"inputRecordCount": 519,
"outputRecordCount": 514,
"failedRecordCount": 5
},
"completed": 1576741722026,
"created": 1576741597205,
"createdClient": "{API_KEY}",
"createdUser": "{USER_ID}",
"updatedUser": "{USER_ID}",
"updated": 1576741722644,
"version": "1.0.5",
"errors": [
{
"code": "INGEST-1212-400",
"description": "Encountered 5 errors in the data. Successfully ingested 514 rows. Please review the associated diagnostic files for more details."
},
{
"code": "INGEST-1401-400",
"description": "The row has corrupted data and cannot be read or parsed. Fix the corrupted data and try again.",
"recordCount": 2
},
{
"code": "INGEST-1555-400",
"description": "A required field is either missing or has a value of null. Add the required field to the input row and try again.",
"recordCount": 3
}
]
}
}
metrics.failedRecordCount
inputRecordCount
van outputRecordCount
af te trekken. Deze waarde wordt op alle batches gegenereerd, ongeacht of errorDiagnostics
is ingeschakeld.errors.recordCount
errorDiagnostics
wordt toegelaten.code language-json |
---|
|
Volgende stappen next-steps
Deze zelfstudie besprak hoe u fouten met gedeeltelijke inname van batch kunt controleren. Voor meer informatie over partijingestie, te lezen gelieve de gids van de partijontwikkelaar.
Bijlage appendix
Deze sectie verstrekt aanvullende informatie over de types van inname fout.
Typen fout bij gedeeltelijk in batch opnemen partial-ingestion-types
Gedeeltelijke batch-opname heeft drie verschillende fouttypen bij het invoeren van gegevens:
Onleesbare bestanden unreadable
Als de ingesloten batch onleesbare bestanden bevat, worden de fouten van de batch toegevoegd aan de batch zelf. Meer informatie bij het terugwinnen van de ontbroken partij kan in worden gevonden het terugwinnen ontbroken partijgids.
Ongeldige schema's of kopteksten schemas-headers
Als de partij ingesloten een ongeldig schema of ongeldige kopballen heeft, zullen de fouten van de partij op de partij zelf worden vastgemaakt. Meer informatie bij het terugwinnen van de ontbroken partij kan in worden gevonden het terugwinnen ontbroken partijgids.
Onscheidbare rijen unparsable
Als de batch die u hebt ingevoegd onscheidbare rijen bevat, kunt u de volgende aanvraag gebruiken om een lijst weer te geven met bestanden die fouten bevatten.
API formaat
GET /export/batches/{BATCH_ID}/meta?path=row_errors
{BATCH_ID}
id
-waarde van de batch waarvan u foutgegevens ophaalt.Verzoek
curl -X GET https://platform.adobe.io/data/foundation/export/batches/01EFZ7W203PEKSAMVJC3X99VHQ/meta?path=row_errors \
-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 een lijst met bestanden met fouten.
{
"data": [
{
"name": "conversion_errors_0.json",
"length": "1162",
"_links": {
"self": {
"href": "https://platform.adobe.io:443/data/foundation/export/batches/01EFZ7W203PEKSAMVJC3X99VHQ/meta?path=row_errors%2Fconversion_errors_0.json"
}
}
},
{
"name": "parsing_errors_0.json",
"length": "153",
"_links": {
"self": {
"href": "https://platform.adobe.io:443/data/foundation/export/batches/01EFZ7W203PEKSAMVJC3X99VHQ/meta?path=row_errors%2Fparsing_errors_0.json"
}
}
}
],
"_page": {
"limit": 100,
"count": 2
}
}
U kunt gedetailleerde informatie over de fouten dan terugwinnen gebruikend het diagnostische herwinningseindpunt.
Hieronder ziet u een voorbeeldreactie van het ophalen van het foutbestand:
{
"_corrupt_record": "{missingQuotes: 'v1'}",
"_errors": [{
"code": "1401",
"message": "Row is corrupted and cannot be read, please fix and resend."
}],
"_filename": "parsing_errors_0.json"
}