文章包含為開發商提供的建議、參考資料和資源 Assets 作為 Cloud Service。 它包括新的資產上載模組、API參考以及有關後處理工作流中提供的支援的資訊。
Assets 作為 Cloud Service 提供了幾個API以寫程式方式與數字資產交互。 每個API都支援特定的使用案例,如下表所述。 的 Assets 用戶介面, Experience Manager 案頭應用和 Adobe Asset Link 支援所有或部分行動。
某些API繼續存在,但不受活動支援(用×表示)。 盡可能不要使用這些API。
支援級別 | 說明 |
---|---|
✓ | 支援 |
× | 不支援. 別用。 |
- | 不可用 |
用例 | aem上載 | Experience Manager/吊具/JCR Java API | Asset compute服務 | Assets HTTP API | 吊帶 GET / POST servel | GraphQL |
---|---|---|---|---|---|---|
原始二進位 | ||||||
建立原始 | ✓ | × | - | × | × | - |
讀取原件 | - | × | ✓ | ✓ | ✓ | - |
更新原始 | ✓ | × | ✓ | × | × | - |
刪除原始 | - | ✓ | - | ✓ | ✓ | - |
複製原始 | - | ✓ | - | ✓ | ✓ | - |
移動原始 | - | ✓ | - | ✓ | ✓ | - |
中繼資料 | ||||||
建立元資料 | - | ✓ | ✓ | ✓ | ✓ | - |
讀取元資料 | - | ✓ | - | ✓ | ✓ | - |
更新中繼資料 | - | ✓ | ✓ | ✓ | ✓ | - |
刪除元資料 | - | ✓ | ✓ | ✓ | ✓ | - |
複製元資料 | - | ✓ | - | ✓ | ✓ | - |
移動元資料 | - | ✓ | - | ✓ | ✓ | - |
內容片段(CF) | ||||||
建立CF | - | ✓ | - | ✓ | - | - |
閱讀CF | - | ✓ | - | ✓ | - | ✓ |
更新CF | - | ✓ | - | ✓ | - | - |
刪除CF | - | ✓ | - | ✓ | - | - |
複製CF | - | ✓ | - | ✓ | - | - |
移動CF | - | ✓ | - | ✓ | - | - |
版本 | ||||||
建立版本 | ✓ | ✓ | - | - | - | - |
讀取版本 | - | ✓ | - | - | - | - |
刪除版本 | - | ✓ | - | - | - | - |
資料夾 | ||||||
建立資料夾 | ✓ | ✓ | - | ✓ | - | - |
讀取資料夾 | - | ✓ | - | ✓ | - | - |
刪除資料夾 | ✓ | ✓ | - | ✓ | - | - |
複製資料夾 | ✓ | ✓ | - | ✓ | - | - |
移動資料夾 | ✓ | ✓ | - | ✓ | - | - |
在 Experience Manager 作為 Cloud Service,您可以使用HTTP API直接將資產上載到雲儲存。 下面是上載二進位檔案的步驟。 在外部應用程式中執行這些步驟,而不是在 Experience Manager JVM。
在外部應用程式中執行以上步驟,而不是在 Experience Manager JVM。
該方法提供了對資產上載的可擴展且效能更高的處理。 與現時比較之 Experience Manager 6.5是:
請參見在開源中實現此方法的客戶端代碼 aem上載庫。
將HTTPPOST請求提交到所需資料夾。 在此資料夾中建立或更新資產。 包括選擇器 .initiateUpload.json
指示請求是啟動二進位檔案的上載。 例如,應建立資產的資料夾的路徑是 /assets/folder
。 POST請求為 POST https://[aem_server]:[port]/content/dam/assets/folder.initiateUpload.json
。
請求正文的內容類型應為 application/x-www-form-urlencoded
表單資料,包含以下欄位:
(string) fileName
: 必要. 中顯示的資產名稱 Experience Manager。(number) fileSize
: 必要. 正在上載的資產的檔案大小(以位元組為單位)。只要每個二進位檔案包含必填欄位,就可以使用單個請求啟動多個二進位檔案的上載。 如果成功,請求將以 201
狀態代碼和包含以下格式的JSON資料的主體:
{
"completeURI": "(string)",
"folderPath": "(string)",
"files": [
{
"fileName": "(string)",
"mimeType": "(string)",
"uploadToken": "(string)",
"uploadURIs": [
"(string)"
],
"minPartSize": (number),
"maxPartSize": (number)
}
]
}
completeURI
(字串):在二進位檔案完成上載後調用此URI。 URI可以是絕對URI或相對URI,客戶端應能夠處理兩者之一。 即,值可以是 "https://[aem_server]:[port]/content/dam.completeUpload.json"
或 "/content/dam.completeUpload.json"
請參閱 完成上載。folderPath
(字串):上載二進位檔案的資料夾的完整路徑。(files)
(陣列):其長度和順序與初始化請求中提供的二進位資訊清單的長度和順序相匹配的元素清單。fileName
(字串):相應二進位檔案的名稱,如啟動請求中提供的。 此值應包括在完整請求中。mimeType
(字串):相應二進位檔案的MIME類型,如啟動請求中提供的。 此值應包括在完整請求中。uploadToken
(字串):相應二進位檔案的上載令牌。 此值應包括在完整請求中。uploadURIs
(陣列):值為二進位內容應上載到的完整URI的字串清單(請參見) 上載二進位)。minPartSize
(數):可提供給以下任一資料的最小長度(以位元組為單位) uploadURIs
,如果有多個URI。maxPartSize
(數):可提供給以下任一資料的最大長度(以位元組為單位) uploadURIs
,如果有多個URI。啟動上載的輸出包括一個或多個上載URI值。 如果提供了多於一個URI,則客戶機可以將二進位檔案拆分成多個部件,並按順序向提供的上載URI發出每個部件的PUT請求。 如果選擇將二進位檔案拆分為零件,請遵循以下准則:
minPartSize
。maxPartSize
。maxPartSize
,將二進位檔案拆分為多個部分以上載。如果二進位檔案的大小小於或等於 maxPartSize
,您可以將整個二進位檔案上載到單個上載URI。 如果提供了多個上載URI,請使用第一個上載URI,然後忽略其餘的上載URI。 您不必使用所有URI。
CDN邊緣節點有助於加速請求的二進位檔案上載。
最簡單的方法是使用 maxPartSize
作為零件尺寸。 如果將此值用作部件大小,則API合同將確保有足夠的上載URI來上載二進位檔案。 為此,將二進位檔案拆分為大小部分 maxPartSize
,按順序為每個部件使用一個URI。 最後部分的大小可以小於或等於 maxPartSize
。 例如,假設二進位檔案的總大小為20,000位元組, minPartSize
是5,000位元組, maxPartSize
為8,000位元組,上載URI的數量為5。 執行以下步驟:
minPartSize
。常見錯誤是根據API提供的上載URI數計算部件大小。 API合同不保證此方法有效,並且實際上可能導致部件大小超出範圍 minPartSize
和 maxPartSize
。 這可能導致二進位上載失敗。
同樣,最簡單和最安全的方法是簡單地使用尺寸等於 maxPartSize
。
如果上載成功,伺服器將用 201
狀態代碼。
在上載二進位檔案的所有部分後,將HTTPPOST請求提交到由啟動資料提供的完整URI。 請求正文的內容類型應為 application/x-www-form-urlencoded
表單資料,包含以下欄位。
欄位 | 類型 | 需要或不需要 | 說明 |
---|---|---|---|
fileName |
字串 | 必要 | 資產名稱,如初始資料所提供。 |
mimeType |
字串 | 必要 | 啟動資料提供的二進位檔案的HTTP內容類型。 |
uploadToken |
字串 | 必要 | 正如啟動資料提供的那樣,為二進位檔案上載令牌。 |
createVersion |
布林值 | 可選 | 如果 True 並且存在具有指定名稱的資產, Experience Manager 建立資產的新版本。 |
versionLabel |
字串 | 可選 | 如果建立了新版本,則與資產的新版本關聯的標籤。 |
versionComment |
字串 | 可選 | 如果建立了新版本,則與該版本關聯的注釋。 |
replace |
布林值 | 可選 | 如果 True 並且存在指定名稱的資產, Experience Manager 刪除該資產,然後重新建立它。 |
uploadDuration |
數量 | 可選 | 檔案完整上載的總時間(毫秒)。 如果指定,則上載持續時間將包含在系統日誌檔案中以用於傳輸速率分析。 |
fileSize |
數量 | 可選 | 檔案的大小(以位元組為單位)。 如果指定,則檔案大小將包含在系統日誌檔案中以用於傳輸速率分析。 |
如果資產存在且 createVersion
無 replace
指定,然後 Experience Manager 使用新的二進位檔案更新資產的當前版本。
與啟動過程一樣,完整請求資料可能包含多個檔案的資訊。
在為檔案調用完整的URL之前,不會完成上載二進位檔案的過程。 在上載過程完成後處理資產。 即使資產的二進位檔案已完全上載但上載過程未完成,處理也不會啟動。 如果上載成功,伺服器將以 200
狀態代碼。
要瞭解有關上載算法的更多資訊或構建您自己的上載指令碼和工具,Adobe提供了開源庫和工具:
僅支援新上載方法 Adobe Experience Manager 作為 Cloud Service。 來自的API Adobe Experience Manager 不建議使用6.5。 以下API中不建議使用與上載或更新資產或格式副本(任何二進位上載)相關的方法:
AssetManager
Java API,例如 AssetManager.createAsset(..)
在 Experience Manager,資產處理基於 處理配置檔案 使用的配置 資產微服務。 處理不需要開發人員擴展。
對於後處理工作流配置,請使用帶有擴展的標準工作流和自定義步驟。
如果從以前的版本升級 Experience Manager,您可以使用資產微服務處理資產。 雲本地資產微服務的配置和使用更簡單。 中使用的幾個工作流步驟 DAM更新資產 不支援以前版本中的工作流。 有關受支援類的詳細資訊,請參見 Java API引用或Javadocs。
以下技術工作流模型將被資產微服務替換,或者沒有支援:
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