Solución:
Bien, necesitas psycopg2
Módulo de Python para ejecutar el comando COPY.
Mi código se ve así:
import psycopg2
#Amazon Redshift connect string
conn_string = "dbname="***" port="5439" user="***" password='***' host="mycluster.***.redshift.amazonaws.com""
#connect to Redshift (database should be open to the world)
con = psycopg2.connect(conn_string);
sql="""COPY %s FROM '%s' credentials
'aws_access_key_id=%s; aws_secret_access_key=%s'
delimiter '%s' FORMAT CSV %s %s; commit;""" %
(to_table, fn, AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY,delim,quote,gzip)
#Here
# fn - s3://path_to__input_file.gz
# gzip = 'gzip'
cur = con.cursor()
cur.execute(sql)
con.close()
Usé boto3 / psycopg2 para escribir CSV_Loader_For_Redshift
Vuelva al paso 4 en ese tutorial que vinculó. ¿Ves dónde te muestra cómo obtener la URL del clúster? Debe conectarse a esa URL con un controlador PostgreSQL. Los SDK de AWS, como Boto3, brindan acceso a la API de AWS. Debe conectarse a Redshift a través de una API de PostgreSQL, al igual que lo haría con una base de datos de PostgreSQL en RDS.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)