本文包含为Assets的开发者提供的建议、参考材料和资源作为Cloud Service。 它包括新的资产上传模块、API参考以及有关后处理工作流中提供的支持的信息。
Assets as提供 Cloud Service 了多个API以编程方式与数字资产交互。每个API都支持特定用例,如下表中所述。 Assets用户界面、Experience Manager桌面应用程序和Adobe Asset Link支持所有或部分操作。
某些API继续存在,但不受主动支持(用×表示),且不得使用。
支持级别 | 描述 |
---|---|
选定 | 支持 |
× | 不受支持. 不要使用。 |
- | 不可用 |
用例 | aem-upload | AEM / Sling / JCRJava API | Asset compute服务 | Assets HTTP API | Sling GET / POST Servlet | GraphQL (预览) |
---|---|---|---|---|---|---|
原始二进制 | ||||||
创建原始 | 选定 | × | - | × | × | - |
阅读原件 | - | × | 选定 | 选定 | 选定 | - |
更新原始 | 选定 | × | 选定 | × | × | - |
删除原始 | - | 选定 | - | 选定 | 选定 | - |
复制原始 | - | 选定 | - | 选定 | 选定 | - |
移动原始 | - | 选定 | - | 选定 | 选定 | - |
元数据 | ||||||
创建元数据 | - | 选定 | 选定 | 选定 | 选定 | - |
读取元数据 | - | 选定 | - | 选定 | 选定 | - |
更新元数据 | - | 选定 | 选定 | 选定 | 选定 | - |
删除元数据 | - | 选定 | 选定 | 选定 | 选定 | - |
复制元数据 | - | 选定 | - | 选定 | 选定 | - |
移动元数据 | - | 选定 | - | 选定 | 选定 | - |
内容片段(CF) | ||||||
创建CF | - | 选定 | - | 选定 | - | - |
阅读CF | - | 选定 | - | 选定 | - | 选定 |
更新CF | - | 选定 | - | 选定 | - | - |
删除CF | - | 选定 | - | 选定 | - | - |
复制CF | - | 选定 | - | 选定 | - | - |
移动CF | - | 选定 | - | 选定 | - | - |
版本 | ||||||
创建版本 | 选定 | 选定 | - | - | - | - |
阅读版本 | - | 选定 | - | - | - | - |
删除版本 | - | 选定 | - | - | - | - |
文件夹 | ||||||
创建文件夹 | 选定 | 选定 | - | 选定 | - | - |
读取文件夹 | - | 选定 | - | 选定 | - | - |
删除文件夹 | 选定 | 选定 | - | 选定 | - | - |
复制文件夹 | 选定 | 选定 | - | 选定 | - | - |
移动文件夹 | 选定 | 选定 | - | 选定 | - | - |
Experience Manager as Cloud Service o提供了将资产上传到存储库的新方法。用户可以使用HTTP API直接将资产上传到云存储。 上传二进制文件的步骤有:
该方法提供了可伸缩、更高效的资产上传处理。 与Experience Manager 6.5相比的区别是:
请参阅在开源aem-upload库中实现此方法的客户端代码。
将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)"
]
}
]
}
completeURI
(字符串):二进制文件完成上传时调用此URI。URI可以是绝对URI或相对URI,客户端应能处理其中任何一个URI。 也就是说,该值可以是"https://author.acme.com/content/dam.completeUpload.json"
或"/content/dam.completeUpload.json"
请参见完整上载。folderPath
(字符串):上载二进制文件的文件夹的完整路径。(files)
(阵列):元素列表,其长度和顺序与初始化请求中提供的二进制信息列表的长度和顺序相匹配。fileName
(字符串):相应二进制的名称,如启动请求中提供。此值应包括在完整请求中。mimeType
(字符串):相应二进制的MIME类型,如启动请求中提供。此值应包括在完整请求中。uploadToken
(字符串):相应二进制文件的上传令牌。此值应包括在完整请求中。uploadURIs
(阵列):字符串的列表,其值为应将二进制内容上载到的完整URI(请参阅上 载二进制)。minPartSize
(数字):如果存在多个URI,则可能提供给任何一个uploadURI的数据的最小长度(以字节为单位)。maxPartSize
(数字):如果存在多个URI,则可能提供给任何一个uploadURI的数据的最大长度(以字节为单位)。启动上传的输出包括一个或多个上传URI值。 如果提供了多个URI,则客户端将二进制文件拆分为多个部分,并按顺序对每个URI发出POST请求。 使用所有URI。 确保每个部件的大小都在初始化响应中指定的最小和最大大小范围内。 CDN边缘节点有助于加速请求的二进制文件上传。
实现此目的的一种可能方法是根据API提供的上传URI数计算部件大小。 例如,假定二进制文件的总大小为20,000字节,上传URI的数量为2。 然后,按照以下步骤操作:
如果上传成功,服务器将使用201
状态代码对每个请求做出响应。
在上载二进制文件的所有部分后,将HTTPPOST请求提交到由启动数据提供的完整URI。 请求主体的内容类型应为application/x-www-form-urlencoded
表单数据,包含以下字段。
字段 | 类型 | 必需或不需要 | 描述 |
---|---|---|---|
fileName |
字符串 | 必填 | 资产的名称,由初始数据提供。 |
mimeType |
字符串 | 必填 | 二进制的HTTP内容类型,由启动数据提供。 |
uploadToken |
字符串 | 必填 | 二进制的上传令牌,由启动数据提供。 |
createVersion |
布尔型 | 可选 | 如果True 和具有指定名称的资产存在,则Experience Manager将创建该资产的新版本。 |
versionLabel |
字符串 | 可选 | 如果创建了新版本,则与新版本的资产关联的标签。 |
versionComment |
字符串 | 可选 | 如果创建了新版本,则与该版本关联的注释。 |
replace |
布尔型 | 可选 | 如果True 和具有指定名称的资产存在,则Experience Manager将删除该资产,然后重新创建它。 |
!![NOTE]
如果资产存在且未指定createVersion
和replace
,则Experience Manager将使用新的二进制文件更新资产的当前版本。
与启动过程一样,完整请求数据可能包含多个文件的信息。
直到为文件调用完整URL后,才会完成上传二进制文件的过程。 资产会在上传流程完成后进行处理。 即使资产的二进制文件上传完毕,但上传过程未完成,处理也不会开始。
如果成功,服务器将使用200
状态代码做出响应。
要进一步了解上传算法或构建您自己的上传脚本和工具,Adobe提供开放源码库和工具:
仅Adobe Experience Manager作为Cloud Service支持新的上传方法。 Adobe Experience Manager 6.5中的API已弃用。 与上传或更新资产或演绎版(任何二进制上传)相关的方法在以下API中已弃用:
AssetManager
Java API,如 AssetManager.createAsset(..)
在Experience Manager中,资产处理基于使用资产微服务的处理用户档案配置。 处理不需要开发人员扩展。
对于后处理工作流配置,请使用带有自定义步骤的扩展的标准工作流。
从Experience Manager的先前版本升级的客户可以使用资产微服务处理资产。 云本机资产微服务的配置和使用更简单。 不支持在先前版本中的DAM更新资产工作流中使用的几个工作流步骤。
Experience Manager 作为支 Cloud Service 持以下工作流步骤:
com.day.cq.dam.similaritysearch.internal.workflow.process.AutoTagAssetProcess
com.day.cq.dam.core.impl.process.CreateAssetLanguageCopyProcess
com.day.cq.wcm.workflow.process.CreateVersionProcess
com.day.cq.dam.similaritysearch.internal.workflow.smarttags.StartTrainingProcess
com.day.cq.dam.similaritysearch.internal.workflow.smarttags.TransferTrainingDataProcess
com.day.cq.dam.core.impl.process.TranslateAssetLanguageCopyProcess
com.day.cq.dam.core.impl.process.UpdateAssetLanguageCopyProcess
com.adobe.cq.workflow.replication.impl.ReplicationWorkflowProcess
com.day.cq.dam.core.impl.process.DamUpdateAssetWorkflowCompletedProcess
以下技术工作流模型将替换为资产微型服务,或者该支持不可用:
com.day.cq.dam.core.impl.process.DamMetadataWritebackWorkflowCompletedProcess
com.day.cq.dam.core.process.DeleteImagePreviewProcess
com.day.cq.dam.s7dam.common.process.DMEncodeVideoWorkflowCompletedProcess
com.day.cq.dam.core.process.GateKeeperProcess
com.day.cq.dam.core.process.AssetOffloadingProcess
com.day.cq.dam.core.process.MetadataProcessorProcess
com.day.cq.dam.core.process.XMPWritebackProcess
com.adobe.cq.dam.dm.process.workflow.DMImageProcess
com.day.cq.dam.s7dam.common.process.S7VideoThumbnailProcess
com.day.cq.dam.scene7.impl.process.Scene7UploadProcess
com.day.cq.dam.s7dam.common.process.VideoProxyServiceProcess
com.day.cq.dam.s7dam.common.process.VideoThumbnailDownloadProcess
com.day.cq.dam.s7dam.common.process.VideoUserUploadedThumbnailProcess
com.day.cq.dam.core.process.CreatePdfPreviewProcess
com.day.cq.dam.core.process.CreateWebEnabledImageProcess
com.day.cq.dam.video.FFMpegThumbnailProcess
com.day.cq.dam.core.process.ThumbnailProcess
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.video.FFMpegTranscodeProcess
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.ScheduledPublishBPProcess
com.day.cq.dam.core.process.ScheduledUnPublishBPProcess
com.day.cq.dam.core.process.SendDownloadAssetEmailProcess
com.day.cq.dam.core.impl.process.SendTransientWorkflowCompletedEmailProcess