1

我有一个在线客户文件共享存储,例如 Dropbox。我们使用 S3 进行存储。当客户下载任何文件时,他们将获得带有 S3 存储桶名称和文件的完整 URL。s3 正在将预签名的 URL 发送到 api。我不想向我们的最终客户展示我们正在使用 S3 以及我们的 URL/S3 存储桶名称是什么。现在请告诉我解决该问题的解决方法。我附上了下载文件的短屏幕作为示例,它显示了存储桶名称和完整 URL。 在此处输入图像描述

我还附上了请求的详细信息。

response-content-disposition=attachment%3B%20filename%2A%3DUTF-8%27%2717799421_1301945716556805_5072327839011550698_n.jpg
&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD
&X-Amz-Algorithm=AWS4-HMAC-SHA256
&X-Amz-Credential=AKIAJCCG3CKV5IHGGTVA%2F20180722%2Fus-west-2%2Fs3%2Faws4_request
&X-Amz-Date=20180722T063558Z
&X-Amz-SignedHeaders=host
&X-Amz-Expires=600
&X-Amz-Signature=f2666368cd698a4f60e4a7931768cb0e833221007e947671a44bff1a72c54c90
4

1 回答 1

0

您需要创建自己的应用程序端点来接收图像请求。然后,您的应用程序将验证访问权限,从 S3 检索对象并将其传递回调用客户端。

请注意,因此您需要扩展您的应用程序以处理工作负载,而对 Amazon S3 的请求将自动利用 S3 的规模。

我猜你可以通过 API Gateway 和 AWS Lambda 完成上述操作。它会为您处理扩展,但您将根据使用情况付费。

底线:如果你不打算指向 S3,你将不得不指向其他东西——你将负责创建它、维护它并为它付费。

于 2018-07-22T08:48:26.987 回答