我对红宝石很陌生。我可以使用 ruby 连接到 AWS S3。我正在使用以下代码
filePath = '/TMEventLogs/stable/DeviceWiFi/20160803/1.0/20160803063600-2f9aa901-2ce7-4932-aafd-f7286cdb9871.csv'
s3.get_object({bucket: "analyticspoc", key:"TMEventLogs/stable/DeviceWiFi/20160803/1.0/"}, target:filePath ) do |chunk|
puts "1"
end
Run Code Online (Sandbox Code Playgroud)
在上面的代码中,s3 是客户端。“analyticspoc”是根存储桶。我的 csv 文件路径如下All Buckets /analyticspoc/TMEventLogs/stable/DeviceWiFi/20160803/1.0/20160803063600-2f9aa901-2ce7-4932-aafd-f7286cdb9871.csv。
我已经尝试过上面的代码。我在上面的代码中遇到了错误Error getting objects: [Aws::S3::Errors::NoSuchKey] - The specified key does not exist。使用上面的代码我想读取文件的内容。怎么做 ?请告诉我上面的代码有什么错误
得到答案了。您可以使用 list_objects 来访问块中的文件名数组(一次 1000 个),其中 get_object 用于访问单个文件的内容,如下所示
BUCKET = "analyticspoc"
path = "TMEventLogs/stable/DeviceWiFi/20160803/1.0/"
s3.list_objects(bucket:BUCKET, prefix: path).each do |response|
contents = response.contents
end
file_name = "TMEventLogs/stable/DeviceWiFi/20160803/1.0/012121212121"
response = s3.get_object(bucket: BUCKET, key: file_name)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4968 次 |
| 最近记录: |