ノート:
- このチュートリアルではOracle Cloudへのアクセスが必要です。無料アカウントにサインアップするには、Oracle Cloud Infrastructure Free Tierの開始を参照してください。
- Oracle Cloud Infrastructure資格証明、テナンシおよびコンパートメントの値の例を使用します。演習を完了する場合は、これらの値をクラウド環境に固有の値に置き換えてください。
OCI REST APIコールを使用した、APIゲートウェイの背後にあるプライベートOCIストリーミングのトピックの使用
イントロダクション
Oracle Cloud Infrastructure (OCI) Streamingサービスは、大量のデータ・ストリームをリアルタイムで取り込んで消費するためのフルマネージド型のスケーラブルな耐久性のあるソリューションを提供します。パブリッシュ/サブスクライブ・メッセージング・モデルでデータが連続して順次生成および処理されるユースケースには、OCIストリーミングを使用します。
このシナリオでは、パブリックAPIゲートウェイを使用してアクセスを制御および保護するプライベートOCIストリーミングのトピックを公開および消費する必要があります。
目標
このチュートリアルでは、APIゲートウェイREST APIコールを使用したOCIストリーミングのトピックの使用方法を示します。
前提条件
- 管理レベルのアクセス権限を持つOracleアカウント
- リソースを作成するためのコンパートメント
- ローカルOCI-CLI設定(ヘルプが必要な場合は、CLIチュートリアルのインストールを参照)
- 2つのサブネット(プライベートおよびパブリック)を持つVCN。ネットワークの作成チュートリアルを参照してください
- サブネットに、プライベート・サブネットとパブリック・サブネットの両方に対して、サービス・ゲートウェイおよびポート443の適切なイングレス・ルールがあることを確認してください。
- OCIストリーミングのトピック OCIストリームのチュートリアルの作成
- テスト用にインストールされたローカルPythonバージョン3
タスク1: OCIストリーミングからの詳細の取得
-
ストリームに移動してOCIDを書き留め、「メッセージング」の下の「アナリティクスとAI」をクリックし、「ストリーミング」をクリックしてストリームを選択します。
-
OCIDおよびメッセージ・エンドポイントは、APIゲートウェイで必要になります。

タスク2: パブリックAPIゲートウェイの作成
-
「開発者サービス」、「API管理」の下にある「ゲートウェイ」、「ゲートウェイの作成」の順にクリックします。

タスク3: APIゲートウェイのデプロイメントの作成
-
タスク2で作成したAPIゲートウェイを選択し、「デプロイメント」をクリックして、「デプロイメントの作成」をクリックします。
-
ここで、your_ocid_for_streamを次のストリームOCIDに置き換えて接頭辞を作成し、publicTopicという名前を入力します。
/20180418/streams/your_ocid_for_stream
-
「次」をクリックします。

-
「次」をクリックします。
-
groupCursorsのルート1の作成: このチュートリアルのタスク2で収集したエンドポイントおよびストリームOCIDを使用してURLを作成し、URLを作成します。
<streaming_endpoint>/20180418/streams/<stream_ocid>/groupCursorsノート: ストリームを消費するために、OCI REST API for Streamingでは2つのエンドポイントgroupCursorsおよびメッセージを使用し、これら2つのルートを作成する必要があります。次に、次に示すように、パス、メソッド、バックエンド・タイプなどの必要な情報を指定します:

-
+Another routeをクリックし、messagesにRoute 2を追加します。同じURLを使用するが、末尾に異なるエンドポイントを/messagesとして使用します。

-
publicTopicに移動し、APIゲートウェイのエンドポイントをメモします。

タスク4: ストリーミングでのテスト・メッセージの生成
-
ストリーミング・ページに移動し、「テスト・メッセージの生成」をクリックします。


-
これらのメッセージはタスク5で消費されます。
タスク5: APIゲートウェイの背後にあるREST APIを介したOCIストリーミングの使用
-
サンプルPythonの消費コードconsume_rest_api_oci_lab.pyをダウンロードします。
-
このチュートリアルですでに収集した値で示されているように、APIゲートウェイ・エンドポイントおよびストリームOCIDの値を変更します。

-
Pythonコードを実行して、動作していることを確認します。
python3 consume_rest_api_oci_lab.py
関連リンク
謝辞
- 作成者 - Joao Tarla(Oracle LAD Aチーム・ソリューション・エンジニア)
その他の学習リソース
docs.oracle.com/learnで他のラボをご覧いただくか、Oracle Learning YouTubeチャネルでより無料のラーニング・コンテンツにアクセスしてください。また、education.oracle.com/learning-explorerにアクセスして、Oracle Learning Explorerになります。
製品ドキュメントについては、Oracle Help Centerを参照してください。
Consume a private OCI Streaming topic behind an API Gateway using OCI REST API call
F80887-01
April 2023
Copyright © 2023, Oracle and/or its affiliates.