簡體   English   中英

捕獲和解析 AWS RDSDataService 異常

[英]Catching and Parsing AWS RDSDataService exceptions

我在 lambda 中使用RDSDataService在 Aurora Serverless 數據庫中執行查詢。 一切正常時一切都很好,但是當運行查詢時出現錯誤時,我會得到類似這樣的信息

調用 ExecuteStatement 操作時發生錯誤 (BadRequestException):錯誤:重復鍵值違反唯一約束“user_role_role_name_key”詳細信息:鍵 (role_name)=(Test3) 已存在。

我正在使用通用的 except Exception as e然后打印e來捕獲它。

問題:

  1. 我需要導入什么 package 來捕獲 BadRequestException
  2. 我將如何解析它以提取詳細信息部分?

AWS 確認在使用 Postgresql 時無法正確解析數據 API 異常的詳細信息(請參閱此 github 問題了解更新)。

如果使用 MySQL 版本的 Aurora, aurora-data-api package 有效地返回更好的異常格式,因為可以解析 SQLSTATE 代碼。 我們可以在這個內部 function中看到解析的區別。


目前,從數據為 API 的 Postgresql Aurora 數據庫中解析異常的唯一方法是使用如下字符串比較:

if errorMessage.contains('a known substring of a specific exception message'):
   # Here we "know" the exception type

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM