スケジュールされたクエリの結果を AWS CloudShell で表示 - Amazon Redshift

スケジュールされたクエリの結果を AWS CloudShell で表示

AWS CloudShell を使用してスケジュールクエリの詳細を確認できます。次の手順に示す、AWS CLI コマンドを実行するための適切なアクセス許可を持っている必要があります。

スケジュールされたクエリの結果を表示するには
  1. AWS コンソールで、AWS CloudShell コマンドプロンプトを開きます。AWS CloudShell の詳細については、「AWS CloudShell ユーザーガイド」の「AWS CloudShell とは」を参照してください。

  2. スケジュールされたクエリの IAM ロールを引き受けます。ロールを引き受けるには、スケジュールされたクエリに関連付けられた IAM ロールをクエリエディタ v2 で見つけて、AWS CLI コマンドを AWS CloudShell で使用します。例えば、ロール 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" }