我有一个应用程序,允许用户使用CSS和其他项目自定义网站。创建这些文件后,它们将作为公共可读存储在Amazon S3上。因此,我始终能够使用静态URL来引用它们,这些URL不需要我首先连接到S3以生成URL。
我们已将所有文件移至位于托管公司数据中心内的EMC Atmos系统。我知道如何从Atmos生成可共享的URL,但只能通过首先建立连接。 Atmos是否有办法在对象上设置系统元数据,以便可以使用静态URL引用它?
答案 0 :(得分:1)
您无需连接到Atmos即可生成可共享的网址。可共享URL的生成总是发生在客户端;它不会通过HTTP发生。
Atmos系统元数据始终是不可变的。您可以使用可共享的URL生成“静态URL”,并将过期时间设置为遥远的未来。
答案 1 :(得分:0)
EMC Atmos不需要 HTTP / HTTPS连接以生成可共享的URL。它 建立HTTP连接以生成文件,但它可以由存储在云上的文件的最终用户完成。
要创建URL,请在应用程序客户端进行签名(不需要HTTP连接)。原因是因为生成了唯一的签名。
要发送签名,您可以将签名放在URL中:
$url = "http://$server$resource?uid=$uid&expires=$expires&signature=$signature";
或者不是将签名放在URL中,而是通过发布 x-emc-signature 的HTTP标头通过REST API发送签名。
因此,一旦您生成了该URL,您就可以通过电子邮件或文本将其发送给其他人,以后他们可以点击这些URL,只要该URL未过期,它就会生效。
EMC Atmos验证签名后,会将下载内容发送给客户端。请注意,系统时钟关闭超过五分钟的服务器在生成可共享URL时会出现问题,因此请使用NTP守护程序在生成可共享URL的应用程序上保持同步时间。
因此,为了澄清,EMC Atmos不需要与您的云存储提供商建立HTTP连接。首次请求文件时,将完成HTTP连接。此时,该文件将公开发布。