AWS redshift-data API:调用DescribeStatement操作时发生错误(ResourceNotFoundException):查询不存在

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

几天来,我一直在努力解决最近发布的 redshift data-api 发生的一个奇怪问题。我尝试使用 execute statements api 在 Redshift 集群上执行 SQL 语句,并使用 list statements api 列出该语句。

在本地测试时,API 表现良好,我在列出语句时没有任何问题。然而,在 Lambda 上部署代码后,我突然无法找到任何已执行的查询,即使我收到了 200 个执行语句请求的响应。

以下是我的 CloudWatch 日志的摘录,显示了带有查询 ID 的执行语句 200 响应:

{
"level": "INFO",
"location": "execute_asynchronous_sql_query:71",
"message": {
    "message": "Successfully submitted sql query to redshift cluster",
    "query_id": "706a0ca1-084c-4733-a534-571993afd23a",
    "execution_statement_response": {
        "ClusterIdentifier": "#######",
        "CreatedAt": "2021-01-15 06:00:37.504000+00:00",
        "Database": "#######",
        "Id": "706a0ca1-084c-4733-a534-571993afd23a",
        "SecretArn": "arn:aws:secretsmanager:##############",
        "ResponseMetadata": {
            "RequestId": "#######",
            "HTTPStatusCode": 200,
            "HTTPHeaders": {
                "x-amzn-requestid": "#######",
                "content-type": "application/x-amz-json-1.1",
                "content-length": "237",
                "date": "Fri, 15 Jan 2021 06:00:38 GMT"
            },
            "RetryAttempts": 0
        },
        "StatementName": "ww-redshift-asynch-2021-01-15T06:00:37.206308-summary_spots.sql"
    }
},
"timestamp": "2021-01-15 06:00:38,008",
"service": "ww_dashboard",
"sampling_rate": 0,
"sample_rate": 0.4,
"xray_trace_id": "##############"

}

这是我在尝试使用具有该查询 ID 的 AWS cli 描述 SQL 语句状态时遇到的错误。

    aws redshift-data describe-statement --id 706a0ca1-084c-4733-a534-571993afd23a

    An error occurred (ResourceNotFoundException) when calling the DescribeStatement operation: Query does not exist.
amazon-web-services amazon-redshift
2个回答
12
投票

执行

describe-statement
get-statement-result
的角色/用户需要与您用于
execute-statement
的角色/用户相同。

另外,需要是同一地区。


0
投票

我遇到了类似的问题。我通过执行 ID 获取结果。任务刚提交时(大约1秒)会返回错误。但尽管出现此错误,我仍会轮询相同的 API,因此不会造成太大问题。

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