

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

# 檢視 Amazon Keyspaces 中的使用者定義類型 (UDTs)
<a name="keyspaces-view-udt"></a>

若要檢視或列出單一區域金鑰空間中的所有 UDTs，您可以使用 CQL `system_schema_mcs.types`中的陳述式查詢系統金鑰空間中的資料表，或搭配 AWS CLI或 主控台使用 `get-type`和 `list-type`命令。

對於任一選項，IAM 主體都需要系統金鑰空間的讀取許可。如需詳細資訊，請參閱[設定許可以在 Amazon Keyspaces 中使用使用者定義類型 (UDTs)](configure-udt-permissions.md)。

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

**使用 Amazon Keyspaces 主控台檢視使用者定義類型 (UDT)**

1. 登入 AWS 管理主控台，並在 https：//[https://console.aws.amazon.com/keyspaces/home](https://console.aws.amazon.com/keyspaces/home) 開啟 Amazon Keyspaces 主控台。

1. 在導覽窗格中，選擇**金鑰空間**，然後從清單中選擇金鑰空間。

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. 您可以使用 列出目前所選金鑰空間中的所有 UDTs`DESC TYPE`。

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

1. 若要列出多區域金鑰空間中的所有 UDTs，您可以在`system_multiregion_info`金鑰空間`types`中查詢系統資料表。下列查詢是此範例。

   ```
   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/"
   }
   ```

------