Neue Assembly erstellen
https://api2.transloadit.com/assembliesassemblies:write haben.Eine Assembly kann Dateien verarbeiten und exportieren.
Die Assembly Instructions bestimmen, wie wir sie verarbeiten.
Instructions können direkt übergeben werden (innerhalb eines steps-Parameters) oder in einem
Template gespeichert werden (auf das in einem template_id-Parameter verwiesen wird). Mit Templates können Sie
Instructions wiederverwenden und weiterentwickeln, ohne Ihre App bereitzustellen. Zudem müssen Sie keine vertraulichen Daten am
Speicherort der bereitgestellten App offenlegen.
Wir akzeptieren POST-Anfragen mit multipart/form-data, damit reguläre <form>-Uploads zu unserem Dienst
möglich sind (ebenso wie die Nutzung von XHR / SDKs).
Diese Anfrage kann mehrere Dateien enthalten. Wenn Sie fortsetzbare Datei-Uploads durchführen möchten, werden die Dateien nicht in diese Anfrage aufgenommen, wie unter Fortsetzbare Uploads beschrieben.
Transloadit unterstützt Dateigrößen bis zu 200 GB. Wenn Sie für Ihre Anwendung ein höheres Limit benötigen, kontaktieren Sie uns bitte.
POST-Felder
- Die Übergabe von
signatureist optional. Weitere Informationen finden Sie unter Signature Authentication. - Die Übergabe von
paramsist erforderlich. Das Feld sollte ein JSON-codiertes Objekt mit den in der folgenden Tabelle aufgeführten Schlüsseln enthalten. - Die Übergabe von
num_expected_upload_filesist optional. Bei fortsetzbaren Uploads gibt dieser Wert die Anzahl der hochzuladenden Dateien an. Weitere Details finden Sie unter Fortsetzbare Uploads.
Sie können hier auch andere POST-Felder angeben (die nicht params, signature oder
num_expected_upload_files heißen). Diese lassen sich als Variablen verwenden, um Ihre Assembly
Instructions dynamisch zu gestalten.
Unterstützte Schlüssel im Feld params
auth— erforderlichobjectEnthält mindestens den Auth Key von Transloadit in der Eigenschaft
key.Wenn Sie Signature Authentication aktivieren, müssen Sie außerdem in der Eigenschaft expires ein Ablaufdatum für die Anfrage festlegen:
{ "key": "23c96d084c744219a2ce156772ec3211", "expires": "2009-08-28T01:02:03.000Z" }Wir empfehlen dringend, die Eigenschaft
nonceeinzuschließen – einen zufällig generierten, pro Anfrage eindeutigen Wert. Dieser verhindert eine doppelte Verarbeitung bei Retries, kann die Fehlerdiagnose erleichtern und vermeidet Angriffsvektoren wie die Wiederverwendung von Signaturschlüsseln:{ // … "nonce": "04ac6cb6-df43-41fb-a7fd-e5dd711a64e1" }Die Eigenschaft
refererist ein regulärer Ausdruck, der mit dem HTTP-Referrer dieses Uploads abgeglichen wird, beispielsweise"example\.org". Geben Sie diesen Schlüssel an, um sicherzustellen, dass Uploads nur von Ihrer Domain stammen.Uploads ohne Referrer werden immer akzeptiert, da Referrer in einigen Browsern deaktiviert sind. Daher ist dies nur für wenige Anwendungsfälle nützlich. Einzelheiten zu regulären Ausdrücken finden Sie in der RegExp-Dokumentation von Mozilla.
Mit der Eigenschaft
max_sizekönnen Sie eine maximale Größe in Bytes für einen Upload festlegen, beispielsweise1048576(1 MB). Geben Sie diese an, um zu verhindern, dass Benutzer übermäßig große Dateien hochladen. Die Dateigröße wird geprüft, sobald der Upload beginnt. Überschreitet sie die maximale Größe, wird der gesamte Upload-Vorgang abgebrochen und die Assembly schlägt fehl – selbst wenn sie Dateien enthält, die den Grenzwertmax_sizenicht überschreiten. Wenn Sie nur Dateien ignorieren möchten, die eine bestimmte Größe überschreiten, und alle anderen verarbeiten möchten, verwenden Sie bitte 🤖/file/filter.Mit der Eigenschaft
max_number_of_fileskönnen Sie die maximale Anzahl von Dateien für einen Upload festlegen, beispielsweise100. Geben Sie diese an, um zu verhindern, dass Benutzer übermäßig viele Dateien hochladen – sowohl über Datei-Uploads als auch über Import-Robots.Diese Eigenschaften können entweder in der Assembly-Anfrage oder im Template festgelegt werden.
allow_steps_overridebooleanSetzen Sie dies auf false, um das Überschreiben von Templates zur Laufzeit zu verhindern. Wenn Sie dies auf false setzen, schließen sich template_id und steps gegenseitig aus, und Sie dürfen nur einen dieser Parameter angeben. Dies wird empfohlen, wenn Sie Transloadit in nicht vertrauenswürdigen Umgebungen einsetzen. Es ist sinnvoller, diese Einstellung im Template festzulegen als beim Erstellen der Assembly direkt in der Assembly.
notify_urlstring | nullTransloadit kann nach Abschluss der Assembly einen Pingback an Ihren Server senden. Wir senden den Assembly Status als formular-URL-codierten JSON-String in einem transloadit-Feld einer mehrteiligen POST-Anfrage an die hier angegebene URL. Verwenden Sie
notification_payload, um die Größe der Nutzlast zu reduzieren (z. B.without_uploads,without_results,without_params); dieselbe Filterung gilt für Assembly Replays.notification_payloadArray<without_params | without_result_meta_data | without_results | without_upload_meta_data | without_uploads>Steuert die Größe der Nutzlast, die in Assembly Notifications gesendet wird, sowohl bei der ersten Assembly Notification als auch bei Assembly Replays. Ein leeres Array (Standard) sendet den vollständigen Assembly Status. Fügen Sie
"without_params"hinzu, um die JSON-Rohfelder der Assembly Instructions (params,templateundmerged_params) zu entfernen. Fügen Sie"without_upload_meta_data"hinzu, ummetaaus Dateien inuploadszu entfernen. Fügen Sie"without_result_meta_data"hinzu, ummetaaus Dateien inresultszu entfernen. Fügen Sie"without_uploads"hinzu, umuploadsvollständig zu entfernen. Fügen Sie"without_results"hinzu, umresultsvollständig zu entfernen. Die Filterung erfolgt vor der Serialisierung. Dadurch reduzieren diese Optionen die Speichernutzung und helfen, bei großen Assemblies Fehler durch zu große Nutzlasten oder unzureichenden Arbeitsspeicher zu vermeiden.fieldsRecord<string, any>Ein Objekt mit durch Zeichenfolgen bezeichneten Werten (Name -> Wert), die ebenso wie zusätzliche Formularfelder als Assembly Variables verwendet werden können. Als Wert können Sie alles verwenden, was sich in einen JSON-String umwandeln lässt.
quietbooleanSetzen Sie dies auf true, um die Antwort auf eine Assembly-POST-Anfrage auf die erforderlichen Felder zu beschränken. Dadurch wird verhindert, dass potenziell vertrauliche Informationen an den Endbenutzer gelangen, der die Assembly-Anfrage stellt. Eine erfolgreiche Assembly enthält nur die Felder ok und assembly_id. Eine fehlerhafte Assembly enthält nur die Felder error, http_code, message und assembly_id. Der vollständige Assembly Status wird weiterhin an notify_url gesendet, sofern dies angegeben wurde.
stepsRecord<string, object & object>Enthält Assembly Instructions.
template_idstringDie ID des Templates, das Ihre Assembly Instructions enthält. Wenn Sie
allow_steps_overridein Ihrem Template auffalsesetzen, schließen sichstepsundtemplate_idgegenseitig aus – Sie dürfen nur einen dieser Parameter angeben.
Antwort
Hier sehen Sie ein Beispiel für einen Antworttext:
{
"ok": "ASSEMBLY_EXECUTING",
"http_code": 200,
"message": "The assembly is currently being executed.",
"assembly_id": "0fce5b1063e611e88d8eb130f7921d8a",
"parent_id": null,
"account_id": "6c8b8d10d68b11e3a799b579dfce333a",
"template_id": null,
"instance": "morven.transloadit.com",
"assembly_url": "http://api2.morven.transloadit.com/assemblies/0fce5b1063e611e88d8eb130f7921d8a",
"assembly_ssl_url": "https://api2-morven.transloadit.com/assemblies/0fce5b1063e611e88d8eb130f7921d8a",
"uppyserver_url": "https://api2-morven.transloadit.com/uppy-server/",
"websocket_url": "https://api2-morven.transloadit.com/ws20243",
"tus_url": "https://api2-morven.transloadit.com/resumable/files/",
"bytes_received": 1687,
"bytes_expected": 1687,
"upload_duration": 0.049,
"start_date": "2018/05/30 08:47:19 GMT",
"warnings": [],
"execution_start": "2018/05/30 08:47:19 GMT",
"execution_duration": 0.001,
"queue_duration": 0.04,
"jobs_queue_duration": 0,
"fields": {},
"bytes_usage": 0,
"template": null,
"uploads": [
// …
],
"results": {
// …
}
}Weitere Informationen zur Antwort finden Sie in unserer Dokumentation zur Assembly-Status-Antwort.