最終更新日 :
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>