使用 AWS CloudShell 查看计划查询的结果
您可以使用 AWS CloudShell 查找有关计划查询的详细信息。您必须具有适当的权限才能运行 AWS CLI 命令,如以下过程所示。
查看计划查询的结果
-
在 AWS 控制台上,打开 AWS CloudShell 命令提示符。有关 AWS CloudShell 的更多信息,请参阅《AWS CloudShell User Guide》中的What is AWS CloudShell。
-
代入计划查询的 IAM 角色。要代入该角色,请在查询编辑器 v2 中找到与计划查询关联的 IAM 角色,然后在 AWS CloudShell 中通过 AWS CLI 命令使用它。例如,对于角色
scheduler
,输入 AWS STS 命令以代入计划查询所用的角色。aws sts assume-role --role-arn "arn:aws:iam::
123456789012
:role/scheduler" --role-session-name "scheduler-test"返回的凭证与以下内容类似。
"Credentials": { "AccessKeyId": "AKIAIOSFODNN7EXAMPLE", "SecretAccessKey": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY", "SessionToken": "je7MtGbClwBF/2Zp9Utk/h3yCo8nvbEXAMPLEKEY...", "Expiration": "2023-08-18T18:19:44+00:00" }, "AssumedRoleUser": { "AssumedRoleId": "AROA35B2NH6WBTP7ONL4E:scheduler-test", "Arn": "arn:aws:sts::
123456789012
:assumed-role/scheduler/scheduler-test" } } -
使用代入 IAM 角色时显示的凭证在 AWS CLI 中创建环境变量。您必须在这些令牌到期之前使用它们。例如,您可以在 AWS CloudShell 中输入以下内容。
export AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY export AWS_SESSION_TOKEN=je7MtGbClwBF/2Zp9Utk/h3yCo8nvbEXAMPLEKEY...
-
要查看失败查询的错误,请运行 AWS CLI 命令以描述语句。SQL 语句的 ID 来自查询编辑器 v2 中计划查询的计划历史记录部分显示的 ID。
aws redshift-data describe-statement --id
130d2620-05d2-439c-b7cf-815d9767f513
在本例中,计划的 SQL
select * from users limit 100
会导致一个 SQL 错误,即users
表不存在。{ "CreatedAt": "2023-08-18T17:39:15.563000+00:00", "Duration": -1, "Error": "ERROR: relation \"users\" does not exist", "HasResultSet": false, "Id": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "QueryString": "select * from users limit 100\n—RequestID=a1b2c3d4-5678-90ab-cdef-EXAMPLE22222; TraceID=1-633c5642-4039308d03f3a0ba53dbdf6f", "RedshiftPid": 1073766651, "RedshiftQueryId": 0, "ResultRows": -1, "ResultSize": -1, "Status": "FAILED", "UpdatedAt": "2023-08-18T17:39:16.116000+00:00", "WorkgroupName": "default" }