1.6. Kafka Bridge へのリクエスト
データ形式と HTTP ヘッダーを指定し、有効なリクエストが Kafka Bridge に送信されるようにします。
1.6.1. Content-Type ヘッダー リンクのコピーリンクがクリップボードにコピーされました!
API リクエストおよびレスポンス本文は、常に JSON としてエンコードされます。
コンシューマー操作の実行時に、
POSTリクエストの本文が空でない場合は、以下のContent-Typeヘッダーが含まれている必要があります。Content-Type: application/vnd.kafka.v2+json
Content-Type: application/vnd.kafka.v2+jsonCopy to Clipboard Copied! Toggle word wrap Toggle overflow プロデューサー操作を行う場合に、
POSTリクエストには、生成されるメッセージの 埋め込みデータ形式 を示すContent-Typeヘッダーを指定する必要があります。これはjsonまたはbinaryのいずれかになります。Expand 埋め込みデータ形式 Content-Type ヘッダー JSON
Content-Type: application/vnd.kafka.json.v2+jsonバイナリー
Content-Type: application/vnd.kafka.binary.v2+json
次のセクションで説明されているように、埋め込みデータ形式はコンシューマーごとに設定されます。
POST リクエストの本文が空の場合は、Content-Type を設定しないでください。空の本文を使用して、デフォルト値のコンシューマーを作成できます。
1.6.2. 埋め込みデータ形式 リンクのコピーリンクがクリップボードにコピーされました!
埋め込みデータ形式は、Kafka メッセージが Kafka Bridge によりプロデューサーからコンシューマーに HTTP で送信される際の形式です。サポート対象の埋め込みデータ形式には、JSON とバイナリーの 2 種類があります。
/consumers/groupid エンドポイントを使用してコンシューマーを作成する場合、POST リクエスト本文で JSON またはバイナリーいずれかの埋め込みデータ形式を指定する必要があります。これは、以下の例のように format フィールドで指定します。
{
"name": "my-consumer",
"format": "binary",
# ...
}
{
"name": "my-consumer",
"format": "binary",
# ...
}
- 1
- バイナリー埋め込みデータ形式。
コンシューマーの作成時に指定する埋め込みデータ形式は、コンシューマーが消費する Kafka メッセージのデータ形式と一致する必要があります。
バイナリー埋め込みデータ形式を指定する場合は、以降のプロデューサーリクエストで、リクエスト本文にバイナリーデータが Base64 でエンコードされた文字列として含まれる必要があります。たとえば、/topics/topicname エンドポイントを使用してメッセージを送信する場合は、records.value を Base64 でエンコードする必要があります。
プロデューサーリクエストには、埋め込みデータ形式に対応する Content-Type ヘッダーも含まれる必要があります (例: Content-Type: application/vnd.kafka.binary.v2+json)。
1.6.3. メッセージの形式 リンクのコピーリンクがクリップボードにコピーされました!
/topics エンドポイントを使用してメッセージを送信する場合は、records パラメーターのリクエスト本文にメッセージペイロードを入力します。
records パラメーターには、以下のオプションフィールドを含めることができます。
-
Message
headers -
Message
key -
Message
value -
Destination
partition
/topics への POST リクエストの例
- 1
- バイナリー形式のヘッダー値。Base64 としてエンコードされます。
1.6.4. Accept ヘッダー リンクのコピーリンクがクリップボードにコピーされました!
コンシューマーを作成したら、以降のすべての GET リクエストには Accept ヘッダーが以下のような形式で含まれる必要があります。
Accept: application/vnd.kafka.EMBEDDED-DATA-FORMAT.v2+json
Accept: application/vnd.kafka.EMBEDDED-DATA-FORMAT.v2+json
EMBEDDED-DATA-FORMAT は json または binary です。
たとえば、サブスクライブされたコンシューマーのレコードを JSON 埋め込みデータ形式で取得する場合は、この Accept ヘッダーが含まれるようにします。
Accept: application/vnd.kafka.json.v2+json
Accept: application/vnd.kafka.json.v2+json