2011-04-18 25 views
1

使用PHP亞馬遜SDK我能成功使用下面的載體作用來設置一個URL 30秒訪問:get_object_url($bucket, $filename, $preauth = 0, $opt = null)指定30s ACL不能與Cloudfront配合使用?

$s3->get_object_url($results['s3.bucket.name'], $results['s3.file.name'], '30 seconds'); 

現在,這個問題是它返回一個夢幻般的網址:

"s3.url": "http://THECOOLEST.BUCKET.INTHEWORLD.EVER.s3.amazonaws.com/2011/04/18/image/png/8ba2d302-a441-45d4-8354-08e2b7e1a325.png?AWSAccessKeyId=XXXXXXXXXXXXXXXXX&Expires=1303162244&Signature=AWdUnHSaIBDmRcbwo2RFSUQaqBM%3D", 

當我將URL更改爲我們用於cloudfront的CNAME時,ACL不起作用。任何人都知道如何配置CNAME配置爲get_object_url

回答

0

Cloudfront和S3是兩回事。

您需要爲S3存儲桶設置一個CNAME。有關更多信息,請參閱AWS文檔:http://docs.amazonwebservices.com/AmazonS3/latest/dev/index.html?VirtualHosting.html#VirtualHostingCustomURLs

+0

Geoff,CNAME已配置。 ACL不適用於CNAME網址......僅適用於默認網址。這也是一個雲端問題......不是S3特定的問題。 – sdolgy 2011-04-19 08:24:54

+1

@sdolgy - 你的問題仍然令人困惑。 'get_object_url'在S3中爲文件生成一個url,但稍後您將討論Cloudfront CNAME。 CNAMES和Url for Cloudfront和S3是不同的。要爲Cloudfront文件生成一個url,你可以在'cloudfront.class.php'中使用'get_private_object_url'。見http://docs.amazonwebservices.com/AWSSDKforPHP/latest/#m=AmazonCloudFront/get_private_object_url – 2011-04-19 08:44:06

+0

那裏你去...這就是我正在尋找的答案。爲跟進Geoff而歡呼。 – sdolgy 2011-04-21 19:18:48

相關問題