最終更新日 :
2024年1月19日
説明
ColdFusion データを、そのデータの Protobuf 表現に変換します。
戻り値
バイト配列データまたはバイト配列のリストを返します。
シンタックス
serializeProtoBuf(data, schema, messageType, queryFormat, useCustomSerialization, protoPath)
パラメーター
パラメーター | 必須 | 説明 |
data | はい | ColdFusion データ値または ColdFusion データ値を表す変数。 |
schema | はい | protobuf スキーマ。プレーン文字列として指定することも、ファイルパスとして直接指定することもできます。 |
messageType | はい | 指定されたスキーマに定義されているメッセージタイプを表す文字列。スキーマに含まれているメッセージタイプが 1 つだけの場合、これはオプションです。 |
queryFormat | いいえ | これは文字列タイプのパラメーターで、「row」、「column」、「struct」のいずれかの値を指定できます。デフォルト値は「struct」です。 |
useCustomSerialization | いいえ | true または false です。customSerializer を使用するかどうかを指定します。デフォルト値は true です。シリアル化には必ず、カスタムシリアライザーが使用されます。false の場合、Protobuf シリアル化は ColdFusion のデフォルト動作を使用して実行されます。 |
protoPath | いいえ | (true または false)このフラグの目的は、スキーマで定義されている読み込み対象ファイルをコンパイラーが探すディレクトリを指定することです。デフォルトでは、現在のスキーマの親パスになります。 |
例
Customer.proto
syntax = “proto3”; message Customer { int64 customer_id = 1; string customer_name = 2; }
Order.proto
syntax = “proto3”; import “Customer.proto”; message Order { int32 order_id = 1; string order_date = 2; int32 order_amount = 3; Customer customer = 5; }
File.cfm
<cfscript> // データを定義 data = { “order_id”: 32, “order_date”: “09-09-2022”, “order_amount”: 345, “customer”:{ “customer_id”:344, “customer_name”:“Jack” } } protoSerRes = serializeProtoBuf(data,'Order.proto','Order','struct',false); writedump(protoSerRes) // データはバイナリ形式で出力される </cfscript>