Eine Assembly erneut ausführen
Startet aus den Eingaben und Instructions einer früheren Assembly eine neue Assembly.
https://api2.transloadit.com/ assemblies/ {assemblyId}/ replayWenn eine Assembly abgestürzt ist und wir die Eingabedateien wiederherstellen können, kann Transloadit versuchen, sie erneut auszuführen.
Sie können in params einen neuen notify_url-Parameter angeben, um ein erneutes Senden an die bereits
für die Assembly angegebene URL zu vermeiden.
Geben Sie den Parameter steps an, um die Steps der ursprünglichen Assembly zu überschreiben,
die erneut ausgeführt wird.
Die neu erstellte Assembly bettet das ursprüngliche Assembly Status-Objekt in
parent_assembly_status ein. Dessen assembly_url identifiziert die abgestürzte Assembly, die erneut ausgeführt wird.
Beispielanfrage
Setzen Sie ASSEMBLY_ID auf Ihren Ressourcenwert, ohne ihn mit Prozentkodierung zu versehen.
Führen Sie diese Anfrage in einer serverseitigen Shell mit curl und einem geeigneten Bearer-Token in TRANSLOADIT_TOKEN aus. Wenn Sie ein Token benötigen, klappen Sie die folgende Einrichtungsanleitung auf.
Benötigen Sie ein Bearer-Token?
Setzen Sie in einer vertrauenswürdigen serverseitigen Shell mit curl und jq die Variablen TRANSLOADIT_KEY und TRANSLOADIT_SECRET auf Ihren Auth Key bzw. Ihr Auth Secret. Halten Sie beide Zugangsdaten und das erzeugte Token geheim; führen Sie diese Einrichtung niemals in Browsercode aus.
Erstellen Sie zunächst ein Token mit den für diesen Endpunkt erforderlichen Scopes. Ihr Auth Key muss diese Scopes bereits gewähren.
if ! TOKEN_RESPONSE="$(curl --fail-with-body -sS \
--request POST \
--url 'https://api2.transloadit.com/token' \
--user "${TRANSLOADIT_KEY:?Set TRANSLOADIT_KEY}:${TRANSLOADIT_SECRET:?Set TRANSLOADIT_SECRET}" \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'grant_type=client_credentials' \
--data-urlencode 'aud=api2' \
--data-urlencode 'scope=assemblies:write')"; then
printf '%s\n' "$TOKEN_RESPONSE" >&2
exit 1
fi
TRANSLOADIT_TOKEN="$(printf '%s' "$TOKEN_RESPONSE" |
jq -er '.access_token | strings | select(length > 0)')" || exit 1
Lassen Sie diese Shell geöffnet und führen Sie die unten stehende Anfrage aus. Verwenden Sie das Token wieder, solange es gültig ist.
curl --fail-with-body -sS --request POST \
--url "https://api2.transloadit.com/assemblies/${ASSEMBLY_ID:?Set ASSEMBLY_ID}/replay" \
--header "Authorization: Bearer ${TRANSLOADIT_TOKEN:?Set TRANSLOADIT_TOKEN}" \
--data-urlencode 'params={}'
Authentifizierung
Dieser Endpunkt akzeptiert signierte params oder ein Bearer-Token. Anweisungen zur Einrichtung finden Sie unter Authentifizierung.
Erforderlicher Berechtigungsumfang für Auth Key oder Bearer-Token: assemblies:write.
Signierte Anfragen erfordern sowohl eine signature als auch einen in der Zukunft liegenden Zeitstempel für params.auth.expires. Bearer-Tokens erfordern keines von beiden.
Pfadparameter
assemblyId(Pfadsegment), erforderlich. Muster:^[a-z0-9]{32}$
Formularfelder
Content-Type: application/x-www-form-urlencoded
params(JSON-Zeichenfolge), erforderlich. Ein JSON-codiertes Objekt, dessen unterstützte Schlüssel unten aufgeführt sind.signature(Zeichenfolge). Für signierte Anfragen erforderlich. Lassen Sie dieses Feld weg, wenn Sie ein Bearer-Token verwenden.
Unterstützte Schlüssel im Feld params
Die Authentifizierungsfelder in dieser Liste gelten für signierte Anfragen. Mit einem Bearer-Token können Sie params.auth und das separate Feld signature weglassen. Vergleichen Sie unten die Anfrageparameter der einzelnen Authentifizierungsmethoden.
Vollständiges JSON Schema
params: Es werden nur die für dieses Objekt aufgeführten Felder akzeptiert.
| Feld | Typ und Beschreibung | ||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
params.für signierte Anfragen erforderlich; mit einem Bearer-Token optional | Enthält den Transloadit-API-Schlüssel und Metadaten für die Signature Authentication beim erneuten Ausführen einer Assembly.
| ||||||||||||||||||||||
params.erforderlich | stringISO-8601-Ablaufzeitstempel in der Zukunft. Erforderlich, wenn eine Anfrage signiert ist oder Signaturauthentifizierung erfordert; mit Bearer authentifizierte Anfragen können ihn weglassen. | ||||||||||||||||||||||
params.erforderlich | stringTransloadit API-Schlüssel zur Authentifizierung von Anfragen | ||||||||||||||||||||||
params. | objectWerte, die mit den ursprünglichen Assembly-Feldern zusammengeführt und im Replay als Assembly Variables bereitgestellt werden. Schema für zusätzliche Eigenschaftenbeliebiger Wert | ||||||||||||||||||||||
params. | string | integerEindeutiger Zufallswert, der in die Parameter signierter Anfragen aufgenommen wird, damit jede Signatur eindeutig ist und nicht versehentlich wiederverwendet werden kann. | ||||||||||||||||||||||
params. | null | stringÜberschreibt die Notification URL für die erneut ausgeführte Assembly. Wird der Wert weggelassen, ist er null oder leer, wird die geerbte URL nicht überschrieben. Standardmäßig oder wenn die ursprüngliche Assembly kein Template hat, wird die URL aus den ursprünglichen zusammengeführten Assembly Instructions anhand der Felder und Assembly Variables des Assembly Replays erneut ausgewertet. Wenn | ||||||||||||||||||||||
params. | 0 | 1Geben Sie | ||||||||||||||||||||||
params. | object | Array<referenziertes Schema>Step-Überschreibungen für die erneute Wiedergabe. Steps in Objektform entsprechen der normalen Assembly-Struktur. Steps in Arrayform werden aus Gründen der Abwärtskompatibilität bei der erneuten Wiedergabe akzeptiert und vor der Ausführung normalisiert. Eines der folgenden Schemas kann gelten: objectobjectSchema für zusätzliche EigenschaftenobjectEin vollständiger Assembly-Step oder eine teilweise Step-Überschreibung für die erneute Ausführung. Die Prüfung bleibt hier bewusst flexibel, damit Zugangsdaten und fehlende Robot-Eigenschaften aus dem ursprünglichen Template übernommen werden können, bevor die normale Assembly-Validierung erfolgt. Weitere Schemadetails finden Sie im vollständigen JSON Schema. Array<referenziertes Schema>Array<referenziertes Schema>Schema eines Array-ElementsEin vollständiger Assembly-Step oder eine teilweise Step-Überschreibung für die erneute Ausführung. Die Prüfung bleibt hier bewusst flexibel, damit Zugangsdaten und fehlende Robot-Eigenschaften aus dem ursprünglichen Template übernommen werden können, bevor die normale Assembly-Validierung erfolgt.
|
Anfrageparameter nach Authentifizierungsmethode
Mit signierten Parametern
Geben Sie Ihren Auth Key als params.auth.key an. Wenn Sie die Anfrage signieren, geben Sie einen in der Zukunft liegenden Zeitstempel für params.auth.expires an und senden Sie die Signature im separaten Feld signature. Die folgenden Felddefinitionen verwenden Pfade innerhalb von params.
Vollständiges JSON Schema
params: Es werden nur die für dieses Objekt aufgeführten Felder akzeptiert.
Verwendet die oben angegebenen Felddefinitionen: params.auth, params.fields, params.nonce, params.notify_url, params.reparse_template, params.steps
Mit einem Bearer-Token
Senden Sie das Bearer-Token im Authorization-Header. Sie können params.auth und das separate Feld signature weglassen. Die übrigen erforderlichen Parameter müssen weiterhin angegeben werden. Die folgenden Felddefinitionen verwenden Pfade innerhalb von params.
Vollständiges JSON Schema
params: Es werden nur die für dieses Objekt aufgeführten Felder akzeptiert.
Verwendet die oben angegebenen Felddefinitionen: params.fields, params.nonce, params.notify_url, params.reparse_template, params.steps
| Feld | Typ und Beschreibung |
|---|---|
params. | Enthält den Transloadit-API-Schlüssel und Metadaten für die Signature Authentication beim erneuten Ausführen einer Assembly.
|
params. | stringISO-8601-Ablaufzeitstempel in der Zukunft. Erforderlich, wenn eine Anfrage signiert ist oder Signaturauthentifizierung erfordert; mit Bearer authentifizierte Anfragen können ihn weglassen. |
params. | stringTransloadit API-Schlüssel zur Authentifizierung von Anfragen |
Antwort
Hier sehen Sie ein Beispiel für einen Antworttext:
{
"assembly_id": "7828446e5acd4aa996dce3455ec914e9",
"assembly_ssl_url": "https://api2-example.transloadit.com/assemblies/7828446e5acd4aa996dce3455ec914e9",
"assembly_url": "http://api2.example.transloadit.com/assemblies/7828446e5acd4aa996dce3455ec914e9",
"message": "The Assembly is now in the process of being replayed.",
"notify_url": null,
"ok": "ASSEMBLY_REPLAYING",
"success": true
}2xx-Erfolg
JSON-Response-Body. application/json text/plain; charset=utf-8
Schema des Response-Bodys
Vollständiges JSON Schema
Die Antwort kann zusätzliche Felder enthalten.
| Feld | Typ und Beschreibung |
|---|---|
assembly_iderforderlich | string |
assembly_ssl_urlerforderlich | string |
assembly_urlerforderlich | string |
messageerforderlich | string |
notify_urlerforderlich | null | string |
okerforderlich | string (immer: "ASSEMBLY_REPLAYING") |
successerforderlich | boolean (immer: true) |
Fehlerantwort
JSON-Response-Body. application/json text/plain; charset=utf-8
Schema des Response-Bodys
Vollständiges JSON Schema
Die Antwort kann zusätzliche Felder enthalten.
| Feld | Typ und Beschreibung |
|---|---|
assembly_id | string |
error | string (minimale Länge: 1) |
http_code | number | string
|
message | stringMenschenlesbare Erklärung des Fehlers. Die Formulierung kann variieren; verwenden Sie den Code |
reason | null | string | number | boolean | Array<beliebiger Wert> | objectEines der folgenden Schemas kann gelten: nullstringnumberbooleanArray<beliebiger Wert>Array<beliebiger Wert>Schema eines Array-Elementsbeliebiger WertobjectobjectSchema für zusätzliche Eigenschaftenbeliebiger Wert |