amazon-s3 - 如何通过 Zend_Service_Amazon_S3 访问 Amazon s3 私有(private)存储桶对象

标签 amazon-s3 service zend-framework

我在 Amazon S3 上创建了一个存储桶,并将一些图像保存在该存储桶中的一个文件夹中。所有图像都是私有(private)的,我正在使用 Zend 的 Zend_Service_Amazon_S3 类。

如何访问私有(private)图像?

最佳答案

您可以通过像这样设置私有(private)网址来完成此任务

public function get_s3_signed_url($bucket, $resource, $AWS_S3_KEY, $AWS_s3_secret_key, $expire_seconds) {
     $expires = time()+$expire_seconds;
     // S3 Signed URL creation
     $string_to_sign = "GET\n\n\n{$expires}\n/".str_replace(".s3.amazonAWS.com","", $bucket)."/$resource";
     $signature = urlencode(base64_encode((hash_hmac("sha1", utf8_encode($string_to_sign), $AWS_s3_secret_key, TRUE))));

     $authentication_params = "AWSAccessKeyId=".$AWS_S3_KEY;
     $authentication_params.= "&Expires={$expires}";
     $authentication_params.= "&Signature={$signature}";
     return $link = "http://s3.amazonAWS.com/{$bucket}/{$resource}?{$authentication_params}";
}

现在使用此网址进行访问。

关于amazon-s3 - 如何通过 Zend_Service_Amazon_S3 访问 Amazon s3 私有(private)存储桶对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8799842/

相关文章:

csv - 如何在logstash中将 `include_headers => true`添加到csv编解码器以进行s3输出?

amazon-web-services - AWS S3 桶和谷歌云存储桶之间的实时同步

node.js - 如何在nodejs中使用aws-sdk同步两个s3存储桶?

php - Zend_Db : Filter results

zend-framework - 我可以将数据库适配器设置为在 Zend_Db_Table_Abstract 类中永久使用吗?

json - 有没有办法在 AWS Athena 中展平结构字段?

java - 如何在android中下载JSON数据

c# - Azure 服务结构实例计数

java - 服务是否应该包含登录用户作为参数?

mysql - 在 zend 中使用动态数据更新查询?