

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 在 Amazon Keyspac UDTs es 中查看用户定义的类型 ()
<a name="keyspaces-view-udt"></a>

要查看或列出单区域密钥空间 UDTs 中的所有内容，可以使用 CQL `system_schema_mcs.types` 中的语句查询系统密钥空间中的表，或者在、或控制台中使用`get-type`和`list-type`命令。 AWS CLI

对于任一选项，IAM 委托人都需要对系统密钥空间的读取权限。有关更多信息，请参阅 [在 Amazon Keyspaces 中配置使用用户定义类型 (UDTs) 的权限](configure-udt-permissions.md)。

------
#### [ Console ]

**使用 Amazon Keyspaces 控制台查看用户定义的类型 (UDT)**

1. [登录并在家中打开 Amazon Keyspaces 控制台。 AWS 管理控制台 https://console.aws.amazon.com/keyspaces/](https://console.aws.amazon.com/keyspaces/home)

1. 在导航窗格中，选择 **Keyspaces**，然后从列表中选择一个密钥空间。

1. 选择该**UDTs**选项卡可查看密钥空间 UDTs 中所有内容的列表。

1. 要详细查看一个 UDT，请从列表中选择一个 **UDT**。

1. 在 “**架构**” 选项卡上，您可以查看架构。在 “**使用于**” 选项卡上，您可以查看此 UDT 是否用于表或其他 UDTs表中。请注意，您只能删除 UDTs 未被表或其他表使用的内容 UDTs。

------
#### [ Cassandra Query Language (CQL) ]

**使用 CQL 查看单区域密钥空间的用户定义类型 (UDTs)**

1. 要查看给定密钥空间中可用的类型，可以使用以下语句。

   ```
   SELECT type_name
   FROM system_schema_mcs.types
   WHERE keyspace_name = 'my_keyspace';
   ```

1. 要查看有关特定类型的详细信息，可以使用以下语句。

   ```
   SELECT 
       keyspace_name,
       type_name,
       field_names,
       field_types,
       max_nesting_depth,
       last_modified_timestamp,
       status,
       direct_referring_tables,
       direct_parent_types
   FROM system_schema_mcs.types
   WHERE keyspace_name = 'my_keyspace' AND type_name = 'my_udt';
   ```

1. 您可以使用列出账户中 UDTs 存在的所有内容`DESC TYPE`。

   ```
   DESC TYPES;
                               
    Keyspace my_keyspace
    ---------------------------
    my_udt1  my_udt2
                               
    Keyspace my_keyspace2
    ---------------------------
    my_udt1
   ```

1. 您可以使用列出当前选定密钥`DESC TYPE`空间 UDTs 中的所有内容。

   ```
   USE my_keyspace;
   my_keyspace DESC TYPES;
                               
   my_udt1  my_udt2
   ```

1. 要列出多区域密钥空间 UDTs 中的所有内容，可以在密钥空间`types`中查询系统表。`system_multiregion_info`以下查询就是一个例子。

   ```
   SELECT keyspace_name, type_name, region, status FROM system_multiregion_info.types WHERE keyspace_name = 'mykeyspace' AND table_name = 'mytable';
   ```

   此命令的输出如下所示。

   ```
   keyspace_name     | table_name         | region                 | status
   mykeyspace        | mytable            | us-east-1              | ACTIVE
   mykeyspace        | mytable            | ap-southeast-1         | ACTIVE
   mykeyspace        | mytable            | eu-west-1              | ACTIVE
   ```

------
#### [ CLI ]

**使用查看用户定义的类型 (UDTs) AWS CLI**

1. 要列出密钥空间中可用的类型，可以使用`list-types`命令。

   ```
   aws keyspaces list-types
   --keyspace-name 'my_keyspace'
   ```

   该命令的输出与本示例类似。

   ```
   {
       "types": [
           "my_udt",
           "parent_udt"
       ]
   }
   ```

1. 要查看有关给定类型的详细信息，可以使用`get-type`命令。

   ```
   aws keyspaces get-type
   --type-name 'my_udt'
   --keyspace-name 'my_keyspace'
   ```

   此命令的输出类似于此示例。

   ```
   {
       "keyspaceName": "my_keyspace",
       "typeName": "my_udt",
       "fieldDefinitions": [
           {
               "name": "a",
               "type": "int"
           },
           {
               "name": "b",
               "type": "text"
           }
       ],
       "lastModifiedTimestamp": 1721328225776,
       "maxNestingDepth": 3
       "status": "ACTIVE",
       "directReferringTables": [],
       "directParentTypes": [
           "parent_udt"
       ],
       "keyspaceArn": "arn:aws:cassandra:us-east-1:111122223333:/keyspace/my_keyspace/"
   }
   ```

------