AWS CloudShell을 사용하여 예약된 쿼리 결과 보기 - Amazon Redshift

AWS CloudShell을 사용하여 예약된 쿼리 결과 보기

AWS CloudShell을 사용하여 예약 쿼리에 대한 세부 정보를 찾을 수 있습니다. 다음 절차에 표시된 AWS CLI 명령을 실행하려면 적절한 권한이 있어야 합니다.

예약 쿼리 결과를 보려면 다음을 수행하세요.
  1. AWS 콘솔에서 AWS CloudShell 명령 프롬프트를 엽니다. AWS CloudShell에 대한 자세한 내용은 AWS CloudShell 사용 설명서에서 AWS CloudShell이란 무엇인가요를 참조하세요.

  2. 예약된 쿼리의 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" } }
  3. 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...
  4. 실패한 쿼리의 오류를 보려면 AWS CLI 명령을 실행하여 문을 설명합니다. SQL 문 ID는 쿼리 편집기 v2에서 예약된 쿼리의 일정 기록 섹션에 표시된 ID에서 가져옵니다.

    aws redshift-data describe-statement --id 130d2620-05d2-439c-b7cf-815d9767f513

    이 예에서 예약된 SQL select * from users limit 100은 users 테이블이 존재하지 않는다는 SQL 오류를 발생시킵니다.

    { "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" }