Adobe Experience Manager Assets Anwendungsfälle, APIs und Referenzmaterial für Entwickler

Der Artikel enthält Empfehlungen, Referenzmaterialien und Ressourcen für Entwickler von Assets as a Cloud Service. Er enthält ein neues Modul für den Asset-Upload, eine API-Referenz und Informationen über die Unterstützung, die in Nachbearbeitungs-Workflows bereitgestellt wird.

Experience Manager Assets-APIs und -Vorgänge

Assets as a Cloud Service bietet mehrere APIs für die programmgesteuerte Interaktion mit digitalen Assets. Jede API unterstützt spezifische Anwendungsfälle, wie in der folgenden Tabelle beschrieben. Die Assets-Benutzeroberfläche, das Experience Manager-Desktop-Programm und Adobe Asset Link unterstützen alle oder einige der Vorgänge.

VORSICHT

Einige APIs existieren weiterhin, werden jedoch nicht aktiv unterstützt (mit einem × gekennzeichnet). Verwenden Sie diese APIs nach Möglichkeit nicht.

Unterstützungsebene Beschreibung
Unterstützt
× Nicht unterstützt. Nicht verwenden.
- Nicht verfügbar
Anwendungsfall aem-upload Experience Manager/Sling/ Java-APIs Asset Compute Service Assets HTTP-API Sling GET/POST Servlets GraphQL (Vorschau)
Ursprüngliche Binärdatei
Original erstellen verwalten × - × × -
Original lesen - × verwalten verwalten verwalten -
Original aktualisieren verwalten × verwalten × × -
Original löschen - verwalten - verwalten verwalten -
Original kopieren - verwalten - verwalten verwalten -
Original verschieben - verwalten - verwalten verwalten -
Metadaten
Metadaten erstellen - verwalten verwalten verwalten verwalten -
Metadaten lesen - verwalten - verwalten verwalten -
Metadaten aktualisieren - verwalten verwalten verwalten verwalten -
Metadaten löschen - verwalten verwalten verwalten verwalten -
Metadaten kopieren - verwalten - verwalten verwalten -
Metadaten verschieben - verwalten - verwalten verwalten -
Inhaltsfragmente
Inhaltsfragmente erstellen - verwalten - verwalten - -
Inhaltsfragmente lesen - verwalten - verwalten - verwalten
Inhaltsfragmente aktualisieren - verwalten - verwalten - -
Inhaltsfragmente löschen - verwalten - verwalten - -
Inhaltsfragmente kopieren - verwalten - verwalten - -
Inhaltsfragmente verschieben - verwalten - verwalten - -
Versionen
Version erstellen verwalten verwalten - - - -
Version lesen - verwalten - - - -
Version löschen - verwalten - - - -
Ordner
Ordner erstellen verwalten verwalten - verwalten - -
Ordner lesen - verwalten - verwalten - -
Ordner löschen verwalten verwalten - verwalten - -
Ordner kopieren verwalten verwalten - verwalten - -
Ordner verschieben verwalten verwalten - verwalten - -

Asset-Upload

Unter Experience Manager als Cloud Service können Sie die Assets mithilfe der HTTP-API direkt in den Cloud-Speicher hochladen. Die Schritte zum Hochladen einer Binärdatei finden Sie unten. Führen Sie diese Schritte in einer externen Anwendung und nicht in der JVM Experience Manager aus.

  1. Senden einer HTTP-Anfrage. Diese informiert die Experience Manager-Implementierung über Ihre Absicht, eine neue Binärdatei hochzuladen.
  2. PUT des Inhalts der Binärdatei auf einen oder mehrere URIs, die von der Initiierungsanfrage bereitgestellt werden.
  3. Senden einer HTTP-Anfrage, um den Server darüber zu informieren, dass der Inhalt der Binärdatei erfolgreich hochgeladen wurde.

Überblick über das direkte binäre Upload-Protokoll

WICHTIG

Führen Sie die oben genannten Schritte in einer externen Anwendung und nicht in der JVM Experience Manager aus.

Der Ansatz bietet eine skalierbare und leistungsfähigere Handhabung von Asset-Uploads. Die Unterschiede im Vergleich zu Experience Manager 6.5 sind:

  • Binärdateien durchlaufen nicht Experience Manager, das jetzt lediglich den Upload-Prozess mit dem für die Implementierung konfigurierten binären Cloud-Speicher koordiniert.
  • Der binäre Cloud-Speicher funktioniert mit einem Content Delivery Network (CDN) oder einem Edge-Netzwerk. Ein CDN wählt einen Upload-Endpunkt aus, der für einen Client näher liegt. Wenn Daten eine kürzere Entfernung zu einem nahe gelegenen Endpunkt zurücklegen, verbessern sich die Upload-Leistung und das Benutzererlebnis, insbesondere für geografisch verteilte Teams.
HINWEIS

Informationen zum Implementieren dieses Ansatzes finden Sie im Client-Code in der Open-Source-Bibliothek aem-upload.

Initiieren des Uploads

Senden Sie eine HTTP-POST-Anfrage an den gewünschten Ordner. Assets werden in diesem Ordner erstellt oder aktualisiert. Schließen Sie den Selektor .initiateUpload.json ein, um anzugeben, dass die Anfrage darin besteht, den Upload einer Binärdatei zu starten. Der Pfad zum Ordner, in dem das Asset erstellt werden soll, lautet beispielsweise /assets/folder. Die POST-Anfrage ist POST https://[aem_server]:[port]/content/dam/assets/folder.initiateUpload.json.

Der Content-Typ des Anfragetexts sollte application/x-www-form-urlencoded-Formulardaten sein, die die folgenden Felder enthalten:

  • (string) fileName: Erforderlich. Der Name des Assets, wie er in Experience Manager angezeigt wird.
  • (number) fileSize: Erforderlich. Die Dateigröße des hochgeladenen Assets in Byte.

Eine einzige Anfrage kann dazu verwendet werden, Uploads für mehrere Binärdateien zu initiieren, solange jede Binärdatei die erforderlichen Felder enthält. Bei Erfolg wird die Anfrage mit einem 201-Status-Code und einem Text mit JSON-Daten im folgenden Format beantwortet:

{
    "completeURI": "(string)",
    "folderPath": (string)",
    "files": [
        {
            "fileName": "(string)",
            "mimeType": "(string)",
            "uploadToken": "(string)",
            "uploadURIs": [
                "(string)"
            ]
        }
    ]
}
  • completeURI (Zeichenfolge): Diese URI aufrufen, wenn das Hochladen der Binärdatei abgeschlossen ist. Die URI kann eine absolute oder relative URI sein. Clients sollten in der Lage sein, beide Fälle zu handhaben. Das heißt, dass der Wert "https://[aem_server]:[port]/content/dam.completeUpload.json" oder "/content/dam.completeUpload.json" sein kann. Siehe Abschließen des Hochladens .
  • folderPath (Zeichenfolge): Vollständiger Pfad zum Ordner, in den die Binärdatei hochgeladen wird.
  • (files) (Array): Eine Liste der Elemente, deren Länge und Reihenfolge mit der Länge und Reihenfolge der Liste der binären Informationen übereinstimmen, die in der Anfrage zum Initiieren bereitgestellt werden.
  • fileName (Zeichenfolge): Der Name der entsprechenden Binärdatei, wie in der Anfrage zum Initiieren angegeben. Dieser Wert sollte in der vollständigen Anfrage enthalten sein.
  • mimeType (Zeichenfolge): Der Mime-Typ der entsprechenden Binärdatei, wie der Initiierungsanfrage angegeben. Dieser Wert sollte in der vollständigen Anfrage enthalten sein.
  • uploadToken (Zeichenfolge): Ein Upload-Token für die entsprechende Binärdatei. Dieser Wert sollte in der vollständigen Anfrage enthalten sein.
  • uploadURIs (Array): Eine Liste der Zeichenfolgen, deren Werte vollständige URIs sind, in die der binäre Inhalt hochgeladen werden soll (siehe Hochladen der Binärdatei).
  • minPartSize (Zahl): Die Mindestlänge (in Bytes) der Daten, die für eine der uploadURIsbereitgestellt werden können, wenn mehr als eine URI vorhanden ist.
  • maxPartSize (Zahl): Die maximale Länge (in Bytes) der Daten, die für eine der uploadURIsbereitgestellt werden können, wenn mehr als eine URI vorhanden ist.

Hochladen der Binärdatei

Die Ausgabe beim Initiieren eines Uploads umfasst einen oder mehrere Upload-URI-Werte. Wenn mehrere URIs angegeben werden, teilt der Client die Binärdatei in Teile auf und sendet PUT-Anfragen für jeden Teil an jeden URI in der richtigen Reihenfolge. Verwenden Sie alle URIs. Stellen Sie sicher, dass die Größe der einzelnen Teile innerhalb der minimalen und maximalen Größe liegt, wie in der Initiierungsantwort angegeben. CDN-Edge-Knoten beschleunigen das angeforderte Hochladen von Binärdateien.

Eine Möglichkeit, dies zu erreichen, besteht darin, die Teilegröße basierend auf der Anzahl der von der API bereitgestellten Upload-URIs zu berechnen. Angenommen, die Gesamtgröße der Binärdatei beträgt 20.000 Bytes und die Anzahl der Upload-URIs beträgt 2. Führen Sie dann die folgenden Schritte aus:

  • Berechnen Sie die Teilegröße, indem Sie die Gesamtgröße durch die Anzahl der URIs teilen: 20.000 : 2 = 10.000.
  • POST-Byte-Bereich 0-9.999 der Binärdatei zum ersten URI in der Liste der Upload-URIs.
  • POST-Byte-Bereich 10.000-19.999 der Binärdatei zum zweiten URI in der Liste der Upload-URIs.

Bei erfolgreicher Ausführung des Uploads antwortet der Server auf jede Anfrage mit Status-Code 201.

Abschließen des Uploads

Nachdem alle Teile einer Binärdatei hochgeladen wurden, senden Sie eine HTTP-POST-Anfrage an den vollständigen URI, der von den Initiierungsdaten bereitgestellt wird. Der Content-Typ des Anfragetexts sollte application/x-www-form-urlencoded-Formulardaten sein, die die folgenden Felder enthalten.

Felder Typ Erforderlich Beschreibung
fileName Zeichenfolge Erforderlich Der Name des Assets, wie in den Initiierungsdaten angegeben.
mimeType Zeichenfolge Erforderlich Der HTTP-Content-Typ der Binärdatei, wie in den Initiierungsdaten angegeben.
uploadToken Zeichenfolge Erforderlich Upload-Token für die Binärdatei, wie in den Initiierungsdaten angegeben.
createVersion Boolesch Optional Wenn True und ein Asset mit dem angegebenen Namen existiert, erstellt Experience Manager eine neue Version des Assets.
versionLabel Zeichenfolge Optional Wenn eine neue Version erstellt wird, die Bezeichnung, die der neuen Version eines Assets zugeordnet ist.
versionComment Zeichenfolge Optional Wenn eine neue Version erstellt wird, die Kommentare, die der Version zugeordnet sind.
replace Boolesch Optional Wenn True und ein Asset mit dem angegebenen Namen existiert, löscht Experience Manager das Asset und erstellt es dann erneut.
HINWEIS

Wenn das Asset existiert und weder createVersion noch replace angegeben ist, aktualisiert Experience Manager die aktuelle Version des Assets mit der neuen Binärdatei.

Wie beim Initiierungsprozess können die vollständigen Anfragedaten Informationen zu mehr als einer Datei enthalten.

Das Hochladen einer Binärdatei wird erst durchgeführt, wenn die vollständige URL für die Datei aufgerufen wurde. Ein Asset wird verarbeitet, nachdem der Upload-Vorgang abgeschlossen ist. Die Verarbeitung wird nicht gestartet, auch wenn die Binärdatei des Assets vollständig hochgeladen wurde, der Upload-Vorgang jedoch nicht abgeschlossen ist. Wenn der Upload erfolgreich war, antwortet der Server mit dem Status-Code 200 .

Open-Source-Upload-Bibliothek

Um mehr über die Upload-Algorithmen zu erfahren oder eigene Upload-Skripte und -Tools zu erstellen, stellt Adobe Open-Source-Bibliotheken und -Tools bereit:

Veraltete APIs zum Hochladen von Assets

Die neue Upload-Methode wird nur für Adobe Experience Manager as a Cloud Service unterstützt. Die APIs aus Adobe Experience Manager 6.5 werden nicht mehr unterstützt. Die Methoden im Zusammenhang mit dem Hochladen oder Aktualisieren von Assets oder Ausgabedarstellungen (alle binären Uploads) werden in den folgenden APIs nicht mehr unterstützt:

Asset-Verarbeitungs- und Nachbearbeitungs-Workflows

In Experience Manager basiert die Asset-Verarbeitung auf der Konfiguration von Verarbeitungsprofilen, die Asset-Microservices verwendet. Für die Verarbeitung sind keine Entwicklererweiterungen erforderlich.

Verwenden Sie die standardmäßigen Workflows mit Erweiterungen mit benutzerdefinierten Schritten für die Konfiguration des Nachbearbeitungs-Workflows.

Unterstützung von Workflow-Schritten im Nachbearbeitungs-Workflow

Wenn Sie von einer früheren Version von Experience Manager aktualisieren, können Sie Asset-Microservices zur Verarbeitung von Assets verwenden. Die Cloud-nativen Asset-Microservices sind einfacher zu konfigurieren und zu verwenden. Einige Workflow-Schritte, die im DAM-Update-Asset-Workflow in der vorherigen Version verwendet wurden, werden nicht unterstützt. Weitere Informationen zu unterstützten Klassen finden Sie in der Java-API-Referenz.

Die folgenden technischen Workflow-Modelle werden entweder durch Asset-Microservices ersetzt oder es ist kein Support verfügbar:

  • com.day.cq.dam.cameraraw.process.CameraRawHandlingProcess
  • com.day.cq.dam.core.process.CommandLineProcess
  • com.day.cq.dam.pdfrasterizer.process.PdfRasterizerHandlingProcess
  • com.day.cq.dam.core.process.AddPropertyWorkflowProcess
  • com.day.cq.dam.core.process.CreateSubAssetsProcess
  • com.day.cq.dam.core.process.DownloadAssetProcess
  • com.day.cq.dam.word.process.ExtractImagesProcess
  • com.day.cq.dam.word.process.ExtractPlainProcess
  • com.day.cq.dam.ids.impl.process.IDSJobProcess
  • com.day.cq.dam.indd.process.INDDMediaExtractProcess
  • com.day.cq.dam.indd.process.INDDPageExtractProcess
  • com.day.cq.dam.core.impl.lightbox.LightboxUpdateAssetProcess
  • com.day.cq.dam.pim.impl.sourcing.upload.process.ProductAssetsUploadProcess
  • com.day.cq.dam.core.process.SendDownloadAssetEmailProcess
  • com.day.cq.dam.similaritysearch.internal.workflow.smarttags.StartTrainingProcess
  • com.day.cq.dam.similaritysearch.internal.workflow.smarttags.TransferTrainingDataProcess
  • com.day.cq.dam.switchengine.process.SwitchEngineHandlingProcess
  • com.day.cq.dam.core.process.GateKeeperProcess
  • com.day.cq.dam.s7dam.common.process.DMEncodeVideoWorkflowCompletedProcess
  • com.day.cq.dam.core.process.DeleteImagePreviewProcess
  • com.day.cq.dam.video.FFMpegTranscodeProcess
  • com.day.cq.dam.core.process.ThumbnailProcess
  • com.day.cq.dam.video.FFMpegThumbnailProcess
  • com.day.cq.dam.core.process.CreateWebEnabledImageProcess
  • com.day.cq.dam.core.process.CreatePdfPreviewProcess
  • com.day.cq.dam.s7dam.common.process.VideoUserUploadedThumbnailProcess
  • com.day.cq.dam.s7dam.common.process.VideoThumbnailDownloadProcess
  • com.day.cq.dam.s7dam.common.process.VideoProxyServiceProcess
  • com.day.cq.dam.scene7.impl.process.Scene7UploadProcess
  • com.day.cq.dam.s7dam.common.process.S7VideoThumbnailProcess
  • com.day.cq.dam.core.process.MetadataProcessorProcess
  • com.day.cq.dam.core.process.AssetOffloadingProcess
  • com.adobe.cq.dam.dm.process.workflow.DMImageProcess

Auf dieser Seite