REST APIからデータをインポートする
ストアでHTTP RESTを見つけた後、Selectをクリックすると、以下に示す構成画面が表示されます
目的
REST は、任意の互換性のあるAPIから情報をリクエストし、JSONレスポンスからデータをインポートするための標準的なアプリケーションプロトコルです。
Data PlatformにHTTP RESTソースを追加する
構成画面の概要
ストアでHTTP RESTを見つけた後、Selectをクリックすると、以下に示す構成画面が表示されます。
サポートされているファイルとサイズ
HTTP RESTコネクタは現在、JSONタイプのレスポンスのみをサポートしています。
さらに、メタデータ抽出ジョブを実行する際のファイルサイズ制限があります。 特に、以下の場合です。
- 完全抽出: ~900 MB
- サンプル抽出: ~2.5 GB
ソースの構成
ソースを作成する際には、以下の情報を入力する必要があります。
API情報
URL: リクエストしたいAPIのベースURLまたはアドレス(後でエンドポイントを登録します)
SSL verify: セキュアな接続を設定したい場合は有効にします
認証モード: APIに認証が必要な場合は有効にします(以下を参照)
認証情報
REST APIに認証が必要な場合は、認証セクションで認証モードを選択して構成します。APIに認証が不要な場合は、このステップをスキップできます。
POSTまたはGETのいずれかの方法を選択し、認証が必要なURL(例: http://localhost/auth)を続けます。
次に、レスポンスで使用するトークンパスを入力し、トークンをクッキーに保持するかどうかを決定します。つまり、認証セッションをクッキーに保存します。
最後に、以下のオプションのパラメータを構成します。
- Body: json、form-data、form-urlencoded、またはインラインのオプションボディを追加します
- Query: リクエストにクエリを追加します
- Header: リクエストのヘッダーを追加します
認証レスポンスからトークンを取得する必要がある場合は、レスポンスJSONのどのキーにトークンが保存されているかを指定する必要があります。(一般的な場合: token)
上記の詳細を追加した後、ConnectをクリックしてAPIとの接続を確立し、エンドポイントの登録に進みます。
データをロードするためのエンドポイントを指定する
Data Platformでは、各登録されたエンドポイントは、別々のテーブルにロードできるデータソースオブジェクトに対応します。
APIのエンドポイントは、接続するエンドポイントセクションから追加できます。デフォルトでは、エンドポイントはありません。手動で追加する必要があります。
各エンドポイントの構成可能なパラメータは以下の通りです。
- Query: このエンドポイントのリクエストにクエリを追加します
- Header: このエンドポイントのリクエストのヘッダーを追加します
- Options: タイムアウト、ページネーションの設定、またはこのエンドポイントのデータを含むテーブルの名前を設定するなどの追加オプションを構成します
上記のオプションに変数を注入できます。さらに詳しい情報については、下記のリファレンスを参照してください。
新しいエンドポイントのAdvanced modeを使用して、Curlリクエストから事前構成されたエンドポイントをインポートできます。
変数を注入する
認証トークン
認証エンドポイントを有効にし、以前に取得したトークンを再利用する必要がある場合は、Queryセクションの必要なキーの値、またはHeaderセクション、Bodyセクション、またはURLに$tokenを入力できます。
セグメンテーション値
このセクションでは、エンドポイント内でカスタマイズ目的で変数プレースホルダーを使用する方法について説明します。これらのプレースホルダーは、ユーザーが動的に値を指定できるようにし、システムの柔軟性と適応性を高めることができます。
変数はパーセント記号 (%) で囲み、以下の形式に従います: (%VARIABLE_TYPE|DEFAULT_VALUE%)。
VARIABLE_TYPE: 変数の種類を説明します。 DEFAULT_VALUE: ユーザーが提供しない場合、変数が置き換えられるデフォルト値を表します。
変数の種類:
segmentationValue: この変数の種類は、プレースホルダーをセグメンテーションの最初の値に置き換えます。 形式: 数値またはテキスト。 例: (%segmentationValue|1%)
segmentationValues: この変数の種類は、プレースホルダーをセグメンテーションのすべての値に置き換え、配列として形式化します。 例: (%segmentationValues|[1,2,3]%)
ユーザーは、エンドポイントの以下のコンポーネントにこれらの変数を組み込むことができます:
URL: 変数を使用して、URL内に動的に値を挿入できます。 例: GET /api/data/(%segmentationValue|1%)/details
Body (Payload): リクエストでペイロードを送信する際、変数を使用して動的な値を含めることができます。 例:
json
{ "segmentationValue": "(%segmentationValue|1%)", "filter": "(%segmentationValues|[]%)" }
Query Parameters: 変数をクエリパラメータに含め、リクエストをカスタマイズできます。 例: GET /api/data?segment=%segmentationValue|1%&filters=%segmentationValues|[]%
相対日付
クエリの日に相対する日付パラメータを使用する必要がある場合は、以下の特殊なワイルドカードを使用できます。パイプで区切られた2つの部分で構成されています| :
(%now|date%)は、クエリが行われる日(YYYY-MM-DDとして形式化)に置き換えられます。
パイプの前の可能な値:
(%dateMin|: DPEワークフローパラメータで構成された最小日付を使用します(%dateMax|: DPEワークフローパラメータで構成された最大日付を使用します%now|: 実行時に現在の日付と時刻を使用します
パイプの後の可能な値で日付形式を示します:
|date%):YYYY-MM-DDとして|datetime%):YYYY-MM-DD HH:mm:SSとして|timestamp%): UNIXタイムスタンプとして|%Y-%m-%d%): カスタムフォーマッターとして
カスタム形式についてさらに詳しく知るには、Python datetimeドキュメントを参照してください。
ソースを作成する前に名前を付けることを忘れないでください。ソースを作成した後、技術名を変更することはできず、Data Platform SDKを使用してソースを開く際に使用されます。
さらに詳しく
トレーニングや技術的なアシスタンスが必要な場合は、営業担当者にお問い合わせください、またはこのリンクをクリックして見積もりを依頼し、プロフェッショナルサービスの専門家にプロジェクトのカスタム分析を依頼してください。
Data Platformを構築するチームと直接やり取りし、質問をしたり、フィードバックを提供したり、Discordの専用チャネルで交流したりできます。
OVHcloudサービスについてサポートが必要な場合は、ヘルプセンターでリクエストを作成してください。
ユーザーコミュニティに参加してください。

