ListTables

Updated at:

Queries the tables in Data Map. For types that do not support the schema level, this operation queries the tables in a specified database. For types that support the schema level, this operation queries the tables in a specified database, MaxCompute project, or schema. The response contains only basic table information and does not include technical or business metadata. For non-MaxCompute types, the response is not real-time and may be delayed by up to 1 hour compared to the metadata collection results.

Operation description

  1. You must purchase DataWorks Basic Edition or a higher edition to use this API.

Try it now

Try this API in OpenAPI Explorer, no manual signing needed. Successful calls auto-generate SDK code matching your parameters. Download it with built-in credential security for local usage.

Test

RAM authorization

The table below describes the authorization required to call this API. You can define it in a Resource Access Management (RAM) policy. The table's columns are detailed below:

  • Action: The actions can be used in the Action element of RAM permission policy statements to grant permissions to perform the operation.

  • API: The API that you can call to perform the action.

  • Access level: The predefined level of access granted for each API. Valid values: create, list, get, update, and delete.

  • Resource type: The type of the resource that supports authorization to perform the action. It indicates if the action supports resource-level permission. The specified resource must be compatible with the action. Otherwise, the policy will be ineffective.

    • For APIs with resource-level permissions, required resource types are marked with an asterisk (*). Specify the corresponding Alibaba Cloud Resource Name (ARN) in the Resource element of the policy.

    • For APIs without resource-level permissions, it is shown as All Resources. Use an asterisk (*) in the Resource element of the policy.

  • Condition key: The condition keys defined by the service. The key allows for granular control, applying to either actions alone or actions associated with specific resources. In addition to service-specific condition keys, Alibaba Cloud provides a set of common condition keys applicable across all RAM-supported services.

  • Dependent action: The dependent actions required to run the action. To complete the action, the RAM user or the RAM role must have the permissions to perform all dependent actions.

Action

Access level

Resource type

Condition key

Dependent action

dataworks:ListTables

list

*All Resource

*

None None

Request parameters

Parameter

Type

Required

Description

Example

ParentMetaEntityId

string

Yes

The ID of the parent metadata entity. You can refer to the response of the ListDatabases or ListSchemas operation, or see Metadata entity concepts.

  • The parent entity can be the database to which the table belongs. The ParentMetaEntityId format is ${EntityType}:${Instance ID or URL-encoded JDBC URL}:${Data catalog identifier}:${Database name}. Use an empty string as a placeholder for non-existent levels.

  • The parent entity can also be the database schema to which the table belongs. The ParentMetaEntityId format is ${EntityType}:${Instance ID or URL-encoded JDBC URL}:${Data catalog identifier}:${Database name}:${Schema name}. Use an empty string as a placeholder for non-existent levels.

Note
  • The database schema can be used for ParentMetaEntityId only when the database type supports schemas (maxcompute, holo, postgresql, sqlserver, hybriddb_for_postgresql, or oracle). For MaxCompute, the three-level model must be enabled. Otherwise, only the database can be used.

  • For MaxCompute and DLF types, use an empty string as a placeholder for the instance ID. For MaxCompute, the database name is the MaxCompute project name.

  • For StarRocks, the data catalog identifier is the catalog name. For DLF, the data catalog identifier is the catalog ID. Other types do not support the catalog level, so use an empty string as a placeholder.

Examples of ParentMetaEntityId formats for common types:

  • maxcompute-project:::project_name

  • maxcompute-schema:::project_name:schema_name (only when the three-level model is enabled for the project)

  • dlf-database::catalog_id:database_name

  • hms-database:instance_id::database_name

  • holo-schema:instance_id::database_name:schema_name

  • mysql-database:(instance_id|encoded_jdbc_url)::database_name

Note

Where:

  • instance_id: the instance ID, which is required when the data source is registered in instance mode.

  • encoded_jdbc_url: the URL-encoded JDBC connection string, which is required when the data source is registered by using a connection string.

  • catalog_id: the DLF catalog ID.

  • project_name: the MaxCompute project name.

  • database_name: the database name.

  • schema_name: the schema name.

maxcompute-project:::project_name

Name

string

No

The name. Fuzzy match is supported.

abc

Comment

string

No

The comment. Fuzzy match is supported.

this is a comment

TableTypes

array

No

The list of table types to query. If this parameter is left empty, all table types are queried.

string

No

The table type. The valid values vary based on the database type.

TABLE

SortBy

string

No

The field used for sorting. Default value: CreateTime. Valid values:

  • CreateTime: creation time

  • ModifyTime: modification time

  • Name: name

  • TableType: table type

Valid values:

  • ModifyTime :

    modification time.

  • TableType :

    table type.

  • CreateTime :

    creation time.

  • Name :

    name.

CreateTime

Order

string

No

The sort order. Default value: Asc. Valid values:

  • Asc: ascending order

  • Desc: descending order

Valid values:

  • Asc :

    ascending order.

  • Desc :

    descending order.

Asc

PageNumber

integer

No

The page number. Default value: 1.

1

PageSize

integer

No

The number of entries per page. Default value: 10. Maximum value: 100.

10

IncludeExtendedProperties

boolean

No

Specifies whether to return extended properties. If this parameter is set to true, extended properties are returned. If this parameter is set to false, extended properties are not returned.

true

Response elements

Element

Type

Description

Example

object

The response.

RequestId

string

The request ID.

E25887B7-579C-54A5-9C4F-83A****

Success

boolean

Indicates whether the request is successful.

true

PagingInfo

object

The paging information.

TotalCount

integer

The total number of entries.

100

PageNumber

integer

The page number.

1

PageSize

integer

The number of entries per page.

10

Tables

array

The list of tables.

Table

The table details.

Note:

The Table objects returned in Tables use a simplified structure and do not include the following properties:

  • TechnicalMetadata

  • BusinessMetadata

To obtain the technical or business metadata of a table, you must call the GetTable operation to retrieve the complete Table object.

Examples

Success response

JSON format

{
  "RequestId": "E25887B7-579C-54A5-9C4F-83A****",
  "Success": true,
  "PagingInfo": {
    "TotalCount": 100,
    "PageNumber": 1,
    "PageSize": 10,
    "Tables": [
      {
        "Id": "dlf-table::catalog_id:database_name::table_name",
        "Name": "table_name",
        "Comment": "Test table",
        "TableType": "TABLE",
        "PartitionKeys": [
          "ds"
        ],
        "ParentMetaEntityId": "dlf-database::catalog_id:database_name",
        "CreateTime": 1736852168000,
        "ModifyTime": 1736852168000,
        "TechnicalMetadata": {
          "Owner": "test_user",
          "Location": "oss://test-bucket/test_tbl",
          "Compressed": false,
          "InputFormat": "org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat",
          "OutputFormat": "org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat",
          "SerializationLibrary": "org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe",
          "Parameters": {
            "key": "value"
          }
        },
        "BusinessMetadata": {
          "Readme": "## Instructions",
          "CustomAttributes": {
            "key": [
              "John Doe"
            ]
          },
          "Tags": [
            {
              "Key": "tag_key",
              "Value": "tag_value"
            }
          ],
          "Categories": [
            [
              {
                "Id": "CATEGORY.456",
                "Name": "测试类目",
                "ParentId": "CATEGORY.123"
              }
            ]
          ],
          "UpstreamTasks": [
            {
              "Id": 123456,
              "Name": "test_task"
            }
          ],
          "Extension": {
            "ProjectId": 234,
            "EnvType": "Dev",
            "ViewCount": 0,
            "ReadCount": 0,
            "FavorCount": 0
          }
        },
        "StatisticsInfos": {
          "key": ""
        }
      }
    ]
  }
}

Error codes

See Error Codes for a complete list.

Release notes

See Release Notes for a complete list.