我正在尝试在 s3 存储桶中解压缩 .zip 文件,而不将其下载到我的计算机并将其复制到另一个 s3 存储桶。
我已经将文件复制到另一个存储桶,现在我只需要解压缩它。
我是 python 新手,所以如果你也能解释一下那就太棒了!
import boto3
# set buckets
s3bucket = mybucket
otherbucket = prodbucket
# pass the access keys as variables into the boto session
session = Session(aws_access_key_id=awsAccessKeyID,
aws_secret_access_key=awsSecretAccessKey)
# specify s3 connection
s3 = session.resource('s3')
your_bucket = s3.Bucket(s3bucket)
# set main bucket as copy source
copy_source = {
'Bucket': s3bucket,
'Key': mykey
}
# set staging bucket as bucket variable
bucket = s3.Bucket(otherbucket)
# copy files from main bucket and set …Run Code Online (Sandbox Code Playgroud) 我正在尝试找到一种解决方案,以便在 ALB 日志文件自动从 ALB 上传到 S3 时提取 .gz 格式的 ALB 日志文件。
我的桶结构是这样的
/log-bucket
..alb-1/AWSLogs/account-number/elasticloadbalancing/ap-northeast-1/2018/log.gz
..alb-2/AWSLogs/account-number/elasticloadbalancing/ap-northeast-1/2018/log.gz
..alb-3/AWSLogs/account-number/elasticloadbalancing/ap-northeast-1/2018/log.gz
Run Code Online (Sandbox Code Playgroud)
基本上,每 5 分钟,每个 ALB 都会自动将日志推送到对应的 S3 存储桶。我想立即在同一个存储桶中提取新的 .gz 文件。
有什么办法可以处理这个问题吗?
我注意到我们可以使用 Lambda 函数,但不知道从哪里开始。示例代码将不胜感激!
我注意到,有些Amazon Web Services被称为“ AWS XXX”(例如AWS Lambda),而另一些被称为“ Amazon XXX”(例如Amazon RedShift)。为什么?有什么区别吗?
谢谢。