すべてのプロダクト
Search
ドキュメントセンター

ApsaraMQ for Kafka:Create an OSS sink connector

最終更新日:Mar 12, 2026

アプリケーションが ApsaraMQ for Kafka にストリーミングデータを生成する場合、アーカイブ、分析、またはダウンストリーム処理のために、それらのメッセージを Object Storage Service (OSS) に永続化する必要がある場合があります。OSS sink コネクタは、このパイプラインを自動化します。ApsaraMQ for Kafka はメッセージを Function Compute (FC) に送信し、FC はそれらを OSS バケットに書き込みます。

前提条件

開始する前に、次のことを確認してください。

制限事項

  • 同一リージョン要件:ApsaraMQ for Kafka インスタンス、OSS バケット、および FC はすべて同じリージョンに存在する必要があります。詳細については、「使用制限」をご参照ください。

  • UTF-8 のみ:ApsaraMQ for Kafka はメッセージを UTF-8 エンコードされた文字列にシリアル化します。バイナリデータはサポートされていません。

  • 費用:FC は無料のリソースクォータを提供します。このクォータを超える使用量は、「FC 課金ルール」に従って課金されます。関数実行を監視するには、「FC のログ記録を設定する」をご参照ください。

コネクタの作成とデプロイ

ステップ 1: コネクタウィザードの開始

  1. ApsaraMQ for Kafka コンソールにログインします。

  2. [概要]」ページの「[リソース配布]」セクションで、インスタンスが存在するリージョンを選択します。

  3. 左側のナビゲーションウィンドウで、[コネクタ] をクリックします。

  4. [コネクタ] ページで、[インスタンスの選択] ドロップダウンリストからインスタンスを選択し、[コネクタの作成] をクリックします。

ステップ 2: 基本情報の設定

[基本情報の設定] ステップで、以下のパラメーターを設定し、[次へ] をクリックします。

パラメーター説明
名前コネクタの一意の名前。長さは 1~48 文字で、数字、小文字、ハイフン (-) を使用できます。ハイフンで始めることはできません。connect-<connector-name> という名前のコンシューマーグループが自動的に作成されます。kafka-oss-sink
インスタンス現在のインスタンスの名前と ID を表示します。demo alikafka_post-cn-st21p8vj\*\*\*\*
重要

デフォルトで、[サービスリンクロールの作成を承認] が選択されています。ApsaraMQ for Kafka は、サービスリンクロールがまだ存在しない場合に、このロールを作成します。このロールは、ApsaraMQ for Kafka から OSS へデータを同期するために必要な権限を付与します。

ステップ 3: ソースサービスの設定

[ソースサービスの設定] ステップで、ソースサービスとして Message Queue for Apache Kafka を選択し、次のパラメーターを設定し、[次へ] をクリックします。

必須パラメーター

パラメーター説明
データソースのトピックメッセージがエクスポートされる元のトピックです。oss-test-input
コンシューマースレッドの同時実行数同時実行コンシューマースレッドの数です。有効な値:123612。デフォルト:66
コンシューマーオフセットメッセージの消費を開始する場所です。最も古いオフセット は先頭から読み取り、最新のオフセット は新しいメッセージのみを読み取ります。最も古いオフセット

実行環境パラメーター

[ランタイム環境の設定] をクリックして、以下のパラメーターを展開します。

パラメーター説明
VPC ID同期タスクを実行する VPC です。デフォルトでは、ソースインスタンスの VPC が使用されます。vpc-bp1xpdnd3l\*\*\*
vSwitch IDソースインスタンスに接続されている vSwitch です。インスタンスと同じ VPC 内である必要があります。デフォルトでは、ソースインスタンスの vSwitch が使用されます。vsw-bp1d2jgg81\*\*\*
障害時の処理ポリシーメッセージ配信失敗時の処理方法です。[Continue Subscription] を選択すると、パーティションからの消費を継続し、エラーをログに記録します。[Stop Subscription] を選択すると、パーティションからの消費を停止し、エラーをログに記録します。詳細については、「コネクタの管理」および「エラーコード」をご参照ください。[Continue Subscription]
リソース作成方法必要な内部トピックを自動的に作成する ([Auto]) か、手動で作成する ([Manual]) かを指定します。カスタムトピック設定が必要ない限り、[Auto] を選択してください。[Auto]

内部トピック (手動作成のみ)

[リソース作成方法][手動] に設定した場合は、続行する前に以下の内部 Topic を作成してください。[ランタイム環境の設定] をクリックして、これらのパラメーターを表示します。

パラメーター命名プレフィックスパーティションストレージエンジンcleanup.policy
Connector Consumer Groupconnect-cluster------connect-cluster-kafka-oss-sink
Task Offset Topicconnect-offset> 1ローカルストレージCompactconnect-offset-kafka-oss-sink
Task Configuration Topicconnect-config1 (正確に)ローカルストレージCompactconnect-config-kafka-oss-sink
Task Status Topicconnect-status6 (推奨)ローカルストレージCompactconnect-status-kafka-oss-sink
Dead-letter Queue Topicconnect-error6 (推奨)ローカルストレージまたはクラウドストレージ--connect-error-kafka-oss-sink
Error Data Topicconnect-error6 (推奨)ローカルストレージまたはクラウドストレージ--connect-error-kafka-oss-sink
説明

ローカルストレージは Professional Edition インスタンスでのみ利用可能です。トピックリソースを節約するには、[デッドレターキュートピック][エラーデータトピック] の両方に同じトピックを使用できます。

ステップ 4: 送信先サービスの設定

[送信先サービスの設定] ステップで、送信先サービスとして Object Storage Service を選択し、次のパラメーターを設定し、[作成] をクリックします。

パラメーター説明
Bucket Nameエクスポートされたデータを受信する OSS バケットの名前。bucket_test
AccessKey IDバケットへのアクセス権を持つ Alibaba Cloud アカウントの AccessKey ID。yourAccessKeyID
AccessKey SecretAlibaba Cloud アカウントの AccessKey Secret。yourAccessKeySecret

アカウントに次の最小限の権限を付与します。

{
    "Version": "1",
    "Statement": [
        {
            "Action": [
                "oss:GetObject",
                "oss:PutObject"
            ],
            "Resource": "*",
            "Effect": "Allow"
        }
    ]
}
説明

AccessKey ID と AccessKey Secret は、同期タスクの作成時に環境変数として OSS に渡されます。ApsaraMQ for Kafka は、タスク作成後にこれらの認証情報を保存しません。

ステップ 5: コネクタのデプロイ

コネクタが作成されたら、[コネクタ] ページに戻り、コネクタを見つけ、[アクション] 列にある [デプロイ] をクリックします。

テストメッセージの送信

デプロイ後、テストメッセージを送信してコネクタを検証します。

  1. [コネクタ] ページで、コネクタを見つけ、[アクション] 列の [テスト] をクリックします。

  2. メッセージの送信] パネルで、送信方法を選択します。

    • コンソール: [メッセージキー](例: demo)および[メッセージコンテンツ](例: {"key": "test"})を入力します。オプションで、[指定されたパーティションに送信][はい]に設定し、[パーティション ID]を入力します。パーティション ID の確認方法については、「パーティションのステータスを表示する」をご参照ください。

    • Docker: 「[Docker コンテナを実行してサンプルメッセージを生成する]」セクションに示されている Docker コマンドを実行します。

    • [SDK]:プログラミング言語またはフレームワークの SDK を選択し、指示に従います。

結果の検証

テストメッセージが OSS バケットに到着したかどうかを確認します。

  1. OSS コンソールを開き、対象のバケットの[ファイル] ページに移動します。 詳細については、「概要」をご参照ください。

  2. 新しいオブジェクトが表示されることを確認します。新しいオブジェクトは、コネクタが機能していることを示します。

files

エクスポートされた各オブジェクトには、次の形式の JSON 配列が含まれています。

[
    {
        "key": "123",
        "offset": 4,
        "overflowFlag": true,
        "partition": 0,
        "timestamp": 1603779578478,
        "topic": "Test",
        "value": "1",
        "valueSize": 272687
    }
]
フィールド説明
keyメッセージキーです。
offsetパーティション内でのメッセージのコンシューマオフセットです。
overflowFlagメッセージの値がサイズのために切り捨てられたかどうかを示します。
partitionメッセージが消費されたパーティションです。
timestampメッセージが生成されたときの UNIX タイムスタンプ (ミリ秒単位) です。
topicソースのトピック名です。
valueメッセージ本文です (overflowFlagtrue の場合は切り捨てられたバージョン)。
valueSizeメッセージの値の元のサイズ (バイト単位) です。

Function Compute リソースの設定

コネクタが使用する FC リソースを調整するには、次の手順を実行します。

  1. [コネクタ] ページでコネクタを見つけ、[操作] 列の [その他] をクリックし、[関数の設定] を選択します。

  2. 必要に応じて、Function Compute コンソールでリソースを設定します。