调用ExecuteStatement操作时发生错误(StatementTimeoutException):请求超时

问题描述 投票:0回答:1

嗨,我正在尝试使用 rds 客户端运行这样的数据库查询

def execute_transaction_query(sql):
            response = rds_client.execute_statement(
            secretArn=AURORA_DB_CREDS_ARN,
            resourceArn=AURORA_DB_ARN,
            database=AURORA_DB_NAME,
            sql=sql,
            continueAfterTimeout=True
        )

但大约 40 秒后出现如下错误

调用ExecuteStatement操作时发生错误(StatementTimeoutException):请求超时

到目前为止,我尝试了 continueAfterTimeout=True 并在 boto3 实例中

rds_client = boto3.client('rds-data', config=botocore.client.Config(
                                         connect_timeout=350,
                                         read_timeout=350,
                                         region_name=REGION,
                                         retries={"max_attempts": 1}
                                     ))

还是没有运气

python amazon-web-services aws-lambda boto3 amazon-rds
1个回答
0
投票

是的,

execute_statement
不等待执行查询。

RDS 数据 API 不支持 RDS

serverless
V2。因此,AWS 随时会弃用 RDS 数据 API。最好选择
psycopg2
,以防
postgres SQL

© www.soinside.com 2019 - 2024. All rights reserved.