呼叫資料 API - Amazon Redshift

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

呼叫資料 API

您可以呼叫資料 API 或在叢集或無伺服器工作群組上執行 SQL 陳述式。 AWS CLI 在《Amazon Redshift 資料 API 參考》中,用來執行 SQL 陳述式的主要操作是 ExecuteStatementBatchExecuteStatement。資料 API 支援 AWS SDK 支援的程式設計語言。如需這些語言的相關資訊,請參閱用來在 AWS上進行建置的工具

若要查看呼叫資料 API 的程式碼範例,請參閱. GitHub 此儲存庫提供使用 AWS Lambda 從 Amazon EC2 和 Amazon SageMaker 執行階段存取亞馬遜 Redshift 資料的範例。 AWS Glue Data Catalog範例程式設計語言包括 Python、Go、Java 和 Javascript。

您可以使用 AWS CLI呼叫資料 API。

下列範例使 AWS CLI 用呼叫資料 API。若要執行範例,請編輯參數值以符合您的環境。許多範例會提供 cluster-identifier 來針對叢集執行。當您針對無伺服器工作群組執行時,請改為提供 workgroup-name。這些範例會示範一些資料 API 操作。如需詳細資訊,請參閱 AWS CLI 命令參考

下列範例中的命令已經過分割和格式化,以方便您閱讀。

執行 SQL 陳述式

若要執行 SQL 陳述式,請使用aws redshift-data execute-statement AWS CLI 指令。

下列 AWS CLI 命令會針對叢集執行 SQL 陳述式,並傳回識別碼以擷取結果。此範例使用 AWS Secrets Manager 驗證方法。

aws redshift-data execute-statement --region us-west-2 --secret arn:aws:secretsmanager:us-west-2:123456789012:secret:myuser-secret-hKgPWn --cluster-identifier mycluster-test --sql "select * from stl_query limit 1" --database dev

以下是回應的範例。

{ "ClusterIdentifier": "mycluster-test", "CreatedAt": 1598323175.823, "Database": "dev", "Id": "c016234e-5c6c-4bc5-bb16-2c5b8ff61814", "SecretArn": "arn:aws:secretsmanager:us-west-2:123456789012:secret:yanruiz-secret-hKgPWn" }

下列 AWS CLI 命令會針對叢集執行 SQL 陳述式,並傳回識別碼以擷取結果。此範例使用暫時憑證身分驗證方法。

aws redshift-data execute-statement --region us-west-2 --db-user myuser --cluster-identifier mycluster-test --database dev --sql "select * from stl_query limit 1"

以下是回應的範例。

{ "ClusterIdentifier": "mycluster-test", "CreatedAt": 1598306924.632, "Database": "dev", "DbUser": "myuser", "Id": "d9b6c0c9-0747-4bf4-b142-e8883122f766" }

下列 AWS CLI 命令會針對無伺服器工作群組執行 SQL 陳述式,並傳回識別碼以擷取結果。此範例使用暫時憑證身分驗證方法。

aws redshift-data execute-statement --database dev --workgroup-name myworkgroup --sql "select 1;"

以下是回應的範例。

{ "CreatedAt": "2022-02-11T06:25:28.748000+00:00", "Database": "dev", "DbUser": "IAMR:RoleName", "Id": "89dd91f5-2d43-43d3-8461-f33aa093c41e", "WorkgroupName": "myworkgroup" }

下列 AWS CLI 命令會針對叢集執行 SQL 陳述式,並傳回識別碼以擷取結果。此範例使用 AWS Secrets Manager 驗證方法和冪等權杖。

aws redshift-data execute-statement --region us-west-2 --secret arn:aws:secretsmanager:us-west-2:123456789012:secret:myuser-secret-hKgPWn --cluster-identifier mycluster-test --sql "select * from stl_query limit 1" --database dev --client-token b855dced-259b-444c-bc7b-d3e8e33f94g1

以下是回應的範例。

{ "ClusterIdentifier": "mycluster-test", "CreatedAt": 1598323175.823, "Database": "dev", "Id": "c016234e-5c6c-4bc5-bb16-2c5b8ff61814", "SecretArn": "arn:aws:secretsmanager:us-west-2:123456789012:secret:yanruiz-secret-hKgPWn" }

執行含有參數的 SQL 陳述式

若要執行 SQL 陳述式,請使用aws redshift-data execute-statement AWS CLI 指令。

下列 AWS CLI 命令會針對叢集執行 SQL 陳述式,並傳回識別碼以擷取結果。此範例使用 AWS Secrets Manager 驗證方法。SQL 文字有具名參數 distance。在此案例中,述詞中使用的距離是 5。在 SELECT 陳述式中,資料欄名稱的具名參數只能在述詞中使用。SQL 陳述式的具名參數值會於 parameters 選項中指定。

aws redshift-data execute-statement --region us-west-2 --secret arn:aws:secretsmanager:us-west-2:123456789012:secret:myuser-secret-hKgPWn --cluster-identifier mycluster-test --sql "SELECT ratecode FROM demo_table WHERE trip_distance > :distance" --parameters "[{\"name\": \"distance\", \"value\": \"5\"}]" --database dev

以下是回應的範例。

{ "ClusterIdentifier": "mycluster-test", "CreatedAt": 1598323175.823, "Database": "dev", "Id": "c016234e-5c6c-4bc5-bb16-2c5b8ff61814", "SecretArn": "arn:aws:secretsmanager:us-west-2:123456789012:secret:yanruiz-secret-hKgPWn" }

下列範例會使用來自範例資料庫的 EVENT 資料表。如需詳細資訊,請參閱《Amazon Redshift 資料庫開發人員指南》中的 EVENT 資料表

如果資料庫中還沒有 EVENT 資料表,您可以使用資料 API 加以建立,如下所示:

aws redshift-data execute-statement --database dev --cluster-id my-test-cluster --db-user awsuser --sql "create table event( eventid integer not null distkey, venueid smallint not null, catid smallint not null, dateid smallint not null sortkey, eventname varchar(200), starttime timestamp)"

下列命令會在 EVENT 資料表中插入一個資料列。

aws redshift-data execute-statement --database dev --cluster-id my-test-cluster --db-user awsuser --sql "insert into event values(:eventid, :venueid::smallint, :catid, :dateid, :eventname, :starttime)" --parameters "[{\"name\": \"eventid\", \"value\": \"1\"}, {\"name\": \"venueid\", \"value\": \"1\"}, {\"name\": \"catid\", \"value\": \"1\"}, {\"name\": \"dateid\", \"value\": \"1\"}, {\"name\": \"eventname\", \"value\": \"event 1\"}, {\"name\": \"starttime\", \"value\": \"2022-02-22\"}]"

下列命令會在 EVENT 資料表中插入第二個資料列。此範例示範下列操作:

  • 名為 id 的參數會在 SQL 文字中使用四次。

  • 在插入參數 starttime 時會自動套用隱含類型轉換。

  • venueid 資料欄是轉換為 SMALLINT 資料類型的類型。

  • 代表 DATE 資料類型的字元字串會隱含地轉換成 TIMESTAMP 資料類型。

  • 您可以在 SQL 文字中使用註解。

aws redshift-data execute-statement --database dev --cluster-id my-test-cluster --db-user awsuser --sql "insert into event values(:id, :id::smallint, :id, :id, :eventname, :starttime) /*this is comment, and it won't apply parameterization for :id, :eventname or :starttime here*/" --parameters "[{\"name\": \"eventname\", \"value\": \"event 2\"}, {\"name\": \"starttime\", \"value\": \"2022-02-22\"}, {\"name\": \"id\", \"value\": \"2\"}]"

下列範例顯示所插入的兩個資料列:

eventid | venueid | catid | dateid | eventname | starttime ---------+---------+-------+--------+-----------+--------------------- 1 | 1 | 1 | 1 | event 1 | 2022-02-22 00:00:00 2 | 2 | 2 | 2 | event 2 | 2022-02-22 00:00:00

下列命令會在 WHERE 子句中使用具名參數來擷取 eventid1 的資料列。

aws redshift-data execute-statement --database dev --cluster-id my-test-cluster --db-user awsuser --sql "select * from event where eventid=:id" --parameters "[{\"name\": \"id\", \"value\": \"1\"}]"

執行下列命令以取得上一個 SQL 陳述式的 SQL 結果:

aws redshift-data get-statement-result --id 7529ad05-b905-4d71-9ec6-8b333836eb5a

提供下列結果:

{ "Records": [ [ { "longValue": 1 }, { "longValue": 1 }, { "longValue": 1 }, { "longValue": 1 }, { "stringValue": "event 1" }, { "stringValue": "2022-02-22 00:00:00.0" } ] ], "ColumnMetadata": [ { "isCaseSensitive": false, "isCurrency": false, "isSigned": true, "label": "eventid", "length": 0, "name": "eventid", "nullable": 0, "precision": 10, "scale": 0, "schemaName": "public", "tableName": "event", "typeName": "int4" }, { "isCaseSensitive": false, "isCurrency": false, "isSigned": true, "label": "venueid", "length": 0, "name": "venueid", "nullable": 0, "precision": 5, "scale": 0, "schemaName": "public", "tableName": "event", "typeName": "int2" }, { "isCaseSensitive": false, "isCurrency": false, "isSigned": true, "label": "catid", "length": 0, "name": "catid", "nullable": 0, "precision": 5, "scale": 0, "schemaName": "public", "tableName": "event", "typeName": "int2" }, { "isCaseSensitive": false, "isCurrency": false, "isSigned": true, "label": "dateid", "length": 0, "name": "dateid", "nullable": 0, "precision": 5, "scale": 0, "schemaName": "public", "tableName": "event", "typeName": "int2" }, { "isCaseSensitive": true, "isCurrency": false, "isSigned": false, "label": "eventname", "length": 0, "name": "eventname", "nullable": 1, "precision": 200, "scale": 0, "schemaName": "public", "tableName": "event", "typeName": "varchar" }, { "isCaseSensitive": false, "isCurrency": false, "isSigned": false, "label": "starttime", "length": 0, "name": "starttime", "nullable": 1, "precision": 29, "scale": 6, "schemaName": "public", "tableName": "event", "typeName": "timestamp" } ], "TotalNumRows": 1 }

執行多個 SQL 陳述式

若要使用一個命令執行多個 SQL 陳述式,請使用aws redshift-data batch-execute-statement AWS CLI 命令。

下列 AWS CLI 命令會針對叢集執行三個 SQL 陳述式,並傳回識別碼以擷取結果。此範例使用暫時憑證身分驗證方法。

aws redshift-data batch-execute-statement --region us-west-2 --db-user myuser --cluster-identifier mycluster-test --database dev --sqls "set timezone to BST" "select * from mytable" "select * from another_table"

以下是回應的範例。

{ "ClusterIdentifier": "mycluster-test", "CreatedAt": 1598306924.632, "Database": "dev", "DbUser": "myuser", "Id": "d9b6c0c9-0747-4bf4-b142-e8883122f766" }

列出有關 SQL 陳述式的中繼資料

若要列出有關 SQL 陳述式的中繼資料,請使用aws redshift-data list-statements AWS CLI 指令。執行此命令的授權取決於呼叫者的 IAM 許可。

下列 AWS CLI 命令會列出執行的 SQL 陳述式。

aws redshift-data list-statements --region us-west-2 --status ALL

以下是回應的範例。

{ "Statements": [ { "CreatedAt": 1598306924.632, "Id": "d9b6c0c9-0747-4bf4-b142-e8883122f766", "QueryString": "select * from stl_query limit 1", "Status": "FINISHED", "UpdatedAt": 1598306926.667 }, { "CreatedAt": 1598311717.437, "Id": "e0ebd578-58b3-46cc-8e52-8163fd7e01aa", "QueryString": "select * from stl_query limit 1", "Status": "FAILED", "UpdatedAt": 1598311719.008 }, { "CreatedAt": 1598313683.65, "Id": "c361d4f7-8c53-4343-8c45-6b2b1166330c", "QueryString": "select * from stl_query limit 1", "Status": "ABORTED", "UpdatedAt": 1598313685.495 }, { "CreatedAt": 1598306653.333, "Id": "a512b7bd-98c7-45d5-985b-a715f3cfde7f", "QueryString": "select 1", "Status": "FINISHED", "UpdatedAt": 1598306653.992 } ] }

描述有關 SQL 陳述式的中繼資料

若要取得 SQL 陳述式中繼資料的描述,請使用aws redshift-data describe-statement AWS CLI 指令。執行此命令的授權取決於呼叫者的 IAM 許可。

下面的 AWS CLI 命令描述了一個 SQL 語句。

aws redshift-data describe-statement --id d9b6c0c9-0747-4bf4-b142-e8883122f766 --region us-west-2

以下是回應的範例。

{ "ClusterIdentifier": "mycluster-test", "CreatedAt": 1598306924.632, "Duration": 1095981511, "Id": "d9b6c0c9-0747-4bf4-b142-e8883122f766", "QueryString": "select * from stl_query limit 1", "RedshiftPid": 20859, "RedshiftQueryId": 48879, "ResultRows": 1, "ResultSize": 4489, "Status": "FINISHED", "UpdatedAt": 1598306926.667 }

以下是在執行含有多個 SQL 陳述式的 batch-execute-statement 命令後的 describe-statement 回應範例。

{ "ClusterIdentifier": "mayo", "CreatedAt": 1623979777.126, "Duration": 6591877, "HasResultSet": true, "Id": "b2906c76-fa6e-4cdf-8c5f-4de1ff9b7652", "RedshiftPid": 31459, "RedshiftQueryId": 0, "ResultRows": 2, "ResultSize": 22, "Status": "FINISHED", "SubStatements": [ { "CreatedAt": 1623979777.274, "Duration": 3396637, "HasResultSet": true, "Id": "b2906c76-fa6e-4cdf-8c5f-4de1ff9b7652:1", "QueryString": "select 1;", "RedshiftQueryId": -1, "ResultRows": 1, "ResultSize": 11, "Status": "FINISHED", "UpdatedAt": 1623979777.903 }, { "CreatedAt": 1623979777.274, "Duration": 3195240, "HasResultSet": true, "Id": "b2906c76-fa6e-4cdf-8c5f-4de1ff9b7652:2", "QueryString": "select 2;", "RedshiftQueryId": -1, "ResultRows": 1, "ResultSize": 11, "Status": "FINISHED", "UpdatedAt": 1623979778.076 } ], "UpdatedAt": 1623979778.183 }

擷取 SQL 陳述式的結果

若要從執行的 SQL 陳述式擷取結果,請使用redshift-data get-statement-result AWS CLI 指令。您可以提供所收到的 Id 以回應 execute-statementbatch-execute-statement。由 batch-execute-statement 執行的 SQL 陳述式的 Id 值可以在 describe-statement 的結果中擷取,並且會加上由冒號和序號組成的字尾 (例如 b2906c76-fa6e-4cdf-8c5f-4de1ff9b7652:2)。如果您使用 batch-execute-statement 執行多個 SQL 陳述式,則每個 SQL 陳述式都會有一個 Id 值,如 describe-statement 中所示。執行此命令的授權取決於呼叫者的 IAM 許可。

下列陳述式會傳回由 execute-statement 執行的 SQL 陳述式的結果。

aws redshift-data get-statement-result --id d9b6c0c9-0747-4bf4-b142-e8883122f766 --region us-west-2

下列陳述式會傳回由 batch-execute-statement 執行的第二個 SQL 陳述式的結果。

aws redshift-data get-statement-result --id b2906c76-fa6e-4cdf-8c5f-4de1ff9b7652:2 --region us-west-2

以下是對於 get-statement-result 呼叫的回應範例。

{ "ColumnMetadata": [ { "isCaseSensitive": false, "isCurrency": false, "isSigned": true, "label": "userid", "length": 0, "name": "userid", "nullable": 0, "precision": 10, "scale": 0, "schemaName": "", "tableName": "stll_query", "typeName": "int4" }, { "isCaseSensitive": false, "isCurrency": false, "isSigned": true, "label": "query", "length": 0, "name": "query", "nullable": 0, "precision": 10, "scale": 0, "schemaName": "", "tableName": "stll_query", "typeName": "int4" }, { "isCaseSensitive": true, "isCurrency": false, "isSigned": false, "label": "label", "length": 0, "name": "label", "nullable": 0, "precision": 320, "scale": 0, "schemaName": "", "tableName": "stll_query", "typeName": "bpchar" }, { "isCaseSensitive": false, "isCurrency": false, "isSigned": true, "label": "xid", "length": 0, "name": "xid", "nullable": 0, "precision": 19, "scale": 0, "schemaName": "", "tableName": "stll_query", "typeName": "int8" }, { "isCaseSensitive": false, "isCurrency": false, "isSigned": true, "label": "pid", "length": 0, "name": "pid", "nullable": 0, "precision": 10, "scale": 0, "schemaName": "", "tableName": "stll_query", "typeName": "int4" }, { "isCaseSensitive": true, "isCurrency": false, "isSigned": false, "label": "database", "length": 0, "name": "database", "nullable": 0, "precision": 32, "scale": 0, "schemaName": "", "tableName": "stll_query", "typeName": "bpchar" }, { "isCaseSensitive": true, "isCurrency": false, "isSigned": false, "label": "querytxt", "length": 0, "name": "querytxt", "nullable": 0, "precision": 4000, "scale": 0, "schemaName": "", "tableName": "stll_query", "typeName": "bpchar" }, { "isCaseSensitive": false, "isCurrency": false, "isSigned": false, "label": "starttime", "length": 0, "name": "starttime", "nullable": 0, "precision": 29, "scale": 6, "schemaName": "", "tableName": "stll_query", "typeName": "timestamp" }, { "isCaseSensitive": false, "isCurrency": false, "isSigned": false, "label": "endtime", "length": 0, "name": "endtime", "nullable": 0, "precision": 29, "scale": 6, "schemaName": "", "tableName": "stll_query", "type": 93, "typeName": "timestamp" }, { "isCaseSensitive": false, "isCurrency": false, "isSigned": true, "label": "aborted", "length": 0, "name": "aborted", "nullable": 0, "precision": 10, "scale": 0, "schemaName": "", "tableName": "stll_query", "typeName": "int4" }, { "isCaseSensitive": false, "isCurrency": false, "isSigned": true, "label": "insert_pristine", "length": 0, "name": "insert_pristine", "nullable": 0, "precision": 10, "scale": 0, "schemaName": "", "tableName": "stll_query", "typeName": "int4" }, { "isCaseSensitive": false, "isCurrency": false, "isSigned": true, "label": "concurrency_scaling_status", "length": 0, "name": "concurrency_scaling_status", "nullable": 0, "precision": 10, "scale": 0, "schemaName": "", "tableName": "stll_query", "typeName": "int4" } ], "Records": [ [ { "longValue": 1 }, { "longValue": 3 }, { "stringValue": "health" }, { "longValue": 1023 }, { "longValue": 15279 }, { "stringValue": "dev" }, { "stringValue": "select system_status from stv_gui_status;" }, { "stringValue": "2020-08-21 17:33:51.88712" }, { "stringValue": "2020-08-21 17:33:52.974306" }, { "longValue": 0 }, { "longValue": 0 }, { "longValue": 6 } ] ], "TotalNumRows": 1 }

描述資料表

若要取得描述資料表的中繼資料,請使用aws redshift-data describe-table AWS CLI 指令。

下列 AWS CLI 命令會針對叢集執行 SQL 陳述式,並傳回描述資料表的中繼資料。此範例使用 AWS Secrets Manager 驗證方法。

aws redshift-data describe-table --region us-west-2 --cluster-identifier mycluster-test --database dev --schema information_schema --table sql_features --secret arn:aws:secretsmanager:us-west-2:123456789012:secret:myuser-secret-hKgPWn

以下是回應的範例。

{ "ColumnList": [ { "isCaseSensitive": false, "isCurrency": false, "isSigned": false, "length": 2147483647, "name": "feature_id", "nullable": 1, "precision": 2147483647, "scale": 0, "schemaName": "information_schema", "tableName": "sql_features", "typeName": "character_data" }, { "isCaseSensitive": false, "isCurrency": false, "isSigned": false, "length": 2147483647, "name": "feature_name", "nullable": 1, "precision": 2147483647, "scale": 0, "schemaName": "information_schema", "tableName": "sql_features", "typeName": "character_data" } ] }

下列 AWS CLI 命令會針對描述資料表的叢集執行 SQL 陳述式。此範例使用暫時憑證身分驗證方法。

aws redshift-data describe-table --region us-west-2 --db-user myuser --cluster-identifier mycluster-test --database dev --schema information_schema --table sql_features

以下是回應的範例。

{ "ColumnList": [ { "isCaseSensitive": false, "isCurrency": false, "isSigned": false, "length": 2147483647, "name": "feature_id", "nullable": 1, "precision": 2147483647, "scale": 0, "schemaName": "information_schema", "tableName": "sql_features", "typeName": "character_data" }, { "isCaseSensitive": false, "isCurrency": false, "isSigned": false, "length": 2147483647, "name": "feature_name", "nullable": 1, "precision": 2147483647, "scale": 0, "schemaName": "information_schema", "tableName": "sql_features", "typeName": "character_data" }, { "isCaseSensitive": false, "isCurrency": false, "isSigned": false, "length": 2147483647, "name": "sub_feature_id", "nullable": 1, "precision": 2147483647, "scale": 0, "schemaName": "information_schema", "tableName": "sql_features", "typeName": "character_data" }, { "isCaseSensitive": false, "isCurrency": false, "isSigned": false, "length": 2147483647, "name": "sub_feature_name", "nullable": 1, "precision": 2147483647, "scale": 0, "schemaName": "information_schema", "tableName": "sql_features", "typeName": "character_data" }, { "isCaseSensitive": false, "isCurrency": false, "isSigned": false, "length": 2147483647, "name": "is_supported", "nullable": 1, "precision": 2147483647, "scale": 0, "schemaName": "information_schema", "tableName": "sql_features", "typeName": "character_data" }, { "isCaseSensitive": false, "isCurrency": false, "isSigned": false, "length": 2147483647, "name": "is_verified_by", "nullable": 1, "precision": 2147483647, "scale": 0, "schemaName": "information_schema", "tableName": "sql_features", "typeName": "character_data" }, { "isCaseSensitive": false, "isCurrency": false, "isSigned": false, "length": 2147483647, "name": "comments", "nullable": 1, "precision": 2147483647, "scale": 0, "schemaName": "information_schema", "tableName": "sql_features", "typeName": "character_data" } ] }

列出叢集中的資料庫

若要列出叢集中的資料庫,請使用aws redshift-data list-databases AWS CLI 指令。

下列 AWS CLI 命令會針對叢集執行 SQL 陳述式,以列出資料庫。此範例使用 AWS Secrets Manager 驗證方法。

aws redshift-data list-databases --region us-west-2 --secret arn:aws:secretsmanager:us-west-2:123456789012:secret:myuser-secret-hKgPWn --cluster-identifier mycluster-test --database dev

以下是回應的範例。

{ "Databases": [ "dev" ] }

下列 AWS CLI 命令會針對叢集執行 SQL 陳述式,以列出資料庫。此範例使用暫時憑證身分驗證方法。

aws redshift-data list-databases --region us-west-2 --db-user myuser --cluster-identifier mycluster-test --database dev

以下是回應的範例。

{ "Databases": [ "dev" ] }

列出資料庫中的結構描述

若要列出資料庫中的結構描述,請使用aws redshift-data list-schemas AWS CLI 指令。

下列 AWS CLI 命令會針對叢集執行 SQL 陳述式,以列出資料庫中的結構描述。此範例使用 AWS Secrets Manager 驗證方法。

aws redshift-data list-schemas --region us-west-2 --secret arn:aws:secretsmanager:us-west-2:123456789012:secret:myuser-secret-hKgPWn --cluster-identifier mycluster-test --database dev

以下是回應的範例。

{ "Schemas": [ "information_schema", "pg_catalog", "pg_internal", "public" ] }

下列 AWS CLI 命令會針對叢集執行 SQL 陳述式,以列出資料庫中的結構描述。此範例使用暫時憑證身分驗證方法。

aws redshift-data list-schemas --region us-west-2 --db-user mysuser --cluster-identifier mycluster-test --database dev

以下是回應的範例。

{ "Schemas": [ "information_schema", "pg_catalog", "pg_internal", "public" ] }

列出資料庫中的資料表

若要列出資料庫中的表格,請使用aws redshift-data list-tables AWS CLI 指令。

下列 AWS CLI 命令會針對叢集執行 SQL 陳述式,以列出資料庫中的表格。此範例使用 AWS Secrets Manager 驗證方法。

aws redshift-data list-tables --region us-west-2 --secret arn:aws:secretsmanager:us-west-2:123456789012:secret:myuser-secret-hKgPWn --cluster-identifier mycluster-test --database dev --schema information_schema

以下是回應的範例。

{ "Tables": [ { "name": "sql_features", "schema": "information_schema", "type": "SYSTEM TABLE" }, { "name": "sql_implementation_info", "schema": "information_schema", "type": "SYSTEM TABLE" } }

下列 AWS CLI 命令會針對叢集執行 SQL 陳述式,以列出資料庫中的表格。此範例使用暫時憑證身分驗證方法。

aws redshift-data list-tables --region us-west-2 --db-user myuser --cluster-identifier mycluster-test --database dev --schema information_schema

以下是回應的範例。

{ "Tables": [ { "name": "sql_features", "schema": "information_schema", "type": "SYSTEM TABLE" }, { "name": "sql_implementation_info", "schema": "information_schema", "type": "SYSTEM TABLE" } ] }