Чтение содержимого объекта S3 (CSV-файл) - PullRequest
0 голосов
/ 17 мая 2019

Вот что я пытаюсь сделать в AWS, используя Ruby

  1. Подключившись к Athena и выполнив запрос к одной из таблиц, результат будет сохранен как объект (.csv) вкорзина s3
  2. Проверьте, сохранен ли файл в определенной корзине
  3. Прочитайте содержимое файла

Пока я могу выполнить шаги 1и 2. Я застрял в шаге 3. Хотите знать, как приступить к этому шагу?

require 'aws-sdk'
require 'aws-sdk-s3'

# conn = Athens::Connection.new(region: 'ap-southeast-2')
athena = Aws::Athena::Client.new(region: 'ap-southeast-2')
response = athena.start_query_execution({
    query_string: "Select * from test_table",
    query_execution_context: {
        database: "test_database",
    },
    result_configuration: {
        output_location: "s3://test",
        encryption_configuration: {
            encryption_option: "SSE_S3", # required, accepts SSE_S3, SSE_KMS, CSE_KMS
            kms_key: "String",
        },
    },
    work_group: "primary"
})
puts response[:query_execution_id]
sleep(300)
file = response[:query_execution_id]+ ".csv"
puts file.class


s3 = Aws:: S3:: Resource.new(region: 'ap-southeast-2')
bucket_exists = s3.bucket('test').exists ?
    puts bucket_exists

bucket = s3.bucket('badariathena')


if bucket.object(file).exists ?
    puts "File present"
else
    puts "File not present"
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...