Zum Hauptinhalt springen

Fortschritt des Uploads mit Subscriptions verfolgen

Nachdem Sie eine Datei an die vorab signierte S3-URL hochgeladen haben, verarbeitet die Plattform sie asynchron weiter.

Verwenden Sie subscribeUserFeed, um Echtzeit-Upload-Ereignisse zu erhalten, anstatt zu polling.

Für das allgemeine Ereignisschema siehe Subscription Event Format.

Feed und Kategorie

Upload-Ereignisse werden übermittelt auf:

  • subscribeUserFeed

Sie verwenden:

  • category: "upload"

Ereignisnamen

Die Upload-Verarbeitung sendet eine Reihe von Ereignissen wie:

  • uploadScanned
  • uploadTypeChecked
  • uploadConverting
  • uploadFlattened
  • uploadTagsParsed
  • uploadPdfMetaExtracted
  • uploadCompleted
  • uploadFailed

Upload-Ereignis-Payload

Upload-Payloads verwenden diese Grundstruktur:

{
"version": "1.0",
"eventId": "evt...",
"timestamp": "2026-04-24T10:38:36.822Z",
"level": "INFO",
"event": "uploadCompleted",
"category": "upload",
"groupId": null,
"userId": "usr...",
"requestId": null,
"batchId": null,
"error": null,
"data": {
"id": "tmp...",
"key": "upload/usr.../tmp....pdf",
"code": "UPLOADOK"
}
}

data.code bewahrt den niedrigeren Verarbeitungscode während Migration und Kompatibilität.

Subscription-Operation

subscription SubscribeUserFeed {
subscribeUserFeed {
userId
data
}
}

JavaScript-Beispiel

const parseEnvelope = (payload) => {
const raw = payload?.data;
if (!raw) return null;
return typeof raw === 'string' ? JSON.parse(raw) : raw;
};

const handleUserFeed = ({ data }) => {
const wrapper = data?.subscribeUserFeed;
const event = parseEnvelope(wrapper);

if (event?.category !== 'upload') return;

switch (event.event) {
case 'uploadCompleted':
console.log('upload complete', event.data.id, event.data.key);
break;
case 'uploadFailed':
console.error('upload failed', event.data.code, event.data.key);
break;
default:
console.log('upload progress', event.event, event.data.code);
}
};

Wann man das verwenden sollte

Dies ist am nützlichsten, wenn Sie:

  • eine Fortschrittsleiste oder einen Upload-Status-Zeitstrahl anzeigen möchten
  • asynchrone Validierungsfehler erkennen wollen, nachdem der S3 PUT erfolgreich war
  • sofort reagieren möchten, wenn eine Vorlage oder ein hochgeladenes Asset bereit ist

Export This Article

Save a copy of this page as PDF or plain text.