通过 Python 切片 Snowflake 错误消息
Slicing of Snowflake error message through Python
如果源和目标计数不匹配,我有一个雪花过程抛出错误消息,这是在 AWS Glue python 异常块中捕获的:
100132 (P0000): JavaScript execution error: Uncaught The table: test_table is NOT balanced. Following are the balancing statistics:
TABLE_NAME: test_table
SOURCE_COUNT: 17022
TARGET_COUNT: 6585
BALANCED: N
in SF_TABLE_PROC at ' throw err;' position 3
stackstrace:
SF_TABLE_PROC line: 38
但我想删除雪花的默认错误消息“100132 (P0000): JavaScript 执行错误: 未捕获”和后面的部分“在 SF_TABLE_PROC at 'throw err;'位置 3
堆栈跟踪:
SF_TABLE_PROC 行:38".
理想情况下,我的错误消息应该只包含主要消息正文:
The table: test_table is NOT balanced. Following are the balancing statistics:
TABLE_NAME: test_table
SOURCE_COUNT: 17022
TARGET_COUNT: 6585
BALANCED: N
抛出错误消息的 Snowflake proc 块:
try
{
if (tgt_count != src_count)
{
throw '\n' + 'The table: test_table is NOT balanced. Following are the balancing statistics: ' + '\n' + '\nTABLE_NAME: test_table' + '\nSOURCE_COUNT: ' + src_count + '\nTARGET_COUNT: ' + tgt_count + '\nBALANCED: N' + '\n';
}
}
catch(err)
{
throw err;
}
其中 tgt_count:来自目标 table 和
的计数 (1)
src_count:来自来源 table 的计数 (1)。
有什么方法可以将错误消息分割成雪花状或python?
当我试图在 python 中分割错误消息时,它给了我一个错误:
TypeError: 'ProgrammingError' object is not subscriptable
下面是我的 python 代码:
except Exception as error:
print("Error: ", error[53:90])
raise(error)
请帮我找回准确的错误信息。
您可以尝试这样的操作:
from snowflake.connector import ProgrammingError
然后:
except ProgrammingError as error:
strError = str(error)
print("Error: ", strError[53:90])
raise(error)
如果源和目标计数不匹配,我有一个雪花过程抛出错误消息,这是在 AWS Glue python 异常块中捕获的:
100132 (P0000): JavaScript execution error: Uncaught The table: test_table is NOT balanced. Following are the balancing statistics:
TABLE_NAME: test_table
SOURCE_COUNT: 17022
TARGET_COUNT: 6585
BALANCED: N
in SF_TABLE_PROC at ' throw err;' position 3
stackstrace:
SF_TABLE_PROC line: 38
但我想删除雪花的默认错误消息“100132 (P0000): JavaScript 执行错误: 未捕获”和后面的部分“在 SF_TABLE_PROC at 'throw err;'位置 3 堆栈跟踪: SF_TABLE_PROC 行:38".
理想情况下,我的错误消息应该只包含主要消息正文:
The table: test_table is NOT balanced. Following are the balancing statistics:
TABLE_NAME: test_table
SOURCE_COUNT: 17022
TARGET_COUNT: 6585
BALANCED: N
抛出错误消息的 Snowflake proc 块:
try
{
if (tgt_count != src_count)
{
throw '\n' + 'The table: test_table is NOT balanced. Following are the balancing statistics: ' + '\n' + '\nTABLE_NAME: test_table' + '\nSOURCE_COUNT: ' + src_count + '\nTARGET_COUNT: ' + tgt_count + '\nBALANCED: N' + '\n';
}
}
catch(err)
{
throw err;
}
其中 tgt_count:来自目标 table 和
的计数 (1)src_count:来自来源 table 的计数 (1)。
有什么方法可以将错误消息分割成雪花状或python?
当我试图在 python 中分割错误消息时,它给了我一个错误:
TypeError: 'ProgrammingError' object is not subscriptable
下面是我的 python 代码:
except Exception as error:
print("Error: ", error[53:90])
raise(error)
请帮我找回准确的错误信息。
您可以尝试这样的操作:
from snowflake.connector import ProgrammingError
然后:
except ProgrammingError as error:
strError = str(error)
print("Error: ", strError[53:90])
raise(error)