我正在创建一个带有S3的iOS应用程序,目前没有发行版(CloudFront)作为测试,然后我才开始创建一个完整的承诺应用程序。在S3管理控制台中,我已经在我住的新加坡工作了,因此这个演示并不真正需要CloudFront。我必须像这样设置一个端点:
[s3Client setEndpoint: [AmazonEndpoints s3Endpoint: AP_SOUTHEAST_1]];
哪个指向新加坡,端点是存储桶需要将数据发送到右边的位置? (用户所在的地方)
所以现在我有两个问题
如果我使用CloudFront,是否需要设置端点?我如何在iOS中使用CloudFront,我生成一个签名的URL然后是什么?
如果用户在随机国家/地区使用该应用,请说明,如果我需要设置(使用CloudFront),我会将其设置为什么端点?我是否可以通过语言环境找到他们当前的国家/地区并找到它最接近的端点?
谢谢!
答案 0 :(得分:4)
CloudFront中的一组文件称为“分发”。设置分发时,您可以指定一个或多个“来源”,这是您为用户提供的文件的规范来源。
在您的情况下,创建一个新的分发并将S3存储桶指定为原点。然后在您的应用程序中,您将其引用为:http://xxxxxxx.cloudfront.net/hello.png
而不是http://mybucket.s3.amazonaws.com/hello.png
。 Cloudfront将在第一次有人请求并缓存它时自动从S3存储桶中获取hello.png
。
CloudFront会根据网络延迟自动(并且几乎即时)检测哪个边缘位置最接近用户。您不必自己进行任何这些计算。
我建议您在应用中使用CloudFront之前read the caveats that I've listed here。