SHOW DATABASES - Amazon Redshift

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

SHOW DATABASES

顯示來自指定帳戶 ID 的資料庫。

語法

SHOW DATABASES FROM DATA CATALOG [ ACCOUNT '<id1>', '<id2>', ... ] [ LIKE '<expression>' ] [ IAM_ROLE default | 'SESSION' | 'arn:aws:iam::<account-id>:role/<role-name>' ]

參數

ACCOUNT '<id1>'、'<id2>'、...

要從中列出資料庫 AWS Glue Data Catalog 的帳戶。省略此參數表示 Amazon Redshift 應該顯示擁有叢集之帳戶中的資料庫。

LIKE '<expression>'

從資料庫清單中篩選符合您指定運算式的資料庫。此參數支援使用萬用字元 % (百分比) 和 _ (底線) 的模式。

IAM_ROLE 預設 | 'SESSION' | 'arn:aws:iam::<account-id>:role/<role-name>'

如果您在執行SHOWDATABASES命令時指定與叢集相關聯的IAM角色,Amazon Redshift 會在資料庫上執行查詢時使用該角色的憑證。

指定default關鍵字表示使用設定為預設並與叢集相關聯的IAM角色。

如果您使用聯合身分連線到 Amazon Redshift 叢集,並從使用 CREATE DATABASE 命令建立的外部資料庫存取資料表,請使用 'SESSION'。如需使用聯合身分的範例,請參閱使用聯合身分管理 Amazon Redshift 對本機資源和 Amazon Redshift Spectrum 外部資料表的存取,其中會說明如何設定聯合身分。

針對叢集用於身分驗證和授權IAM的角色,使用 Amazon Resource Name (ARN)。至少,IAM角色必須具有許可,才能在要存取的 Amazon S3 儲存貯體上執行LIST操作,以及在儲存貯體包含的 Amazon S3 物件上執行GET操作。若要進一步了解從 AWS Glue Data Catalog 為資料共用和使用 IAM_ 建立的資料庫ROLE,請參閱以取用者身分使用 Lake Formation 管理的資料共用

下列顯示單一 的 IAM_ROLE 參數字串語法ARN。

IAM_ROLE 'arn:aws:iam::<aws-account-id>:role/<role-name>'

您可以連結角色,讓您的叢集擔任另一個IAM角色,可能屬於另一個帳戶。您最多可以鏈結 10 個角色。如需詳細資訊,請參閱Amazon Redshift Spectrum 中的鏈結IAM角色

若要擔任此IAM角色,請連接類似下列的IAM許可政策。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AccessSecret", "Effect": "Allow", "Action": [ "secretsmanager:GetResourcePolicy", "secretsmanager:GetSecretValue", "secretsmanager:DescribeSecret", "secretsmanager:ListSecretVersionIds" ], "Resource": "arn:aws:secretsmanager:us-west-2:123456789012:secret:my-rds-secret-VNenFy" }, { "Sid": "VisualEditor1", "Effect": "Allow", "Action": [ "secretsmanager:GetRandomPassword", "secretsmanager:ListSecrets" ], "Resource": "*" } ] }

如需建立IAM角色以搭配聯合查詢使用的步驟,請參閱 建立密碼和IAM角色以使用聯合查詢

注意

不要在鏈結的角色清單中包含空格。

以下顯示鏈結三個角色的語法。

IAM_ROLE 'arn:aws:iam::<aws-account-id>:role/<role-1-name>,arn:aws:iam::<aws-account-id>:role/<role-2-name>,arn:aws:iam::<aws-account-id>:role/<role-3-name>'

範例

下列範例會顯示帳戶識別碼 123456789012 中的所有 Data Catalog 資料庫。

SHOW DATABASES FROM DATA CATALOG ACCOUNT '123456789012' catalog_id | database_name | database_arn | type | target_database | location | parameters --------------+---------------+--------------------------------------------------------+--------------+--------------------------------------------------------------------------------------------------+----------+------------ 123456789012 | database1 | arn:aws:glue:us-east-1:123456789012:database/database1 | Data Catalog | | | 123456789012 | database2 | arn:aws:glue:us-east-1:123456789012:database/database2 | Data Catalog | arn:aws:redshift:us-east-1:123456789012:datashare:035c45ea-61ce-86f0-8b75-19ac6102c3b7/database2 | |

以下是示範如何在使用IAM角色的憑證時顯示帳戶 ID 123456789012 中所有 Data Catalog 資料庫的範例。

SHOW DATABASES FROM DATA CATALOG ACCOUNT '123456789012' IAM_ROLE default;
SHOW DATABASES FROM DATA CATALOG ACCOUNT '123456789012' IAM_ROLE <iam-role-arn>;