0

熟悉 Amazon 带宽成本的人都知道,Amazon 云中的网络流量不计费,条件是它位于同一区域*。

* :过度简化,但这是一般的经验法则。

我有一个调用 S3 签名 URL 并对这些 s3 对象进行一些处理的 lambda 函数。这些 S3 签名的 url 与其他参数一起由我在 EC2 上运行的应用程序传递。

那些 S3 签名的 URL 如下所示:https ://bucket.s3.eu-central-1.amazonaws.com/object/objectid.jpg?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4- HMAC-SHA256&X-Amz-Credential=XXXXXXX%2Feu-central-1%2Fs3%2Faws4_request&X-Amz-Date=XXXXX&X-Amz-SignedHeaders=host&X-Amz-Expires=1200&X-Amz-Signature=XXXX

我知道在 lambda 中应该使用可由 AWS sdk api 调用的 AWS 函数。以我为例,Python3 的示例文档:https ://docs.aws.amazon.com/lambda/latest/dg/with-s3-example.html

但是,我对 Lambda 还是很陌生,所以我想避免重新构建我的代码,并冒着被供应商锁定的风险。

所以回到我的问题:调用签名的 AWS s3 URL 是否足以避免为外部流量计费,还是我真的应该使用 Amazon SDK 来调用 s3 对象?

我的 Lambda 和 S3 实例都在同一个区域。

提前致谢!

4

0 回答 0