Gestire le risorse digitali con l'API HTTP Adobe Experience Manager Assets
- Argomenti:
- API HTTP di Assets
Creato per:
- Sviluppatore
- Amministratore
Versione | Collegamento articolo |
---|---|
AEM 6.5 | Fai clic qui |
AEM as a Cloud Service | Questo articolo |
Introduzione all'API HTTP di AEM Assets
L'API HTTP di AEM Assets abilita operazioni CRUD (creazione, lettura, aggiornamento ed eliminazione) sulle risorse digitali tramite un'interfaccia REST disponibile in /api/assets
. Queste operazioni si applicano ai metadati delle risorse, alle rappresentazioni e ai commenti. Include supporto per frammenti di contenuto.
Per accedere all’API:
- Aprire il documento del servizio API in
https://[hostname]:[port]/api.json
. - Segui il collegamento al servizio Assets che porta a
https://[hostname]:[server]/api/assets.json
.
La risposta API è un file JSON per alcuni tipi MIME e un codice di risposta per tutti i tipi MIME. La risposta JSON è facoltativa e potrebbe non essere disponibile, ad esempio, per i file PDF. Utilizza il codice di risposta per ulteriori analisi o azioni.
Gestire i frammenti di contenuto
Un frammento di contenuto è una risorsa strutturata in cui sono memorizzati testo, numeri e date. Poiché esistono diverse differenze per standard
risorse (come immagini o documenti), alcune regole aggiuntive si applicano alla gestione dei frammenti di contenuto.
Per ulteriori informazioni, vedere il supporto per Frammenti di contenuto nell' Experience Manager Assets API HTTP.
Esamina il modello dati
L'API HTTP Assets espone principalmente due elementi: cartelle e risorse standard. Inoltre, fornisce elementi dettagliati per i modelli di dati personalizzati utilizzati nei frammenti di contenuto. Per ulteriori dettagli, consulta Modelli di dati per frammenti di contenuto. Per ulteriori informazioni, consulta Modelli dati per frammenti di contenuto.
Gestione cartelle
Le cartelle sono simili alle directory dei file system tradizionali. Le cartelle possono contenere risorse, sottocartelle o entrambe. Le cartelle hanno i seguenti componenti:
Entità: le entità di una cartella sono i relativi elementi secondari, che possono essere cartelle e risorse.
Proprietà:
name
: nome della cartella (l'ultimo segmento del percorso URL, senza estensione).title
: viene visualizzato un titolo facoltativo al posto del nome della cartella.
jcr
di jcr:title
, jcr:description
e jcr:language
viene sostituito con il prefisso dc
. Pertanto, nel JSON restituito, dc:title
e dc:description
contengono rispettivamente i valori di jcr:title
e jcr:description
.I collegamenti nelle cartelle espongono tre collegamenti:
self
: collegamento alla cartella stessa.parent
: collegamento alla cartella principale.thumbnail
(facoltativo): collegamento a un'immagine di miniatura della cartella.
Gestire le risorse
In Experience Manager una risorsa contiene i seguenti elementi:
- Proprietà e metadati: Informazioni descrittive sulla risorsa.
- File binario: Il file caricato originariamente.
- Rappresentazioni: più rappresentazioni configurate, ad esempio immagini di varie dimensioni, diverse codifiche video o pagine estratte da file PDF/Adobe InDesign.
- Commenti (facoltativo): osservazioni fornite dall'utente.
Per informazioni sugli elementi nei frammenti di contenuto, vedere Supporto dei frammenti di contenuto nell'API HTTP Experience Manager Assets.
In Experience Manager una cartella contiene i seguenti componenti:
- Entità: i figli delle risorse ne sono le rappresentazioni.
- Proprietà.
- Collegamenti.
Esplora le operazioni API disponibili
L'API HTTP Assets include le seguenti funzionalità:
- Recuperare un elenco di cartelle.
- Creare una cartella.
- Creare una risorsa (obsoleto)
- Aggiorna binario risorsa (obsoleto).
- Aggiorna metadati risorsa.
- Crea una rappresentazione di una risorsa.
- Aggiorna una rappresentazione di risorsa.
- Crea un commento risorsa.
- Copia una cartella o una risorsa.
- Spostare una cartella o una risorsa.
- Eliminare una cartella, una risorsa o una copia trasformata.
Recuperare un elenco di cartelle
Recupera una rappresentazione Siren di una cartella esistente e delle relative entità secondarie (sottocartelle o risorse).
Richiesta: GET /api/assets/myFolder.json
Codici di risposta: I codici di risposta sono:
- 200 - OK - operazione riuscita.
- 404 - NON TROVATO - la cartella non esiste o non è accessibile.
- 500 - ERRORE INTERNO DEL SERVER - se si verificano altri errori.
Risposta: la classe dell'entità restituita è una risorsa o una cartella. Le proprietà delle entità contenute sono un sottoinsieme dell'insieme completo di proprietà di ciascuna entità. Per ottenere una rappresentazione completa dell'entità, i client devono recuperare il contenuto dell'URL indicato dal collegamento con rel
di self
.
Crea una cartella
Crea un sling
: OrderedFolder
nel percorso specificato. Se viene fornito *
invece del nome di un nodo, il servlet utilizza il nome del parametro come nome di nodo. La richiesta accetta uno dei seguenti elementi:
- Una rappresentazione Siren della nuova cartella
- Un set di coppie nome-valore, codificate come
application/www-form-urlencoded
omultipart
/form
-data
. Questi sono utili per creare una cartella direttamente da un modulo di HTML.
Inoltre, le proprietà della cartella possono essere specificate come parametri di query URL.
Una chiamata API non riesce con un codice di risposta 500
se il nodo principale del percorso specificato non esiste. Una chiamata restituisce un codice di risposta 409
se la cartella esiste.
Parametri: name
è il nome della cartella.
Richiesta
POST /api/assets/myFolder -H"Content-Type: application/json" -d '{"class":"assetFolder","properties":{"title":"My Folder"}}'
POST /api/assets/* -F"name=myfolder" -F"title=My Folder"
Codici di risposta: I codici di risposta sono:
- 201 - CREATO - su creazione riuscita.
- 409 - CONFLITTO - se la cartella esiste.
- 412 - PRECONDIZIONE NON RIUSCITA - se non è possibile trovare o accedere alla raccolta radice.
- 500 - ERRORE INTERNO DEL SERVER - se si verificano altri errori.
Creare una risorsa
La creazione di risorse non è supportata tramite questa API HTTP. Per creare le risorse, utilizza l'API caricamento risorse.
Aggiornare un binario di risorse
Consulta caricamento risorse per informazioni su come aggiornare i file binari delle risorse. Non è possibile aggiornare un binario di risorse utilizzando l’API HTTP.
Aggiornare i metadati di una risorsa
Questa operazione aggiorna i metadati della risorsa. Quando si aggiornano le proprietà nello spazio dei nomi dc:
, viene aggiornata la proprietà jcr:
corrispondente. Tuttavia, l’API non sincronizza le proprietà sotto i due spazi dei nomi.
Richiesta: PUT /api/assets/myfolder/myAsset.png -H"Content-Type: application/json" -d '{"class":"asset", "properties":{"dc:title":"My Asset"}}'
Codici di risposta: I codici di risposta sono:
- 200 - OK - se la risorsa è stata aggiornata correttamente.
- 404 - NON TROVATO - se la risorsa non è stata trovata o non è stato possibile accedervi all’URI specificato.
- 412 - PRECONDIZIONE NON RIUSCITA - se non è possibile trovare o accedere alla raccolta radice.
- 500 - ERRORE INTERNO DEL SERVER - se si verificano altri errori.
Creare una rappresentazione di una risorsa
Crea una rappresentazione per una risorsa. Se non viene fornito il nome del parametro della richiesta, il nome del file viene utilizzato come nome della rappresentazione.
Parametri: i parametri sono:
name
: per il nome della rappresentazione.file
: file binario per la copia trasformata come riferimento.
Richiesta
POST /api/assets/myfolder/myasset.png/renditions/web-rendition -H"Content-Type: image/png" --data-binary "@myRendition.png"
POST /api/assets/myfolder/myasset.png/renditions/* -F"name=web-rendition" -F"file=@myRendition.png"
Codici di risposta
- 201 - CREATO - se la rappresentazione è stata creata correttamente.
- 404 - NON TROVATO - se la risorsa non è stata trovata o non è stato possibile accedervi all’URI specificato.
- 412 - PRECONDIZIONE NON RIUSCITA - se non è possibile trovare o accedere alla raccolta radice.
- 500 - ERRORE INTERNO DEL SERVER - se si verificano altri errori.
Aggiornare il rendering di una risorsa
Gli aggiornamenti sostituiscono rispettivamente una rappresentazione di una risorsa con i nuovi dati binari.
Richiesta: PUT /api/assets/myfolder/myasset.png/renditions/myRendition.png -H"Content-Type: image/png" --data-binary @myRendition.png
Codici di risposta: I codici di risposta sono:
- 200 - OK - se la rappresentazione è stata aggiornata correttamente.
- 404 - NON TROVATO - se la risorsa non è stata trovata o non è stato possibile accedervi all’URI specificato.
- 412 - PRECONDIZIONE NON RIUSCITA - se non è possibile trovare o accedere alla raccolta radice.
- 500 - ERRORE INTERNO DEL SERVER - se si verificano altri errori.
Aggiungere un commento a una risorsa
Parametri: i parametri sono message
per il corpo del messaggio del commento e annotationData
per i dati di annotazione in formato JSON.
Richiesta: POST /api/assets/myfolder/myasset.png/comments/* -F"message=Hello World." -F"annotationData={}"
Codici di risposta: I codici di risposta sono:
- 201 - CREATO - se il commento è stato creato correttamente.
- 404 - NON TROVATO - se la risorsa non è stata trovata o non è stato possibile accedervi all’URI specificato.
- 412 - PRECONDIZIONE NON RIUSCITA - se non è possibile trovare o accedere alla raccolta radice.
- 500 - ERRORE INTERNO DEL SERVER - se si verificano altri errori.
Copiare una cartella o una risorsa
Copia in una nuova destinazione una cartella o una risorsa disponibile nel percorso specificato.
Intestazioni richiesta: i parametri sono:
X-Destination
- Nuovo URI di destinazione nell'ambito della soluzione API in cui copiare la risorsa.X-Depth
-infinity
o0
. Se si utilizza0
, verranno copiate solo la risorsa e le relative proprietà e non i relativi elementi figlio.X-Overwrite
- UtilizzareF
per impedire la sovrascrittura di una risorsa nella destinazione esistente.
Richiesta: COPY /api/assets/myFolder -H"X-Destination: /api/assets/myFolder-copy"
Codici di risposta: I codici di risposta sono:
- 201 - CREATO - se la cartella/risorsa è stata copiata in una destinazione non esistente.
- 204 - NESSUN CONTENUTO - se la cartella/risorsa è stata copiata in una destinazione esistente.
- 412 - PRECONDIZIONE NON RIUSCITA - se manca un’intestazione di richiesta.
- 500 - ERRORE INTERNO DEL SERVER - se si verificano altri errori.
Spostare una cartella o una risorsa
Sposta una cartella o una risorsa nel percorso specificato in una nuova destinazione.
Intestazioni richiesta: i parametri sono:
X-Destination
- Nuovo URI di destinazione nell'ambito della soluzione API in cui copiare la risorsa.X-Depth
-infinity
o0
. Se si utilizza0
, verranno copiate solo la risorsa e le relative proprietà e non i relativi elementi figlio.X-Overwrite
- UtilizzareT
per eliminare forzatamente una risorsa esistente oppureF
per impedire la sovrascrittura di una risorsa esistente.
Richiesta: MOVE /api/assets/myFolder -H"X-Destination: /api/assets/myFolder-moved"
Codici di risposta: I codici di risposta sono:
- 201 - CREATO - se la cartella/risorsa è stata copiata in una destinazione non esistente.
- 204 - NESSUN CONTENUTO - se la cartella/risorsa è stata copiata in una destinazione esistente.
- 412 - PRECONDIZIONE NON RIUSCITA - se manca un’intestazione di richiesta.
- 500 - ERRORE INTERNO DEL SERVER - se si verificano altri errori.
Eliminare una cartella, una risorsa o una rappresentazione
Elimina una risorsa (-tree) nel percorso specificato.
Richiesta
DELETE /api/assets/myFolder
DELETE /api/assets/myFolder/myAsset.png
DELETE /api/assets/myFolder/myAsset.png/renditions/original
Codici di risposta: I codici di risposta sono:
- 200 - OK - se la cartella è stata eliminata correttamente.
- 412 - PRECONDIZIONE NON RIUSCITA - se non è possibile trovare o accedere alla raccolta radice.
- 500 - ERRORE INTERNO DEL SERVER - se si verificano altri errori.
Segui le best practice e le limitazioni delle note
-
Assets e le relative copie trasformate non sono più disponibili tramite l'interfaccia Web Assets e l'API HTTP quando viene raggiunta l'Ora di disattivazione. L'API restituisce un errore 404 se Ora di attivazione è nel futuro o Ora di disattivazione è nel passato.
-
L’API HTTP di Assets restituisce solo un sottoinsieme di metadati. Gli spazi dei nomi sono hardcoded e vengono restituiti solo tali spazi dei nomi. Per i metadati completi, vedere il percorso della risorsa
/jcr_content/metadata.json
. -
Alcune proprietà della cartella o della risorsa sono mappate a un prefisso diverso quando vengono aggiornate utilizzando le API. Il prefisso
jcr
dijcr:title
,jcr:description
ejcr:language
viene sostituito con il prefissodc
. Pertanto, nel JSON restituito,dc:title
edc:description
contengono rispettivamente i valori dijcr:title
ejcr:description
.
Esplora risorse correlate