全部产品
云市场

照片分享

更新时间:2017-10-31 16:14:49

智能云相册中的照片是存储在对象存储服务(OSS)中,照片在OSS中默认为私有访问权限。访问智能云相册中的照片,需要通过智能云相册获取照片的访问地址。由于照片是私有访问权限,访问地址是带有有效期的(默认有效期为1小时),超过了有效期就无法通过该访问地址继续访问。因此,这种私有访问地址不适用于照片分享的场景,也不能用于CDN加速。

智能云相册提供了以下功能来支持照片分享:

  1. 设置照片分享过期时间:该功能支持为照片设置分享过期时间。在分享过期以前,照片在OSS上的访问权限将被临时设置为公共可读,这样生成的地址就可以在分享期间内一直有效。当分享到期时,智能云相册会自动将照片在OSS上的读写权限设置为私有以关闭分享。
  2. CDN加速:该功能支持对照片进行CDN加速,适用于访问量大的照片分享场景。

基本概念

访问地址的域名类型(DomainType)

域名类型是指访问地址的域名是OSS域名还是自有CDN加速域名。

在未采用CDN加速时,客户端访问照片是通过OSS域名来访问的,如下图所示:

oss_url

此时,访问地址类似于https://demo.oss-cn-shanghai.aliyuncs.com/test/regression.jpg,其中的域名为OSS域名。

在采用CDN加速时,客户端是通过CDN来访问图片,如果图片没有缓存在CDN上,则CDN会回源OSS获取图片并返回给客户端。这样在CDN缓存失效以前,下次请求相同图片时,图片将直接从CDN返回,从而加快了访问速度。如下图所示:

cdn_url

此时,访问地址中的域名就是您在CDN上配置的自有域名,比如http://youdomain.com/test/regression.jpg

注:如果使用CDN加速,需要您首先开通CDN服务并完成CDN加速域名的配置,请参见开通CDN加速

访问模式(AccessMode)

访问模式是指是通过私有还是公有的方式来访问图片的。二者的区别是,私有访问模式的访问地址中带有鉴权相关的参数,地址是有有效期的。公共访问模式的访问地址是不带鉴权的,且在照片分享过期以前一直有效。

因此,照片的访问地址类型和访问模式就有四种组合,它们的支持关系如下:

CDN域名 OSS域名
私有访问模式 不支持 支持
公共访问模式 支持 支持

其中,通过CDN域名是不支持私有访问模式的,因为私有模式的访问地址中带有鉴权参数,这会导致CDN的命中率不高,起不到加速作用。

开启照片分享

开启照片分享就是为照片设置照片分享过期时间戳(当时间超过该时间戳照片就停止对外分享),默认该值为0表示不对外分享。

可通过以下两种方式设置照片分享过期时间:

  1. 上传照片的提交事务阶段,详见CreatePhoto接口
  2. 照片上传后,可通过EditPhotos接口接口来设置分享过期时间。

然后,您就可以通过GetPublicAccessUrls接口来获取照片的公共访问链接,您可根据实际情况选择是使用OSS域名还是您自有的CDN域名。

关闭照片分享

为照片设置了分享时间后,在分享时间过期时,智能云相册会自动禁止该照片的公有访问,但您依然可以通过获取私有访问地址的方式访问照片。

如果您想提前关闭照片分享,可以通过EditPhotos接口来将分享过期时间设置为0。

总结

实现照片分享只需要通过CreatePhoto接口EditPhotos接口为照片设置分享过期时间,然后通过GetPublicAccessUrls接口来获取照片的可分享的访问地址。如果分享的照片访问量大,还可以开通CDN加速