Загрузить CSV из S3 в AWS RDS Aurora MySQL Serverless

Осмотревшись, я нашел некоторую документацию по чтению CSV из S3 в таблицу базы данных MySQL AWS Aurora, но, похоже, это не относится к экземплярам SERVERLESS. Кто-нибудь знает как это сделать?

Примерно так можно поступить с несерверным экземпляром:

with conn.cursor() as cur:
            query = """
                    LOAD DATA FROM S3 'filepath' 
                    INTO TABLE table 
                    FIELDS TERMINATED BY ','
                    LINES TERMINATED BY '\n'
                    """
            cur.execute(query)
            conn.commit()

В бессерверном контексте это приводит к ошибке:

В доступе отказано; вам потребуется (по крайней мере одна из) привилегия (-и) ЗАГРУЗИТЬ ИЗ S3 для этой операции

Все решения для этой ошибки относятся к несерверному экземпляру и, следовательно, не могут быть воспроизведены в моем варианте использования.


person OJT    schedule 12.10.2019    source источник
comment
Это должно быть возможно в бессерверном сиянии, просто права не установлены правильно. Сможете ли вы проделать эту операцию в классическом инстансе Авроры?   -  person Horatiu Jeflea    schedule 12.10.2019
comment
Да, это возможно в классическом экземпляре Aurora - онлайн-документация указывает, что это невозможно в Serverless, поэтому я надеюсь, что есть альтернатива для загрузки данных CSV.   -  person OJT    schedule 14.10.2019
comment
Хотя вы не можете сделать это с версией MySQL Serverless, это возможно с версией PostgreSQL. Вы можете сделать это с помощью расширения aws_s3 с функцией aws_s3.table_import_from_s3 и параметром учетных данных (не ролью IAM - эту роль нельзя назначить бессерверной версии Aurora).   -  person orcaman    schedule 12.04.2021


Ответы (1)


LOAD FROM S3 не поддерживается в Aurora Serverless. На данный момент вам нужно передавать данные через слой SQL. Если это однократный импорт, создайте подготовленный кластер Aurora, загрузите данные из S3 и восстановите резервную копию в бессерверный кластер.

https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Integrating.LoadFromS3.html

https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.restorefromsnapshot.html

person The-Big-K    schedule 25.10.2019