翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
スキーマの作成
スキーマは、AWS Glue API または AWS Glue コンソールを使用して作成できます。
AWS Glue API
ここでの手順により、AWS Glue API を使用しながら対象のタスクを実行できます。
新しいスキーマを追加するには CreateSchema アクション (Python: create_schema) API を使用します。
RegistryId
構造体を使用して、スキーマのレジストリを指定します。または、RegistryId
を省略すると、デフォルトのレジストリが使用されます。
文字、数字、ハイフン、アンダースコアを使用し、DataFormat
として AVRO
または JSON
を設定しながら SchemaName
を指定します。一度スキーマに設定された DataFormat
は変更できません。
Compatibility
モードを指定する。
Backward (推奨) – コンシューマは、現在のバージョンと 1 つ前のバージョンの両方を読み取ることができます。
Backward all – コンシューマは、現在のバージョンと過去のすべてのバージョンを読み取ることができます。
Forward – コンシューマは、現在のバージョンと次に続くバージョンの両方を読み取ることができます。
Forward all – コンシューマは、現在のバージョンと後続のすべてのバージョンの両方を読み取ることができます。
Full – Backward all と Forward all を組み合わせたモードです。
Full all – Backward all と Forward all を組み合わせたモードです。
None – 互換性チェックは実行されません。
Disabled – このスキーマのバージョニングを抑止します。
オプションで、スキーマに 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] (スキーマ) をクリックします。
[Add schema] (スキーマを追加) をクリックします。
[Schema name] (スキーマ名) に、文字、数字、ハイフン、アンダースコア、ドル記号、ハッシュマークで構成された名前を入力します。この名前は変更できません。
[Registry] (レジストリ) ドロップダウンメニューから、スキーマの保存先となるレジストリを選択します。作成後は、親レジストリを変更することはできません。
[Data format] (データ形式) は、「Apache Avro」または「JSON」のままにしておきます。この形式は、このスキーマのすべてのバージョンに適用されます。
[Compatibility mode] (互換モード) をクリックします。
Backward (推奨) – レシーバーは、現在のバージョンと 1 つ前のバージョンの両方を読み取ることができます。
Backward All – レシーバーは、現在および過去のすべてのバージョンを読み取ることができます。
Forward – センダーは、現在のバージョンと 1 つ前のバージョンの両方に書き込むことができます。
Forward All – センダーは、現在のバージョンと過去のすべてのバージョンに書き込むことができます。
Full – Backward と Forward を組み合わせたモードです。
Full All – Backward All と Forward All を組み合わせたモードです。
None – 互換性チェックは実行されません。
Disabled – このスキーマのバージョニングを抑止します。
[Description] (説明) に、レジストリのための説明 (オプション) を、最大 250 文字で入力します。
オプションで、1 つ以上のタグをスキーマに適用します。[Add new tag] (新しいタグを追加) を選択し、[Tag key] (タグキー) とオプションの [Tag value] (タグ値) を指定します。
[First schema バージョニング] (最初のスキーマバージョン) ボックスに、初期スキーマを入力するか貼り付けます。
Avro 形式については「Avro データ形式での作業」を参照
JSON 形式については「JSON データ形式での操作」を参照
必要に応じて、[Add metadata] (メタデータを追加) をクリックして、スキーマバージョンの注釈付けや分類を行うためのバージョンメタデータを追加します。
[Create schema and version] (スキーマとバージョンを作成する) をクリックします。
スキーマが作成され、[Schemas] (スキーマ) の下に一覧表示されます。
Avro データ形式での作業
Avro では、データのシリアル化とデータ交換サービスが利用できます。Avro は、可読性と解釈しやすさのために、データ定義が JSON 形式で格納されます。データ自体はバイナリ形式で保存されます。
Apache Avro スキーマの定義については、「Apache Avro specification
JSON データ形式での操作
JSON 形式では、データをシリアル化できます。JSON スキーマ形式の標準は、「JSON Schema format