メッセージの送信

Prev Next

VPC環境で利用できます。

メッセージ(データ)をトピックに送信します。送信結果は、NAVERクラウドプラットフォームコンソールの Data Streamサービスで Topic > [データ] タブメニューをクリックすると確認できます。

参考

Apache Kafkaクラスタに TCPエンドポイントから接続してメッセージを生産・消費する方法は、Data Streamご利用ガイドをご参照ください。

リクエスト

リクエスト形式を説明します。リクエスト形式は次の通りです。

メソッド URI
POST /api/produce

リクエストヘッダ

Data Stream APIで共通して使用されるヘッダの詳細は、Data Streamのリクエストヘッダをご参照ください。

注意

セキュリティのため、認証時に NAVERクラウドプラットフォームメインアカウントの Access Key、Secret Keyは使用できません。そのため、サブアカウントを作成した後、サブアカウントの Access Key、Secret Keyを使用します。サブアカウントの作成と Access Key、Secret Keyの確認方法は、Sub Accountご利用ガイドをご参照ください。

リクエストボディ

リクエストボディの説明は次の通りです。

フィールド タイプ 必須の有無 説明
topic String Required トピック名
key String Required メッセージキー
value String Required メッセージの値(内容)
partition Number Optional メッセージ送信先のトピックパーティションインデックス
  • 入力しないと任意のパーティションに送信

リクエスト例

リクエストのサンプルコードは次の通りです。

パーティション未指定

パーティションを指定せずに送信する場合のリクエストのサンプルコードは次の通りです。

curl --location --request POST 'https://api.datastream.naverncp.com/api/produce' \
--header 'x-ncp-apigw-timestamp: {Timestamp}' \
--header 'x-ncp-iam-access-key: {Access Key}' \
--header 'x-ncp-apigw-signature-v2: {API Gateway Signature}' \
--data '{  
            "topic": "{TopicName}",  
            "key": "test-key",  
            "value": "this is a test (body)"
}'

パーティション指定

パーティションを指定して送信する場合のリクエストのサンプルコードは次の通りです。

curl --location --request POST 'https://api.datastream.naverncp.com/api/produce' \
--header 'x-ncp-apigw-timestamp: {Timestamp}' \
--header 'x-ncp-iam-access-key: {Access Key}' \
--header 'x-ncp-apigw-signature-v2: {API Gateway Signature}' \
--data '{  
            "topic": "{TopicName}",  
            "key": "test-key",  
            "value": "this is a test (body)",
            "partition": 0
}'
# パーティション番号は0番からスタート

レスポンス

レスポンス形式を説明します。

レスポンスボディ

レスポンスボディの説明は次の通りです。

フィールド タイプ 必須の有無 説明
status Number Required レスポンスステータスコード
detail String Required レスポンスステータスコードメッセージ

レスポンスステータスコード

レスポンスステータスコードの説明は次の通りです。

HTTPステータスコード コード メッセージ 説明
200 - OK リクエスト成功
400 - Bad Request リクエストまたはボディなどの無効なリクエスト
400 - Bad Request, Invalid headers 無効なヘッダリクエスト
400 - Bad Request, Invalid topic partition 無効なパーティションリクエスト
401 - Unauthorized 認証失敗
403 - Forbidden 権限なし
500 - Internal Server Error 処理されないエラー

レスポンス例

レスポンスのサンプルコードは次の通りです。

{
    "status": "200",
    "detail" : "OK"
}