La operación COPIA Redshift no funciona en SQLAlchemy
Estoy tratando de hacer una COPIA de Redshift en SQLAlchemy.
El siguiente SQL copia correctamente los objetos de mi depósito S3 en mi tabla Redshift cuando lo ejecuto en psql:
COPY posts FROM 's3://mybucket/the/key/prefix'
WITH CREDENTIALS 'aws_access_key_id=myaccesskey;aws_secret_access_k,ey=mysecretaccesskey'
JSON AS 'auto';
Tengo varios archivos llamados
s3://mybucket/the/key/prefix.001.json
s3://mybucket/the/key/prefix.002.json
etc.
Puedo verificar que las nuevas filas se agregaron a la tabla conselect count(*) from posts
.
Sin embargo, cuando ejecuto exactamente la misma expresión SQL en SQLAlchemy, la ejecución se completa sin errores, pero no se agregan filas a mi tabla.
session = get_redshift_session()
session.bind.execute("COPY posts FROM 's3://mybucket/the/key/prefix' WITH CREDENTIALS aws_access_key_id=myaccesskey;aws_secret_access_key=mysecretaccesskey' JSON AS 'auto';")
session.commit()
No importa si hago lo anterior o
from sqlalchemy.sql import text
session = get_redshift_session()
session.execute(text("COPY posts FROM 's3://mybucket/the/key/prefix' WITH CREDENTIALS aws_access_key_id=myaccesskey;aws_secret_access_key=mysecretaccesskey' JSON AS 'auto';"))
session.commit()