31 Oracle Streaming Serviceへの接続
Oracle Streaming Service (OSS)は、Kafkaクライアントを使用したOSSとのメッセージの送受信をサポートします。したがって、Oracle GoldenGate for Big Dataを使用して、チェンジ・データ・キャプチャ操作メッセージをOSSに公開できます。KafkaハンドラまたはKafka Connectハンドラのいずれかを使用できます。
Kafka Connectハンドラでは、JSON Kafka Connectコンバータの使用のみがサポートされます。Avroコンバータでスキーマ・レジストリへの接続が必要なため、Kafka Connect Avroコンバータはサポートされていません。
ノート:
Oracle Streaming Serviceには現在、Kafka Connect Avroコンバータが接続できるスキーマ・レジストリがありません。KafkaハンドラまたはKafka Connectハンドラがメッセージを公開するストリームは、Oracle Cloud Infrastructure (OCI)で事前作成する必要があります。Kafkaハンドラを使用して、まだ存在しないOSS内のストリームにメッセージを公開すると、実行時例外が発生します。- OCIでストリームを作成するには、OCIコンソールで「Analytics」を選択し、「Streaming」をクリックして、「Create Stream」をクリックします。ストリームは、デフォルトでDefaultPool内に作成されます。
図31-1 ストリーム作成のイメージの例
- Kafkaプロデューサ・クライアントでは、OSSストリームに接続するために特定のKafkaプロデューサ構成プロパティが必要です。この接続情報を取得するには、OSSパネルのプール名をクリックします。
DefaultPool
を使用する場合は、OSSパネルの「DefaultPool」をクリックします。図31-2 「DefaultPool」が表示されたOSSパネルの例
図31-3 DefaultPoolプロパティの例
- Kafkaプロデューサでは、OSSに接続するためにAUTH-TOKEN (パスワード)も必要です。
AUTH-TOKEN
を取得するには、「User Details」ページに移動し、AUTH-TOKEN
を生成します。AUTH-TOKENは作成時にのみ表示可能で、その後は表示されません。AUTH-TOKEN
が安全な場所に格納されていることを確認します。図31-4 Auth-Tokens
これらの構成が完了したら、メッセージをOSSに公開できます。
たとえば、kafka.prm
ファイルの場合は次のようになります。
replicat kafka
TARGETDB LIBFILE libggjava.so SET property=dirprm/kafka.properties
map *.*, target qatarget.*;
例:
kafka.properties file
gg.log=log4j gg.log.level=debug gg.report.time=30sec gg.handlerlist=kafkahandler gg.handler.kafkahandler.type=kafka gg.handler.kafkahandler.mode=op gg.handler.kafkahandler.format=json gg.handler.kafkahandler.kafkaProducerConfigFile=oci_kafka.properties # The following dictates how we'll map the workload to the target OSS streams gg.handler.kafkahandler.topicMappingTemplate=OGGBD-191002 gg.handler.kafkahandler.keyMappingTemplate=${tableName} gg.classpath=/home/opc/dependencyDownloader/dependencies/kafka_2.2.0/* jvm.bootoptions=-Xmx512m -Xms32m -Djava.class.path=ggjava/ggjava.jar:dirprm
Kafkaプロデューサ・プロパティ(oci_kafka.properties
)の例
bootstrap.servers=cell-1.streaming.us-phoenix-1.oci.oraclecloud.com:9092 security.protocol=SASL_SSL sasl.mechanism=PLAIN value.serializer=org.apache.kafka.common.serialization.ByteArraySerializer key.serializer=org.apache.kafka.common.serialization.ByteArraySerializer sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="paasdevgg/oracleidentitycloudservice/user.name@oracle.com/ocid1.streampool.oc1.phx.amaaaaaa3p5c3vqa4hfyl7uv465pay4audmoajughhxlsgj7afc2an5u3xaq" password="YOUR-AUTH-TOKEN";
メッセージを表示するには、OSSの「Load Messages」をクリックします。
図31-5 メッセージの表示
