今回は Go + gRPC でファイルアップローダーを書いたので紹介します。しかも、ファイルのアップロードだけではなくメタデータも同時に送れるように作成しました。 イメージ 今回作成するにあたって、次のようなイメージで作成しました。 前提は stream 通信(ファイルのアップロードに必要不可欠) クライアントから送信したいファイルのメタ情報を送る ファイルデータを少しずつ送信 結果を受け取る アップロード周りの protobuf これを実現するために oneof を用いました。 理由としては次の通りです。 If you have a message with many fields and where at most one field will be set at the same time, you can enforce this behavior and save memory

