最終更新日 :
2024年1月19日
説明
データを Avro バイナリ形式にシリアル化します。
戻り値
バイナリデータ(またはバイナリデータを含んだリスト)。
シンタックス
serializeAVRO(data, writerSchema [, queryFormat, useCustomSerialization ])
serializeAVRO(data, writerSchema [, queryFormat, useCustomSerialization ])
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>
<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>
<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”]}
]
}
{
“namespace”: “first.example”,
“type”: “record”,
“name”: “User”,
“fields”: [
{“name”: “name”, “type”: “string”},
{“name”: “favorite_number”, “type”: [“int”,“null”]},
{“name”: “favorite_color”, “type”: [“string”,“null”]}
]
}
{ “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>
<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>
<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>
<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>
<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>