gpt4 book ai didi

python - 如何在本地错误日志文件中获取 Redshift 错误?

转载 作者:行者123 更新时间:2023-12-01 09:32:49 24 4
gpt4 key购买 nike

我正在尝试将 Python 代码中的批量数据从 API 加载到我的数据仓库。我专门使用的库是 Boto 和 psycopg2。将数据/文件加载到 S3 后,我将触发 SQL 脚本以将数据从 S3 复制到 amazon redshift。

现在,重点是如果有任何错误,我的Python代码将以状态1退出。每次我都需要去检查STL_LOAD_ERRORS表来检查错误。我想将其提取到代码的变量中并将其写入日志文件。

请告诉我这是否可能,如果可能,请告诉我如何做。

最佳答案

这很笼统,但可以满足您的需求

import psycopg2
import logging

# connect to database somewhere up here

data_q = """
COPY COMMAND
"""

error_q = """
SELECT filename, err_reason FROM
STL_LOAD_ERRORS
ORDER BY starttime DESC LIMIT 1;
"""

def main():
with conn.cursor() as cursor:
try:
cursor.execute(data_q)
except psycopg2.Error as e:
cursor.execute(error_q)
err = cursor.fetchone()
logging.error('{} failed to upload due to {}'.format(*err))
conn.rollback()

if __name__ == "__main__":
main()

关于python - 如何在本地错误日志文件中获取 Redshift 错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49808860/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com