選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

在 Amazon Keyspaces 中建立使用者定義的類型 (UDT)

焦點模式
在 Amazon Keyspaces 中建立使用者定義的類型 (UDT) - Amazon Keyspaces (適用於 Apache Cassandra)

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

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

若要在單一區域金鑰空間UDT中建立 ,您可以在 中使用 CREATE TYPE陳述式CQL、 create-type命令搭配 AWS CLI或 主控台。

UDT 名稱必須包含 48 個字元或更少,必須以字母字元開頭,且只能包含英數字元和底線。Amazon Keyspaces 會自動將大寫字元轉換為小寫字元。

或者,您可以雙引號宣告UDT名稱。在雙引號內宣告UDT名稱時,Amazon Keyspaces 會保留大寫並允許特殊字元。

您也可以在建立 時使用雙引號做為名稱的一部分UDT,但您必須使用額外的雙引號字元逸出每個雙引號字元。

下表顯示允許UDT的名稱範例。第一欄顯示如何在建立 類型時輸入名稱,第二欄顯示 Amazon Keyspaces 如何在內部格式化名稱。Amazon Keyspaces 預期 等操作的格式化名稱GetType

輸入的名稱 格式化名稱 注意
MY_UDT my_udt 如果沒有雙引號,Amazon Keyspaces 會將所有大寫字元轉換為小寫。
"MY_UDT" MY_UDT 使用雙引號時,Amazon Keyspaces 會遵守大寫字元,並從格式化名稱中移除雙引號。
"1234" 1234 使用雙引號時,名稱可以以數字開頭,Amazon Keyspaces 會從格式化名稱中移除雙引號。
"Special_Ch@r@cters<>!!" Special_Ch@r@cters<>!! 使用雙引號時,名稱可以包含特殊字元,Amazon Keyspaces 會從格式化名稱中移除雙引號。
"nested""""""quotes" nested"""quotes Amazon Keyspaces 會從格式化名稱中移除外部雙引號和逸出雙引號。
Console
使用 Amazon Keyspaces 主控台建立使用者定義的類型 (UDT)
  1. 登入 AWS Management Console,並https://console.aws.amazon.com/keyspaces/在家中開啟 Amazon Keyspaces 主控台。

  2. 在導覽窗格中,選擇鍵空間,然後從清單中選擇鍵空間。

  3. 選擇 (UDTs) 索引標籤。

  4. 選擇建立 UDT

  5. UDT詳細資訊下,輸入 的名稱UDT。在 UDT 欄位下,您可以定義 的結構描述UDT。

  6. 若要完成,請選擇建立 UDT

Cassandra Query Language (CQL)
使用 建立使用者定義的類型 (UDT) CQL

在此範例中,我們會建立 中使用的新版本書籍獎勵表在 Amazon Keyspaces 中創建一個表。在此表格中,我們會存放作者為指定書籍收到的所有獎勵。我們建立兩個巢狀UDTs的 ,其中包含有關獲得獎勵之書籍的資訊。

  1. 建立名稱為 的鍵空間catalog。請注意,多區域鍵空間UDTs不支援 。

    CREATE KEYSPACE catalog WITH REPLICATION = {'class': 'SingleRegionStrategy'};
  2. 建立第一個類型。此類型存放BISAC程式碼,用於定義書籍類型。BISAC 程式碼由英數字元程式碼組成,最多四個主題區域。

    CREATE TYPE catalog.bisac ( bisac_code text, subject1 text, subject2 text, subject3 text, subject4 text );
  3. 為使用第一個 的書籍獎勵建立第二個類型UDT。巢狀UDT必須凍結。

    CREATE TYPE catalog.book ( award_title text, book_title text, publication_date date, page_count int, ISBN text, genre FROZEN <bisac> );
  4. 建立具有作者名稱資料欄的資料表,並針對書籍獎勵使用清單類型。請注意,清單中UDT使用的 必須凍結。

    CREATE TABLE catalog.authors ( author_name text PRIMARY KEY, awards list <FROZEN <book>> );
  5. 在此步驟中,我們會將一列資料插入新資料表。

    CONSISTENCY LOCAL_QUORUM;
    INSERT INTO catalog.authors (author_name, awards) VALUES ( 'John Stiles' , [{ award_title: 'Wolf', book_title: 'Yesterday', publication_date: '2020-10-10', page_count: 345, ISBN: '026204630X', genre: { bisac_code:'FIC014090', subject1: 'FICTION', subject2: 'Historical', subject3: '20th Century', subject4: 'Post-World War II'} }, {award_title: 'Richard Roe', book_title: 'Who ate the cake?', publication_date: '2019-05-13', page_count: 193, ISBN: '9780262046305', genre: { bisac_code:'FIC022130', subject1: 'FICTION', subject2: 'Mystery & Detective', subject3: 'Cozy', subject4: 'Culinary'} }] );
  6. 在最後一個步驟中,我們會從資料表讀取資料。

    SELECT * FROM catalog.authors;

    命令的輸出應該如下所示。

    author_name | awards -------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- John Stiles | [{award_title: 'Wolf', book_title: 'Yesterday', publication_date: 2020-10-10, page_count: 345, isbn: '026204630X', genre: {bisac_code: 'FIC014090', subject1: 'FICTION', subject2: 'Historical', subject3: '20th Century', subject4: 'Post-World War II'}}, {award_title: 'Richard Roe', book_title: 'Who ate the cake?', publication_date: 2019-05-13, page_count: 193, isbn: '9780262046305', genre: {bisac_code: 'FIC022130', subject1: 'FICTION', subject2: 'Mystery & Detective', subject3: 'Cozy', subject4: 'Culinary'}}] (1 rows)

    如需 CQL 語法的詳細資訊,請參閱 CREATE TYPE

CLI
使用 建立使用者定義的類型 (UDT) AWS CLI
  1. 若要建立類型,您可以使用下列語法。

    aws keyspaces create-type --keyspace-name 'my_keyspace' --type-name 'my_udt' --field-definitions '[ {"name" : "field1", "type" : "int"}, {"name" : "field2", "type" : "text"} ]'
  2. 該命令的輸出看起來與此範例類似。請注意, 會typeName傳回 的格式化名稱UDT。

    { "keyspaceArn": "arn:aws:cassandra:us-east-1:111122223333:/keyspace/my_keyspace/", "typeName": "my_udt" }
使用 Amazon Keyspaces 主控台建立使用者定義的類型 (UDT)
  1. 登入 AWS Management Console,並https://console.aws.amazon.com/keyspaces/在家中開啟 Amazon Keyspaces 主控台。

  2. 在導覽窗格中,選擇鍵空間,然後從清單中選擇鍵空間。

  3. 選擇 (UDTs) 索引標籤。

  4. 選擇建立 UDT

  5. UDT詳細資訊下,輸入 的名稱UDT。在 UDT 欄位下,您可以定義 的結構描述UDT。

  6. 若要完成,請選擇建立 UDT

下一個主題:

檢視 UDTs

上一個主題:

設定許可
隱私權網站條款Cookie 偏好設定
© 2025, Amazon Web Services, Inc.或其附屬公司。保留所有權利。