Cognite OData サービス
Cognite は、OData クライアント(たとえば Microsoft Power BI、Microsoft Excel、TIBCO Spotfire など)を使用して Cognite Data Fusion (CDF)からデータを取得するための OData サービスを提供します。
Open Data Protocol (OData) は、RESTful API の構築と利用に関するベストプラクティスを定義するオープン スタンダードです。OData は以下を提供します。
-
標準化されたクエリ構文:異なるデータ ソースに対して一貫したフィルタリング、並べ替え、ページング、プロジェクションを可能にします。
-
メタデータのサポート:クライアントは、メタデータ ドキュメントを通じてデータ構造とタイプを発見できます。
-
相互運用性:HTTP をサポートし、
ODataを理解するすべてのクライアントがODataサービスを利用できます。
Cognite は asset-centric OData サービス] と データモデル化 OData サービス] を提供します。両方のサービスは標準の Cognite API をラップし、読み取り専用の目的で OData Version 4 API を実装する中間層として機能します。これにより、OData リクエストを対応する Cognite API 呼び出しに変換し、OData 互換のクライアントやツールを使用して CDF データを操作することができます。
OData サービスの使用方法
Cognite OData サービスを操作するには、特定のエンドポイントに HTTP GET リクエストを送ります。
認証
OData サービスの認証を受けるには、HTTP リクエストの認証ヘッダーにベアラー トークンを含める必要があります。
例:
Authorization: Bearer {YourAccessToken}
設定に適した認証フロー(OAuth 2.0、OpenID Connect など)を使用して、アクセス トークンを取得できます。詳細については、認証ドキュメントを参照してください。
リクエストを行う
GET リクエストの例
プロジェクト内のすべてのアセットを取得するには、以下の手順に従います。
GET https://{cluster}.cognitedata.com/odata/{apiVersion}/projects/{project}/Assets
ここで
{cluster}
:CDFクラスター名(例: westeurope-1)。{apiVersion}
:ODataサービス API バージョン(例: v1)。{project}
:CDFプロジェクト名。
クエリ パラメータ
クエリ パラメータを使用してデータをフィルタリング、並べ替え、選択、およびページングします。
-
フィルタリング -
$filter
クエリ パラメータを使用してデータをフィルタリングします。例:
Name
が'Pump 1'
に等しいアセットを取得します:GET .../Assets?$filter=Name eq 'Pump 1'
-
フィールドの選択-
$select
クエリ パラメータを使用して特定のフィールドを取得します。例:アセットの
Id
とName
のみを取得します:GET .../Assets?$select=Id,Name
-
並べ替え -
$orderby
クエリ パラメータを使用して結果を並べ替えます。例:
Name
で昇順にアセットを並べ替えます:GET .../Assets?$orderby=Name asc
-
関連エンティティの展開 -
$expand
クエリ パラメータを使用して関連エンティティを含めます。 例:親アセットと一緒にアセットを取得します:GET .../Assets(702630644612)/Parent?$expand=Parent
注意:すべてのエンティティと関係が展開をサポートするわけではありません。詳細については、個別のサービス ドキュメントを参照してください。
-
*クエリ パラメータの組み合わせ - 複数のクエリ パラメータを組み合わせてリクエストを絞り込むことができます。
例:
Name
が'Pump'
で始まり、Name
で並べ替えられ、最初の 10 件の結果を取得するアセットのId
とName
を取得します。GET .../Assets?$filter=startswith(Name,'Pump')&$select=Id,Name&$orderby=Name asc&$top=10
レスポンス形式
OData サービスは、OData V4 標準に従って JSON 形式でレスポンスを返します。
レスポンスの例:
{
"@odata.context": "https://{cluster}.cognitedata.com/odata/{apiVersion}/projects/{project}/$metadata#Assets/",
"value": [
{
"Id": "12345",
"DataSetId": null,
"ExternalId": "WMT:VAL",
"Name": "Pump 1",
"Description": "Main pump"
// other properties
}
]
}
レスポンスのページング
OData サービスは、大きな結果セットについてはレスポンスをページングする場合があります。レスポンスには、結果の次のページを取得するための URL がある @odata.nextLink
プロパティが含まれています。
例:
{
"@odata.context": "https://{cluster}.cognitedata.com/odata/{apiVersion}/projects/{project}/$metadata#Assets",
"value": [ // records ],
"@odata.nextLink": "https://{cluster}.cognitedata.com/odata/{apiVersion}/projects/{project}/Assets?$skipToken=123"
}
制限およびサポートされている機能
OData サービスは OData V4 標準に準拠することを目指していますが、Cognite API の基礎的な制約により一部の機能が制限される場合やサポートされない場合があります。
サポートされている機能と制限に関する詳細情報は、個別のサービス ドキュメントを参照してください。