serializeAVRO

説明

データを 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>

ヘルプをすばやく簡単に入手

新規ユーザーの場合