2016-03-23 6 views
1

私はRabbitMQに送る必要があるキー値タイプの複数のオブジェクトを持っているので、それらを消費します。したがって、このRabbitMQリンクを通過した後。シンプルなプレーンテキストメッセージを公開する方法しか教えていません。 RabbitMQの地図オブジェクトを公開して消費する方法を教えてもらえますか?rabbitmq go langのmake(map [string] string)を公開して消費する方法

 m := make(map[string]string) 
    m["col1"] = "004999010640000" 
    m["col2"] = "awadwaw" 
    m["col3"] = "13" 

    err = ch.Publish(
     "EventCaptureData-Exchange", // exchange 
     q.Name + "Key",   // routing key 
     true,   // mandatory        
     false,   // immediate 
     amqp.Publishing{ 
      ContentType: "?????", 
      Body:  ????, 
     }) 
+0

'map [string] string'はかなり単純なデータ構造ですが、なぜjsonを使わないのですか? – JimB

答えて

3

たとえば、Goオブジェクトをシリアル化する必要があります。それを公開する前にbase64のテキスト。その後、コンシューマで初期化されたオブジェクトを戻すために逆シリアル化します。 Goの例については、「Golang serialize and deserialize back」を参照してください。

コンテンツタイプについては、最も適切なものがわかりません。 application/octet-stream

+1

型はほとんどが文字列データ( 'map [string] string')なので、jsonはbase64のゴブよりコンパクトになります。 – JimB

+0

私は同意するならば、JSONはおそらく多くの理由(より簡単なデバッグ、別の言語からの読み込みと解釈など)のためのより良い選択です。私はすぐに例を見つけたので、ここでbase64に言及しました。私はGoの開発者ではないので、JSONベースの例を用意することはできませんでした。 –

関連する問題