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"
}