Template bearbeiten
Aktualisiert ein vorhandenes Template anhand seiner ID oder seines Namens.
https://api2.transloadit.com/ templates/ {templateIdOrName}Aktualisiert das durch TEMPLATE_ID_OR_NAME bezeichnete Template. Nicht angegebene Einstellungen auf oberster Ebene bleiben normalerweise
unverändert. Daher benennt das folgende Anfragebeispiel das Template um, ohne seine Instructions zu ändern.
Die Angabe von template ersetzt die gespeicherten Instructions vollständig; einzelne Steps werden dabei weder zusammengeführt noch gezielt geändert.
Nehmen Sie alle Steps und Instructions, die Sie beibehalten möchten, in dieses Objekt auf.
Die Cron-Zeitplanung ist eine zugriffsbeschränkte Vorschaufunktion. Jeder teilnehmende Workspace darf die Zeitplanung für ein
Template aktivieren, wobei höchstens 10.000 Ticks pro UTC-Tag zugelassen werden. Geben Sie cron_region, einen sechs Felder umfassenden
cron_schedule_with_seconds und cron_auth_key_id an, bevor Sie cron_enabled auf true setzen.
Der ausgewählte Auth Key muss zu diesem Workspace gehören und die Erstellung von Assemblies erlauben.
Auch der Aufrufer muss beim Aktivieren oder Bearbeiten eines aktiven Zeitplans die Berechtigung zur Erstellung von Assemblies haben.
Zum Deaktivieren der Zeitplanung ist keine Berechtigung zur Erstellung von Assemblies erforderlich. Wenn die Zeitplanung
nicht mehr verfügbar ist oder der Workspace den Zugriff auf die Vorschaufunktion verliert, deaktiviert eine gewöhnliche Bearbeitung des Templates
automatisch die Zeitplanung. Dabei bleiben die Region, der Zeitplan, die Auth Key ID und die bestehende Ausführung erhalten.
Das Deaktivieren eines Templates oder das Pausieren seines Workspaces, seiner Region oder des Schedulers verhindert weitere
Zulassungen. Ein bereits dauerhaft zugelassener Tick kann dennoch abgeschlossen werden.
Zeitpläne werden in UTC ausgeführt, und zwischen je zwei aufeinanderfolgenden Ticks müssen mindestens 10 Sekunden
liegen. Instructions müssen eigenständige HTTP- oder S3-Importe verwenden und dürfen nicht über :original oder /upload/handle von hochgeladenen
Dateien abhängen. Zeitgesteuerte Assemblies importieren höchstens 1.000 Eingabedateien
und berücksichtigen ein niedrigeres, in den Instructions festgelegtes Limit für max_number_of_files. Änderungen an der Ausführung werden
beim nächsten zukünftigen Tick wirksam. Verpasste Ticks werden übersprungen. cron_max_concurrent_runs hat den Standardwert 1;
erhöhen Sie diesen Wert auf bis zu 10, um gleichzeitige zeitgesteuerte Ausführungen zuzulassen. Ausstehende Starts und noch nicht abschließend geklärte Ausführungen
zählen auch über Bearbeitungen des Templates und Zyklen aus Deaktivierung und erneuter Aktivierung hinweg für das Limit. Wenn das Limit erreicht ist,
werden Ticks mit dem Ergebnis und dem Grund overlap übersprungen; sie werden nicht für später in eine Warteschlange gestellt.
Eine Senkung des Limits bricht bestehende Ausführungen nicht ab. Manuelle Assemblies zählen nicht für dieses Limit,
und die gewöhnlichen Workspace-Limits gelten weiterhin. Diese Einstellung dedupliziert keine importierten Dateien.
Ein verbrauchter Start ohne Assembly-Checkpoint behält seinen Slot bis zum Ablauf seines konfigurierbaren
Timeouts, dessen Standardwert 10 Minuten beträgt. Danach wird er mit dem Grund
start_checkpoint_missing als lost markiert, sodass spätere Ticks fortfahren können. Dieser Tick wird niemals erneut versucht.
Eine Assembly, die für die Dauer desselben Timeouts ohne Wiederherstellungs-Checkpoint im abgestürzten Zustand bleibt, wird
mit dem Grund recovery_checkpoint_missing als lost markiert, sodass ebenfalls zukünftige Ticks fortfahren können.
Abgebrochene oder fehlgeschlagene Assemblies zählen weiterhin für die Überschneidungsprüfung, bis ihre Jobs abgeschlossen sind. Wenn ein abschließender Checkpoint
niemals eintrifft, laufen sie nach der maximalen Assembly-Lebensdauer des Workspaces zuzüglich der Checkpoint-Karenzzeit
ab. Anschließend gilt für sie derselbe begrenzte Timeout für die Einstufung als verloren, ohne dass die abgebrochene oder fehlgeschlagene Verarbeitung neu gestartet wird.
Ein verspäteter Assembly-Checkpoint korrigiert das beibehaltene Ergebnis mit dem Grund start_checkpoint_late.
Verlorene Ausführungen geben ihre Slots dauerhaft frei. Eine verspätete Assembly kann daher vorübergehend
das konfigurierte Limit überschreiten, auch den Standardwert 1; dies ist kein strikter Mutex für die Ausführung.
Anfragebeispiel
Setzen Sie TEMPLATE_ID_OR_NAME auf Ihren Ressourcenwert, ohne ihn prozentzucodieren.
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 Einrichtung 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 und Ihr Auth Secret. Halten Sie sowohl die beiden Zugangsdaten als auch das resultierende Token geheim; führen Sie diese Einrichtung niemals in Browser-Code 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=templates: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 folgende Anfrage aus. Verwenden Sie das Token erneut, solange es gültig ist.
curl --fail-with-body -sS --request PUT \
--url "https://api2.transloadit.com/templates/${TEMPLATE_ID_OR_NAME:?Set TEMPLATE_ID_OR_NAME}" \
--header "Authorization: Bearer ${TRANSLOADIT_TOKEN:?Set TRANSLOADIT_TOKEN}" \
--data-urlencode 'params={"name":"resized-images"}'
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: templates: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
templateIdOrName(Pfadsegment), erforderlich. Muster:^[a-z0-9-]+$, minimale Länge: 1
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. | "1day" | "30days" | "7days" | "90days" | "NoSave"Steuert, wie lange der Assembly Status von Assemblies aufbewahrt wird, die aus diesem Template erstellt wurden. | ||||||||||||||||||||||||||||||||||||
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 einer Template-Anfrage.
| ||||||||||||||||||||||||||||||||||||
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. | string | nullID eines aktiven, nicht abgelaufenen Auth Keys, der zu diesem Workspace gehört und zum Erstellen von Assemblies berechtigt ist. Erforderlich beim Aktivieren der Vorschau des Cron Templates. Der Schlüssel muss das Signieren erlauben und darf kein interner Schlüssel sein. Validierungsmuster (regulärer Ausdruck)^[a-f0-9]{32}$ | ||||||||||||||||||||||||||||||||||||
params. | booleanAktiviert oder deaktiviert die Vorschau für das Cron Template. Das Aktivieren oder Bearbeiten eines aktiven Zeitplans setzt voraus, dass der Aufrufer die Berechtigung zum Erstellen von Assemblies hat. Wird die Einstellung weggelassen, bleibt die aktuelle Einstellung erhalten, solange die Zeitplanung weiterhin verfügbar ist; eine gewöhnliche Bearbeitung deaktiviert die Zeitplanung automatisch, wenn der Zugriff auf die Vorschau entzogen wird. Jeder berechtigte Workspace darf ein Cron Template aktivieren. Instructions müssen in sich abgeschlossen sein und HTTP- oder S3-Importe ohne | ||||||||||||||||||||||||||||||||||||
params. | integer (Minimum: 1, Maximum: 10)Maximale Anzahl gleichzeitiger geplanter Ausführungen dieses Templates. Der Standardwert beim Erstellen ist 1; wird der Wert bei einer Aktualisierung weggelassen, bleibt das gespeicherte Limit erhalten. Ticks, bei denen das Limit erreicht ist, werden übersprungen und nicht in eine Warteschlange gestellt. Ausstehende Starts und nicht aufgelöste Ausführungen zählen mit, bis sie abgeschlossen sind oder das Timeout für Checkpoint-Verlust abläuft. Verlorene Ausführungen geben ihren Slot dauerhaft frei, daher kann eine verspätete Assembly dieses Limit vorübergehend überschreiten. Diese Einstellung dedupliziert keine importierten Dateien und begrenzt keine manuellen Assemblies. Die regulären Limits des Workspaces gelten weiterhin. | ||||||||||||||||||||||||||||||||||||
params. | "ap-southeast-1" | "eu-west-1" | "us-east-1" | nullRegionale API für geplante Assemblies. Erforderlich beim Aktivieren der Cron-Template-Vorschau. | ||||||||||||||||||||||||||||||||||||
params. | string | null (minimale Länge: 1, maximale Länge: 255)Numerischer Cron-Ausdruck mit sechs Feldern, ausgewertet in UTC: Sekunde, Minute, Stunde, Tag des Monats, Monat und Wochentag. Unterstützt Platzhalter, kommagetrennte Werte, Bereiche und Schrittweiten. Geplante Ausführungszeitpunkte müssen mindestens 10 Sekunden auseinanderliegen. Die Cron-basierte Zeitplanung für Templates ist eine zugriffsbeschränkte Vorschaufunktion. | ||||||||||||||||||||||||||||||||||||
params. | string (minimale Länge: 3, maximale Länge: 200)Name dieses Templates. Verwenden Sie 3–200 kleingeschriebene lateinische Buchstaben, Ziffern oder Bindestriche. Der Name Validierungsmuster (regulärer Ausdruck)^(?:[a-su-z0-9-][a-z0-9-]{2,199}|t[a-ln-z0-9-][a-z0-9-]{1,198}|tm[a-oq-z0-9-][a-z0-9-]{0,197}|tmp[a-z0-9-]{1,197})$ | ||||||||||||||||||||||||||||||||||||
params. | string | integerEindeutiger Zufallswert, der in die Parameter signierter Anfragen aufgenommen wird, damit jede Signatur eindeutig ist und nicht versehentlich wiederverwendet werden kann. | ||||||||||||||||||||||||||||||||||||
params. | 0 | 1Verwenden Sie | ||||||||||||||||||||||||||||||||||||
params. | object | stringDie in diesem Template gespeicherten Assembly Instructions. Verwenden Sie vorzugsweise das strukturierte JSON-Objekt; aus Kompatibilitätsgründen wird weiterhin eine JSON-codierte Zeichenfolge akzeptiert. Eines der folgenden Schemas kann gelten: objectStrukturierte Assembly Instructions, die in diesem Template gespeichert sind.
stringstringJSON-kodierte Assembly Instructions, die aus Gründen der Client-Kompatibilität beibehalten werden. Validierungsmuster (regulärer Ausdruck)^[\x09-\x0D\x20\xA0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*\{(?:[^\x00]|\x00)*\}[\x09-\x0D\x20\xA0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*$ | ||||||||||||||||||||||||||||||||||||
params. | "1day" | "NoSave"Steuert, wie lange Transcoding-Ergebnisse von Assemblies aufbewahrt werden, die aus diesem Template erstellt wurden. |
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.assembly_status_expiry, params.auth, params.cron_auth_key_id, params.cron_enabled, params.cron_max_concurrent_runs, params.cron_region, params.cron_schedule_with_seconds, params.name, params.nonce, params.require_signature_auth, params.template, params.transcoding_result_expiry
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.assembly_status_expiry, params.cron_auth_key_id, params.cron_enabled, params.cron_max_concurrent_runs, params.cron_region, params.cron_schedule_with_seconds, params.name, params.nonce, params.require_signature_auth, params.template, params.transcoding_result_expiry
| Feld | Typ und Beschreibung |
|---|---|
params. | Enthält den Transloadit-API-Schlüssel und Metadaten für die Signature Authentication einer Template-Anfrage.
|
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_status_expiry": null,
"content": {
"steps": {
"resize": {
"robot": "/image/resize",
"use": ":original",
"width": 320
}
}
},
"id": "8fc3b9166c784afd824acf24269ebd11",
"message": "Your Template was successfully updated.",
"name": "resized-images",
"ok": "TEMPLATE_UPDATED",
"require_signature_auth": 0,
"transcoding_result_expiry": null
}2xx-Erfolg
JSON-Response-Body. application/json text/plain; charset=utf-8
Schema des Response-Bodys
Vollständiges JSON Schema
Die Antwort enthält nur die für dieses Objekt aufgeführten Felder.
| Feld | Typ und Beschreibung |
|---|---|
assembly_status_expiryerforderlich | null | string |
contenterforderlich | object | Array<beliebiger Wert> | string | number | boolean | nullEines der folgenden Schemas kann gelten: objectobjectSchema für zusätzliche Eigenschaftenbeliebiger WertArray<beliebiger Wert>Array<beliebiger Wert>Schema eines Array-Elementsbeliebiger Wertstringnumberbooleannull |
cron_auth_key_id | string | nullValidierungsmuster (regulärer Ausdruck)^[a-f0-9]{32}$ |
cron_enabled | boolean |
cron_max_concurrent_runs | integer (Minimum: 1, Maximum: 10) |
cron_region | "ap-southeast-1" | "eu-west-1" | "us-east-1" | null |
cron_schedule_with_seconds | string | null (minimale Länge: 1, maximale Länge: 255) |
iderforderlich | stringEines der folgenden Schemas kann gelten: Variante 1: string (maximale Länge: 32)stringValidierungsmuster (regulärer Ausdruck)^[\x00-\x7F]*$Variante 2: string (maximale Länge: 32)stringValidierungsmuster (regulärer Ausdruck)^builtin\/[a-z0-9-]+(?:@[0-9a-z.-]+)?$ |
messageerforderlich | string (minimale Länge: 1) |
nameerforderlich | string (minimale Länge: 1, maximale Länge: 255) |
okerforderlich | string (immer: "TEMPLATE_UPDATED") |
require_signature_autherforderlich | 0 | 1 |
transcoding_result_expiryerforderlich | null | string |
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 |
HTTP 400
JSON-Response-Body. application/json text/plain; charset=utf-8
Schema des Response-Bodys
Vollständiges JSON Schema
Benannte Fehler und das allgemeine Fehlerformat
error: "TEMPLATE_VALIDATION_ERROR"
Ihr Template hat die Validierung nicht bestanden.
Die Antwort kann zusätzliche Felder enthalten.