Я пишу скрипт на Python, который запускает запрос через Athena, выводит его на S3 и загружает на мой компьютер.Я могу выполнить свой запрос через Афину и вывести результат в S3.Так что мой следующий шаг, который я не могу понять, это как загрузить его на мой компьютер, не зная имени ключа?
Есть ли способ поиска ключа объекта в моем скрипте python после его вывода наАфина?
Что я выполнил:
# Output location and DB
s3_output = ‘s3_output_here’
database = ‘database_here’
# Function to run Athena query
def run_query(query, database, s3_output):
while True:
try:
response = client.start_query_execution(
QueryString=query,
QueryExecutionContext={
'Database': database
},
ResultConfiguration={
'OutputLocation': s3_output,
}
)
return response
break
except client.exceptions.TooManyRequestsException as e:
print('Too many requests, trying again after sleep')
time.sleep(100)
# Our SQL Query
query = """
SELECT *
FROM test
”””
print("Running query to Athena...")
res = run_query(query, database, s3_output)
Я понимаю, как загрузить файл с этим кодом:
try:
s3.Bucket(BUCKET_NAME).download_file(KEY, ‘KEY_HERE’)
except botocore.exceptions.ClientError as e:
if e.response['Error']['Code'] == "404":
print("The object does not exist.")
else:
raise
Итак, как я могу прочитать имя ключа после запускамой первый заполненный код?