本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
您可以使用AWS GlueAPIs或AWS Glue主控台建立結構描述。
AWS Glue APIs
您可以使用這些步驟來執行此工作,使用AWS GlueAPIs。
若要新增結構描述,請使用 CreateSchema 動作 (Python:create_schema)API.
指定 RegistryId
結構來指出結構描述的登錄檔。或者,省略 RegistryId
以使用預設登錄檔。
指定由字母、數字、連字號或底線組成的 SchemaName
,以及指定 DataFormat
為 AVRO
或 JSON
。在結構描述上設定 DataFormat
後就不可改變。
指定 Compatibility
模式:
向後 (建議使用) — 消費者可以同時讀取目前版本和先前版本。
全部向後 — 消費者可以讀取目前版本和所有先前版本。
向前 — 消費者可以讀取目前和後續版本。
全部向前 — 消費者可以讀取目前版本和所有後續版本。
完整 — 向後和向前的組合。
完整全部 — 全部向後與全部向前的組合。
無 — 不會執行相容性檢查。
已停用 — 防止此結構描述的任何版本控制。
選用地指定結構描述的 Tags
。
指定SchemaDefinition
以 Avro、JSON或 Protobuf 資料格式定義結構描述。請參閱範例。
對於 Avro 資料格式:
aws glue create-schema --registry-id RegistryName="registryName1" --schema-name testschema --compatibility NONE --data-format AVRO --schema-definition "{\"type\": \"record\", \"name\": \"r1\", \"fields\": [ {\"name\": \"f1\", \"type\": \"int\"}, {\"name\": \"f2\", \"type\": \"string\"} ]}"
aws glue create-schema --registry-id RegistryArn="arn:aws:glue:us-east-2:901234567890:registry/registryName1" --schema-name testschema --compatibility NONE --data-format AVRO --schema-definition "{\"type\": \"record\", \"name\": \"r1\", \"fields\": [ {\"name\": \"f1\", \"type\": \"int\"}, {\"name\": \"f2\", \"type\": \"string\"} ]}"
對於JSON資料格式:
aws glue create-schema --registry-id RegistryName="registryName" --schema-name testSchemaJson --compatibility NONE --data-format JSON --schema-definition "{\"$schema\": \"http://json-schema.org/draft-07/schema#\",\"type\":\"object\",\"properties\":{\"f1\":{\"type\":\"string\"}}}"
aws glue create-schema --registry-id RegistryArn="arn:aws:glue:us-east-2:901234567890:registry/registryName" --schema-name testSchemaJson --compatibility NONE --data-format JSON --schema-definition "{\"$schema\": \"http://json-schema.org/draft-07/schema#\",\"type\":\"object\",\"properties\":{\"f1\":{\"type\":\"string\"}}}"
對於 Protobuf 資料格式:
aws glue create-schema --registry-id RegistryName="registryName" --schema-name testSchemaProtobuf --compatibility NONE --data-format PROTOBUF --schema-definition "syntax = \"proto2\";package org.test;message Basic { optional int32 basic = 1;}"
aws glue create-schema --registry-id RegistryArn="arn:aws:glue:us-east-2:901234567890:registry/registryName" --schema-name testSchemaProtobuf --compatibility NONE --data-format PROTOBUF --schema-definition "syntax = \"proto2\";package org.test;message Basic { optional int32 basic = 1;}"
AWS Glue 主控台
若要使用 AWS Glue 主控台來新增結構描述:
-
登入 AWS 管理主控台,然後在的開啟AWS Glue主控台https://console.aws.amazon.com/glue/
。 在導覽窗格中,於 Data catalog 下選擇 Schemas (Data Catalog) (結構描述 Data Catalog)。
選擇 Add schema (新增結構描述)。
輸入 Schema name (結構描述名稱),由字母、數字、連字號、底線、金額符號或井號組成。無法變更此名稱。
選擇 Registry (登錄檔),其中結構描述會從下拉式選單儲存。建立後,無法變更父登錄檔。
保留數據格式為阿帕奇阿夫羅或 JSON. 此格式會套用至此結構描述的所有版本。
選擇 Compatibility mode (相容性模式)。
向後 (建議使用) — 接收者可以讀取目前和以前的版本。
全部向後 — 接收者可以讀取目前和所有以前的版本。
向前 — 傳送者可以寫入目前和先前的版本。
全部向前 — 傳送者可以寫入目前和所有先前的版本。
完整 — 向後和向前的組合。
完整全部 — 全部向後與全部向前的組合。
無 — 不執行相容性檢查。
已停用 — 防止此結構描述的任何版本控制。
為登錄檔輸入選用 Description (描述),最多 250 個字元。
或者,將一或多個標籤套用到您的結構描述。選擇 Add new tag (新增標籤),然後指定 Tag key (標籤鍵) 以及選用的 Tag value (標籤值)。
在 First schema version (第一個結構描述版本) 方塊中,輸入或貼上您的初始結構描述。
如需 Avro 格式,請參閱使用 Avro 資料格式
如需JSON格式,請參閱 使用JSON資料格式
選用地選擇 Add metadata (新增中繼資料) 以新增版本中繼資料來標註或分類您的結構描述版本。
選擇 Create schema and version (建立結構描述和版本)。
結構描述隨即建立,並顯示在 Schemas (結構描述) 清單下。
使用 Avro 資料格式
Avro 提供資料序列化和資料交換服務。Avro 以JSON格式存儲數據定義,使其易於閱讀和解釋。資料本身會以二進位格式儲存。
如需定義 Apache Avro 結構描述的相關資訊,請參閱 Apache Avro 規格
使用JSON資料格式
數據可以用JSON格式序列化。JSON模式格式