Den här dokumentationen hjälper dig att svara på vanliga frågor om Adobe Experience Platform Batch Data Ingestion API:er.
The 200 OK
svar från API:t innebär att batchen har godkänts för bearbetning - den är inte aktiv förrän den övergår till det slutliga tillståndet, till exempel Aktiv eller Fel.
Ja - det är säkert att försöka köra API-anropet igen. Trots felet är det möjligt att åtgärden lyckades och att batchen accepterades. Klienter förväntas dock ha återförsöksfunktioner om API-fel uppstår, och de uppmuntras att försöka igen. Om åtgärden lyckades returneras API:t, även efter nya försök.
Den rekommenderade filstorleken för API:t för stor filöverföring är 256 MB eller större. Mer information om hur du använder API:t för stor filöverföring finns här.
Om segment av en stor fil hittas som överlappar eller saknas svarar servern med en felaktig HTTP 400-begäran. Detta kan inträffa eftersom det är möjligt att överföra överlappande segment, eftersom intervallvalideringar görs när filen slutförs, när filen sammanfogas.
För närvarande stöds både Parquet och JSON. CSV stöds i äldre versioner - data kommer att befordras till överordnad och preliminära kontroller, men inga moderna funktioner som konvertering, partitionering eller radvalidering kommer att stödjas.
Indataformatet ska anges när gruppen skapas i nyttolasten. Ett exempel på hur du anger batchindataformatet finns nedan:
curl -X POST "https://platform.adobe.io/data/foundation/import/batches" \
-H "accept: application/json" \
-H "x-gw-ims-org-id: {ORG_ID}" \
-H "Authorization: Bearer {ACCESS_TOKEN}" \
-H "x-api-key: {API_KEY}"
-d '{
"datasetId": "{DATASET_ID}",
"inputFormat": {
"format": "json"
}
}'
För att data ska kunna visas i datauppsättningen måste gruppen markeras som slutförd. Alla filer som du vill importera måste överföras innan du kan markera gruppen som slutförd. Ett exempel på hur du markerar en batch som slutförd visas nedan:
curl -X POST "https://platform.adobe.io/data/foundation/import/batches/{BATCH_ID}?action=COMPLETE" \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-sandbox-name: {SANDBOX_NAME}'
Om du vill importera flerradig JSON, isMultiLineJson
Flagga måste anges när gruppen skapas. Ett exempel på detta visas nedan:
curl -X POST "https://platform.adobe.io/data/foundation/import/batches" \
-H "accept: application/json" \
-H "x-gw-ims-org-id: {ORG_ID}" \
-H "Authorization: Bearer {ACCESS_TOKEN}" \
-H "x-api-key: {API_KEY}"
-d '{
"datasetId": "{DATASET_ID}",
"inputFormat": {
"format": "json",
"isMultiLineJson": true
}
}'
För JSON-rader finns det ett JSON-objekt per rad. Exempel:
{"string":"string1","int":1,"array":[1,2,3],"dict": {"key": "value1"}}
{"string":"string2","int":2,"array":[2,4,6],"dict": {"key": "value2"}}
{"string":"string3","int":3,"array":[3,6,9],"dict": {"key": "value3", "extra_key": "extra_value3"}}
För JSON med flera rader kan ett objekt uppta flera rader, medan alla objekt kapslas in i en JSON-array. Exempel:
[
{"string":"string1","int":1,"array":[1,2,3],"dict": {"key": "value1"}},
{"string":"string2","int":2,"array":[2,4,6],"dict": {"key": "value2"}},
{
"string": "string3",
"int": 3,
"array": [
3,
6,
9
],
"dict": {
"key": "value3",
"extra_key": "extra_value3"
}
}
]
Som standard Batch Data Ingestion använder enkelradig JSON.
CSV-inmatning stöds bara för platta scheman. Inmatning av hierarkiska data i CSV stöds för närvarande inte.
För att få alla dataöverföringsfunktioner måste formaten JSON och Parquet användas.
Det finns tre valideringsnivåer för data:
En inkapslad batch kan ersättas med funktionen Uppspelning i grupp. Mer information om batchrepriser finns här.
När en batch har signalerats för batchbefordran kan batchbearbetningsförloppet övervakas med följande begäran:
curl -X GET "https://platform.adobe.io/data/foundation/catalog/batches/{BATCH_ID}" \
-H "x-gw-ims-org-id: {ORG_ID}" \
-H "Authorization: Bearer {ACCESS_TOKEN}" \
-H "x-api-key: {API_KEY}"
Med den här förfrågan får du ett svar som liknar detta:
200 OK
{
"{BATCH_ID}":{
"imsOrg":"{ORG_ID}",
"created":1494349962314,
"createdClient":"{API_KEY}",
"createdUser":"{USER_ID}",
"updatedUser":"{USER_ID}",
"completed":1494349963467,
"externalId":"{EXTERNAL_ID}",
"status":"staging",
"errors":[],
}
}
En batch kan i sin livscykel gå igenom följande lägen:
Status | Data skrivna till Överordnad | Beskrivning |
---|---|---|
Övergiven | Klienten kunde inte slutföra batchen inom den förväntade tidsramen. | |
Avbruten | Klienten har explicit anropat via Batch Data Ingestion API:er, en avbrottsåtgärd för den angivna gruppen. När en batch är i inläst tillstånd kan gruppen inte avbrytas. | |
Aktiv/Slutförd | x | Batchen har befordrats från fas till överordnad och är nu tillgänglig för nedladdning. Obs! Aktiv och Slutfört används omväxlande. |
Arkiverad | Batchen har arkiverats i kylförvaring. | |
Misslyckades/misslyckades | Ett terminaltillstånd som antingen beror på felaktig konfiguration och/eller felaktiga data. Ett åtgärdbart fel registreras, tillsammans med gruppen, så att klienter kan korrigera och skicka data igen. Obs! Misslyckades och Misslyckades används omväxlande. | |
Inaktiv | x | Batchen befordrades, men har antingen återställts eller gått ut. Batchen kommer inte längre att vara tillgänglig för nedströmsförbrukning, men underliggande data kommer att vara Överordnad tills de har sparats, arkiverats eller på annat sätt tagits bort. |
Läser in | Klienten skriver för närvarande data för gruppen. Batchen är not redo för befordran, nu. | |
Inläst | Klienten har slutfört skrivningen av data för batchen. Batchen är klar för befordran. | |
Bevarad | Data har tagits bort från Överordnad och i ett särskilt arkiv i Adobe Data Lake. | |
Mellanlagring | Klienten har signalerat batchen för befordran och data mellanlagras för förbrukning nedströms. | |
Försöker igen | Klienten har signalerat batchen för befordran, men på grund av ett fel görs ett nytt försök att bearbeta batchen av en tjänst för batchövervakning. Det här läget kan användas för att tala om för kunderna att det kan dröja med inhämtningen av data. | |
Stängd | Klienten har signalerat batchen för befordran, men efter n försök av en batchövervakningstjänst har batchkampanjen avstannat. |
När en batch är i"Förproduktion" innebär det att batchen har signalerats för befordran och att data mellanlagras för förbrukning nedströms.
När en batch är i "Försöker igen" betyder det att batchens dataintag tillfälligt har stoppats på grund av tillfälliga problem. När detta händer behöver kunden inte göra något.
När en batch är i "Staplad" betyder det att Data Ingestion Services har problem med att importera batchen och alla återförsök har uttömts.
När en batch är i"Loading" betyder det att API:t CompleteBatch inte har anropats för att befordra gruppen.
När batchstatusen är Aktiv har batchen importerats. Följ de detaljerade stegen för att ta reda på batchstatus tidigare.
När en batch misslyckas kan orsaken till att den misslyckas identifieras i errors
nyttolastens sektion. Exempel på fel finns nedan:
"errors":[
{
"code":"106",
"description":"Dataset file is empty. Please upload file with data.",
"rows":[]
},
{
"code":"118",
"description":"CSV file contains empty header row.",
"rows":[]
}
]
När felen har korrigerats kan batchen överföras igen.
Istället för att ta bort direkt från Catalogbör satser tas bort med någon av metoderna nedan:
Följande batchnivåmått är tillgängliga för batchar i tillståndet Aktiv/Slutfört:
Mått | Beskrivning |
---|---|
inputByteSize | Det totala antalet byte som mellanlagrats för Data Ingestion Services att bearbeta. |
inputRecordSize | Det totala antalet rader som mellanlagrats för Data Ingestion Services att bearbeta. |
outputByteSize | Det totala antalet byte som skickats ut av Data Ingestion Services till Data Lake. |
outputRecordSize | Det totala antalet rader som matats ut av Data Ingestion Services till Data Lake. |
partitionCount | Det totala antalet partitioner som skrivs till Data Lake. |
Det finns två anledningar till att mätvärden kanske inte är tillgängliga i din batch:
Statuskod | Beskrivning |
---|---|
106 | Datauppsättningsfilen är tom. |
118 | CSV-filen innehåller en tom rubrikrad. |
200 | Batchen har godkänts för bearbetning och kommer att övergå till ett slutligt tillstånd, till exempel Aktiv eller Misslyckad. När batchen har skickats kan den övervakas med GetBatch slutpunkt. |
400 | Felaktig begäran. Returneras om det finns några segment som saknas eller överlappar varandra i en grupp. |