繁体   English   中英

如何获取当前用户在 AWS SDK (Ruby on Rails) 中创建的 S3 对象?

[英]How to get S3 objects created by current user in AWS SDK (Ruby on Rails)?

使用 AWS SDK,是否可以通过编程方式获取特定用户(当前用户)创建的所有存储桶对象的列表?

这将帮助您:

require 'aws-sdk-s3'  # v2: require 'aws-sdk'

region = 'us-west-2'
s3 = Aws::S3::Resource.new(region: region)

s3.buckets.limit(50).each do |b|
  puts "#{b.name}"
end

来源

此外,这将列出存储桶的对象:

s3_bucket.objects.with_prefix('folder_name').collect(&:key)

对于版本 2,它是:

s3_bucket.objects(prefix: 'folder_name').collect(&:key)

来源

两者的结合将帮助您实现目标。

无法识别创建对象的“用户”。

当对 Amazon S3 进行 API 调用以上传/创建对象时,将检查凭证以确认它们被允许执行操作。 确认后,创建的对象由 AWS 账户“拥有”,而不是账户内的特定用户。

您可以为 S3 Bucket 启用对象级日志记录,但这只会输出日志信息。 它不会将对象与用户相关联。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM