最終更新日 :
2024年1月19日
説明
データを Avro バイナリ形式にシリアル化します。
戻り値
バイナリデータ(またはバイナリデータを含んだリスト)。
シンタックス
serializeAVRO(data, writerSchema [, queryFormat, useCustomSerialization ])
パラメーター
パラメーター | 必須 | 説明 |
data | はい | 構造体または構造体の配列として表されるデータ。 |
writerSchema | はい | スキーマの文字列またはスキーマの絶対パス。これはレコードなので、JSON 配列で構成された複数のフィールドを定義することができます。こうした各フィールドには、フィールドの名前とタイプが指定されています。タイプは、整数のような単純なものでも、別のレコードのような複雑なものでも構いません。プレーン文字列として指定することも、ファイルパスとして直接指定することもできます。 |
queryFormat | いいえ | これは文字列タイプのパラメーターで、row、column、struct のいずれかの値を指定できます。 |
useCustomSerialization | いいえ | true または false です。customSerializer を使用するかどうかを指定します。デフォルト値は true です。シリアル化には必ず、カスタムシリアライザーが使用されます。false の場合、Avro シリアル化は ColdFusion のデフォルト動作を使用して実行されます。 |
インラインスキーマの使用例
<cfscript> // Avro スキーマを定義 mySchema= '{ “namespace”: “first.example”, “type”: “record”, “name”: “User”, “fields”: [ {“name”: “name”, “type”: “string”}, {“name”: “favorite_number”, “type”: [“int”,“null”]}, {“name”: “favorite_color”, “type”: [“string”,“null”]} ] }' // 上記のスキーマに準拠するデータを設定 data= { “name”:“Jack Sparrow”, “favorite_number”:{“int”:9}, “favorite_color”:{“string”:“red”} } avroSerializeResponse = serializeAVRO(data, mySchema) writedump(avroSerializeResponse) </cfscript>
外部 avsc スキーマの使用例
first.avsc
{ “namespace”: “first.example”, “type”: “record”, “name”: “User”, “fields”: [ {“name”: “name”, “type”: “string”}, {“name”: “favorite_number”, “type”: [“int”,“null”]}, {“name”: “favorite_color”, “type”: [“string”,“null”]} ] }
avro.cfm
<cfscript> // 上記のスキーマに準拠するデータを設定 data= { “name”:“Jack Sparrow”, “favorite_number”:{“int”:9}, “favorite_color”:{“string”:“red”} } serializedBinaryAvroData = serializeAVRO(data, “first.avsc”) writedump(serializedBinaryAvroData) deserializedStructData = deSerializeAVRO(serializedBinaryAvroData, “first.avsc”, true, true) writedump(deserializedStructData) </cfscript>
avroDataAsAList.cfm
<cfscript> // 上記のスキーマに準拠するデータを設定 data= [{ “name”:“Jack Sparrow”, “favorite_number”:{“int”:9}, “favorite_color”:{“string”:“red”} }, { “name”:“Barbossa”, “favorite_number”:{“int”:7}, “favorite_color”:{“string”:“black”} }] serializedBinaryAvroData = serializeAVRO(data, “a.avsc”) writedump(serializedBinaryAvroData) deserializedStructData = deSerializeAVRO(serializedBinaryAvroData, “a.avsc”, true, true) writedump(deserializedStructData) </cfscript>