小编Sha*_*rma的帖子

即使在启动它的 lambda 函数超时之后,如何使复制命令继续在红移中运行?

我正在尝试运行一个复制命令,该命令将大约 100 GB 的数据从 S3 加载到 redshift。我每天都在使用 lambda 函数来启动这个复制命令。这是我当前的代码

from datetime import datetime, timedelta
import dateutil.tz
import psycopg2
from config import *

def lambda_handler(event, context):
    con = psycopg2.connect(dbname=dbname, user=user, password=password, host=host, port=port)
    cur = con.cursor()
    
    try:
        query = """BEGIN TRANSACTION;

                COPY """ + table_name + """ FROM '""" + intermediate_path + """' iam_role '""" + iam_role + """' FORMAT AS parquet;

                END TRANSACTION;"""

        print(query)
        cur.execute(query)
    
    except Exception as e:
        subject = "Error emr copy: {}".format(str(datetime.now().date()))
        body = "Exception occured " …
Run Code Online (Sandbox Code Playgroud)

python postgresql amazon-web-services amazon-redshift aws-lambda

3
推荐指数
1
解决办法
323
查看次数