1

在我透露创建一个完整的承诺应用程序之前,我正在使用 S3 创建一个当前没有分发 (CloudFront) 的 iOS 应用程序作为测试。在 S3 管理控制台中,我在我居住的新加坡制作了存储桶,因此此演示实际上并不需要 CloudFront。我必须像这样设置一个端点:

[s3Client setEndpoint: [AmazonEndpoints s3Endpoint: AP_SOUTHEAST_1]];

哪个指向新加坡,端点是存储桶需要将数据发送到右侧的地方?(用户在哪里)

所以现在我有两个问题

  • 如果我使用 CloudFront,是否需要设置端点?我什至如何在 iOS 中使用 CloudFront,我生成一个签名 URL,然后呢?

  • 如果用户在随机国家/地区使用该应用程序,可以说,如果我需要设置(使用 CloudFront),我会将其设置为哪个端点?我会通过语言环境找到他们当前的国家/地区并找到它最接近的端点吗?

谢谢!

4

2 回答 2

5

CloudFront 中的一组文件称为“分发”。当您设置分发时,您指定一个或多个“来源”,这是您为用户提供的文件的规范来源。

在您的情况下,创建一个新分配并将 S3 存储桶指定为源。然后在您的应用程序中,您将其引用为:http://xxxxxxx.cloudfront.net/hello.png而不是http://mybucket.s3.amazonaws.com/hello.png. Cloudfront 将hello.png在有人第一次请求时自动从 S3 存储桶中获取并缓存它。

CloudFront 通过根据网络延迟路由它们来自动(并且几乎是即时地)检测哪个边缘站点离用户最近。您不必自己进行任何这些计算。

我建议您先阅读我在此处列出的注意事项,然后再在您的应用程序中使用 CloudFront。

于 2012-12-18T14:13:51.123 回答
0

我同意@jamieb。您应该创建一个新的 Cloudfront 分配并将 S3 存储桶设置为源。然后,您将不再使用 s3 存储桶链接,您现在将使用云端链接查看图像。Cloudfront 将从 S3 中提取图像并将其存储为缓存,无论您确定多久。例如,如果图像将被同一区域的不同人不断查看,您将希望它缓存在该区域的边缘位置,因此当该区域的新用户查找它时,他们会得到图像更快。

于 2021-08-28T21:23:19.653 回答