Java 如何从AEM读取二进制文件?

Java 如何从AEM读取二进制文件?,java,aem,Java,Aem,我试图将我的AEM二进制文件存储到具有特定API的本地云存储中。我可以编写一个代码将我的数据从java发送到云,但我不确定是否从AEM读取二进制文件。我想我也要处理所有其他的任务,比如修改删除下载e.t.c.有可能吗?我的意思是,对于AmazonS3,它们有连接器。这就像写我自己的连接器 简短的回答是否定的 在AEM world中,您需要的是一个自定义数据存储连接器。如果进行了配置,二进制文件将进入数据存储。除了文件或S3之外,编写自定义二进制存储将有以下几个问题: 许多额外的家务活需要写下来。

我试图将我的AEM二进制文件存储到具有特定API的本地云存储中。我可以编写一个代码将我的数据从java发送到云,但我不确定是否从AEM读取二进制文件。我想我也要处理所有其他的任务,比如修改删除下载e.t.c.有可能吗?我的意思是,对于AmazonS3,它们有连接器。这就像写我自己的连接器

简短的回答是否定的

在AEM world中,您需要的是一个自定义数据存储连接器。如果进行了配置,二进制文件将进入数据存储。除了文件或S3之外,编写自定义二进制存储将有以下几个问题:

许多额外的家务活需要写下来。例如,自定义存储的数据存储垃圾回收。 将NoDoSt店与自定义数据存储中的引用连接起来,考虑实现S3密钥或文件系统路径的等效性 备份/恢复同步逻辑。 集群支持 一致性检查和恢复选项 AEM缓存插件的缓存要求。 Adobe可能不支持它 未来的升级将是棘手的 请与您的Adobe支持部门联系以获取更多信息,因为他们可能会建议一种替代解决方案来满足您的需求

编辑:一些云存储提供商实现了与S3兼容的API,因此有必要询问您的提供商是否有类似的API


编辑:如果查看,您将看到CachingDataStore不允许在读/写操作期间修改文件名的任何重写挂钩。

什么是HTH?是的,我们的云存储使用与S3相同的API。除此之外,它与Amazon s3有很大不同,这就是为什么我们必须编写一个自定义连接器的原因。如果您的云存储提供s3 API,那么s3连接器应该适合您,因为它与兼容API一起工作,而不关心实现。然而,需要注意的是,大多数S3API实现并不是100%兼容的,最终会出现一些问题。。HTH的意思是“希望这有帮助”,我们使用S3API,但不能使用AEM提供的连接器,因为s3以平面文件结构存储数据。我们有一个限制,我们需要在一个特定的限制后创建新文件夹。啊,好的,那么我建议联系Adobe支持,请他们帮助定制或提供建议,因为S3连接器是专有的,并且根据我上面的回答,隐藏的部分太多,可能会对解决方案产生影响。在我看来,如果不验证所有供应商的产品兼容性,这似乎有点太复杂、太冒险、太昂贵。