java云存储代码 java云服务( 四 )


步骤 4. 创建一个S3对象
以下是引用片段:
def s3obj = new S3Object(bucket, new File(”/path/to/nerfwars2.mp4″))
使用文件和存储段初始化S3Object之后,要做的所有事情就是通过putObject方法上传,如清单 5 所示:
步骤 5. 上传影片
以下是引用片段:
s3Service.putObject(bucket, s3obj)
使用清单 5 可以完成上传 。现在影片位于Amazon服务器了,影片的键就是它的名称 。当然,您可以根据需要重写该名称以调用其他对象 。实际上,JetS3t API(以及 AmazonS3RESTful API)公开了许多信息 , 供您创建对象时使用 。我们知道,您还可以提供访问控制列表 。S3中的任何对象都可以保存API允许您创建的其他元数据 。之后可以 通过该元数据的S3API(以及派生的JetS3t)查询任何对象 。
创建对象的URL
到现在为止,我的S3实例有一个包含影片的存储段 。实际上,我的影片可以通过以下URI获?。? 。但是,只有我才能获取 。(在本例中,我只能通过编程方式访问它 , 因为与所有内容关联的默认访问控制被设置为拒绝任何未授权访问) 。我的目的是为选择的用 户提供一种方式查看新影片(在有限的时间内),直到我开始收取访问费用(S3也会提供帮助) 。
创建一个公共URL是S3提供的一个便捷功能;实际上,使用S3,您可以创建一个公共URL,但只在一段时间内有效(例如,24 小时内) 。对于我刚刚存储在S3服务器上的影片,我将创建一个48小时内有效的URL。然后我将向选定的用户提供该 URL , 以便他们下载并观看(假定他们在两天内下载) 。
处理带有效期的文件
要创建一个针对S3对象的时间敏感型URL,您可以使用JetS3t的createSignedGetUrl方法,这是一个S3Service类型的静态方法 。该方法采用一个存储段名称、一个对象键(在本例中是影片名,还记得吗?)、一些凭证(以JetS3t的AWSCredentials对象的形式)、截止日期 。如果您了解所需的存储段和对象键,则可以通过清单 6 中的Groovy代码快速获取URL:
步骤 6. 创建一个时间敏感型URL
以下是引用片段:
def now = new Date()
def url = S3Service.createSignedGetUrl(
bucket.getName(), s3obj.key, awsCredentials, now + 2)
使用 Groovy,我可以通过 + 2 语法轻松指定一个 48 小时的限定日期 。得到的 URL 如下所示(只有一行):
如果您的带宽和存储需求不稳定,则S3能提供很多帮助 。例如,想想我演示的业务模型 — 影片在一年中特定的时间发布 。在传统的存储模型中,您需要在某处机架上购买许多空间(或提供通向它的硬件和管道),很可能下载量很大,但随后会相对降低 。但是 , 您不能根据需要付费 。使用 S3 , 该模型将根据需要付费 — 公司仅在需要时为存储和带宽付费 。更重要的是,S3的安全特性可以帮助您进一步指定人们何时可以下载视频,甚至可以指定谁可以下载 。
使用S3实现这些需求非常容易 。在高水平上,创建一个受限的影片公共下载需要 4 个步骤:
1.登录S3 。
2.创建存储段 。
3.向存储段添加所需的视频(或对象) 。
4.创建一个指向该视频的时间敏感型 URL。
搭建私有云存储搭建私有云存储如下 。
首先,我们进入蒲公英路由器的设置界面,这一界面下 , 每一步骤都有相应的操作提示和操作引导 , 一顿操作即可,没有任何难度 。值得一提的是,路由器设置密码可以使用常用密码、避免遗忘 。
设置好了组网后 , 就可以在蒲公英路由器的网站中继续搭建私有云NAS,同样的,我们需要根据引导一步步完成操作 。这一步骤也并不繁琐 。以上均设置完成后 , 我们就可以在设置界面添加网络成员了,也就是上网常用用户 。

推荐阅读