# API式

利用対象...

* Cloud API Services Platform
* Cloud Big Data
* Cloud Big Data Platform
* Cloud Data Fabric
* Cloud Data Integration
* Cloud Data Management Platform
* Cloud Pipeline Designer Standard Edition
* Data Fabric

サポートされているOData式を使って、リクエストを調整し、データセットから特定のデータを取得します。 詳細は、[ODataドキュメンテーション](https://www.odata.org/getting-started/)をご覧ください。

## サポートされているOData式

具体的なリクエストを作成する場合は、次の式パターン使います。

情報メモ注: ODataリクエストでサポートされていないオプションを使うと、501 Not Implementedというエラーが発生します。

* url/$metadata
* url/entity\_set\_name
* url/entity\_set\_name(primary\_key\_value)
* url/entity\_set\_name(primary\_key\_value)/column\_name
* url/entity\_set\_name(primary\_key\_value)/column\_name/$value
* url/entity\_set\_name?$top=n
* url/entity\_set\_name?$skip=n
* url/entity\_set\_name?$skip=n&$top=n
* url/entity\_set\_name?$select=column\_name
* url/entity\_set\_name?$orderby=column\_name asc|desc
* url/entity\_set\_name?$filter=column\_name eq 'value'
* url/entity\_set\_name?$filter=contains(column\_name, 'value')

## リクエストの例

以下のテーブルでは、APIに送信できるリクエストの例がいくつか示されます。この例では、customersという名前のエンティティセット用にAPIは作成されており、生成されるAPIパスはcustomers-api-2PZPTBです。データセットにはcustomer\_age、id、customer\_name、customer\_city、customer\_streetという名前のカラムが含まれています。その中から、idというカラムはプライマリキーとして使用されます。

リクエストとそのレスポンスのパターン例リクエストとそのレスポンスのパターン例

| [Pattern] (パターン) | 説明 | 例 |
| --- | --- | --- |
| url/entity\_set\_name | エンティティセットでデータをすべて取得します。 | リクエスト:<br><br>```<br>https://company-talend-com.eu.talend-dataset.com/apis/customers-api-2PZPTB/customers<br>```<br><br>レスポンス:<br><br>```<br>{<br>	"@odata.context": "http://company-talend-com.eu.talend-dataset.com/apis/customers-api-2PZPTB/$metadata#customers",<br>	"value": [<br>		{<br>			"customer_age": "36",<br>			"id": "g9wjC",<br>			"customer_name": "Franklin Washington",<br>			"customer_city": "Olympia",<br>			"customer_street": "North Erringer Road"<br>		},<br>		{<br>			"customer_age": "31",<br>			"id": "DNOFp",<br>			"customer_name": "Theodore Ford",<br>			"customer_city": "Boise",<br>			"customer_street": "Lawrenceville Suwanee"<br>		},<br>		{<br>			"customer_age": "41",<br>			"id": "IRvgp",<br>			"customer_name": "Gerald Cleveland",<br>			"customer_city": "Atlanta",<br>			"customer_street": "Steele Lane"<br>		},<br>		{<br>			"customer_age": "19",<br>			"id": "V7o2h",<br>			"customer_name": "Benjamin Adams",<br>			"customer_city": "Little Rock",<br>			"customer_street": "Castillo Drive"<br>		},<br>		{<br>			"customer_age": "56",<br>			"id": "LwvLC",<br>			"customer_name": "Theodore Hayes",<br>			"customer_city": "Saint Paul",<br>			"customer_street": "Carpinteria South"<br>		},<br>		{<br>			"customer_age": "22",<br>			"id": "2oWSU",<br>			"customer_name": "Harry Roosevelt",<br>			"customer_city": "Bismarck",<br>			"customer_street": "East Calle Primera"<br>		},<br>		{<br>			"customer_age": "68",<br>			"id": "tnXgw",<br>			"customer_name": "Rutherford Fillmore",<br>			"customer_city": "Cheyenne",<br>			"customer_street": "Jean de la Fontaine"<br>		}<br>	]<br>}<br>``` |
| url/$metadata | エンティティセットのメタデータを取得します。 | リクエスト:<br><br>```<br>https://company-talend-com.eu.talend-dataset.com/apis/customers-api-2PZPTB/$metadata<br>```<br><br>レスポンス:<br><br>```<br><?xml version="1.0" encoding="UTF-8" ?><br><edmx:Edmx Version="4.0" xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx"><br><edmx:DataServices><br><Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="customers-api-2PZPTB"><br><EntityType Name="customersItem"><br><Key><br><PropertyRef Name="id"/><br></Key><br><Property Name="customer_age" Type="Edm.String"/><br><Property Name="id" Type="Edm.String"/><br><Property Name="customer_name" Type="Edm.String"/><br><Property Name="customer_city" Type="Edm.String"/><br><Property Name="customer_street" Type="Edm.String"/><br></EntityType><br><EntityContainer Name="customers"><br><EntitySet Name="customers" EntityType="customers-api-2PZPTB.customersItem"/><br></EntityContainer><br></Schema><br></edmx:DataServices><br></edmx:Edmx><br><br>``` |
| url/entity\_set\_name(primary\_key\_value) | プライマリキー値を使って特定のエンティティを取得します。 | リクエスト:<br><br>```<br>https://company-talend-com.eu.talend-dataset.com/apis/customers-api-2PZPTB/customers('g9wjC')<br>```<br><br>レスポンス:<br><br>```<br>{<br>"@odata.context": "http://company-talend-com.eu.talend-dataset.com/apis/customers-api-2PZPTB/$metadata#customers",<br>"customer_age": "36",<br>"id": "g9wjC",<br>"customer_name": "Franklin Washington",<br>"customer_city": "Olympia",<br>"customer_street": "North Erringer Road"<br>}<br>``` |
| url/entity\_set\_name(primary\_key\_value)/column\_name | 特定のエンティティに対してカラムを1つ取得します。 | リクエスト:<br><br>```<br>https://company-talend-com.eu.talend-dataset.com/apis/customers-api-2PZPTB/customers('g9wjC')/customer_name<br>```<br><br>レスポンス:<br><br>```<br>{<br>"@odata.context": "http://company-talend-com.eu.talend-dataset.com/apis/customers-api-2PZPTB/$metadata#customers/customer_name",<br>"value": "Franklin Washington"<br>}<br>``` |
| url/entity\_set\_name(primary\_key\_value)/column\_name/$value | 特定のエンティティに対してカラムの未加工の値を取得します。 | リクエスト:<br><br>```<br>https://company-talend-com.eu.talend-dataset.com/apis/customers-api-2PZPTB/customers('g9wjC')/customer_city/$value<br>```<br><br>レスポンス:<br><br>```<br>Olympia<br>``` |
| url/entity\_set\_name?$top=n | エンティティの制限された数を取得します。 | リクエスト:<br><br>```<br>https://company-talend-com.eu.talend-dataset.com/apis/customers-api-2PZPTB/customers?$top=2<br>```<br><br>レスポンス:<br><br>```<br>{<br>"@odata.context": "http://company-talend-com.eu.talend-dataset.com/apis/customers-api-2PZPTB/$metadata#customers",<br>"value": [<br>{<br>"customer_age": "36",<br>"id": "g9wjC",<br>"customer_name": "Franklin Washington",<br>"customer_city": "Olympia",<br>"customer_street": "North Erringer Road"<br>},<br>{<br>"customer_age": "31",<br>"id": "DNOFp",<br>"customer_name": "Theodore Ford",<br>"customer_city": "Boise",<br>"customer_street": "Lawrenceville Suwanee"<br>}<br>]<br>}<br>``` |
| url/entity\_set\_name?$skip=n | 最初のnエンティティをスキップして、エンティティのコレクションを取得します。 | リクエスト:<br><br>```<br>https://company-talend-com.eu.talend-dataset.com/apis/customers-api-2PZPTB/customers?$skip=5<br>```<br><br>レスポンス:<br><br>```<br>{<br>"@odata.context": "http://company-talend-com.eu.talend-dataset.com/apis/customers-api-2PZPTB/$metadata#customers",<br>"value":[<br>{<br>"customer_age": "22",<br>"id": "2oWSU",<br>"customer_name": "Harry Roosevelt",<br>"customer_city": "Bismarck",<br>"customer_street": "East Calle Primera"<br>},<br>{<br>"customer_age": "68",<br>"id": "tnXgw",<br>"customer_name": "Rutherford Fillmore",<br>"customer_city": "Cheyenne",<br>"customer_street": "Jean de la Fontaine"<br>},<br>{<br>"customer_age": "40",<br>"id": "QcX7L",<br>"customer_name": "Warren Adams",<br>"customer_city": "Columbus",<br>"customer_street": "North Broadway Street"<br>}<br>]<br>}<br>``` |
| url/entity\_set\_name?$skip=n&$top=n | ページネーションを作成して、コレクションからエンティティの特定のページを取得します。 | リクエスト:<br><br>```<br>https://company-talend-com.eu.talend-dataset.com/apis/customers-api-2PZPTB/customers?$skip=5&$top=2<br>```<br><br>レスポンス:<br><br>```<br>{<br>"@odata.context": "http://company-talend-com.eu.talend-dataset.com/apis/customers-api-2PZPTB/$metadata#customers",<br>"value": [<br>{<br>"customer_age": "22",<br>"id": "2oWSU",<br>"customer_name": "Harry Roosevelt",<br>"customer_city": "Bismarck",<br>"customer_street": "East Calle Primera"<br>},<br>{<br>"customer_age": "68",<br>"id": "tnXgw",<br>"customer_name": "Rutherford Fillmore",<br>"customer_city": "Cheyenne",<br>"customer_street": "Jean de la Fontaine"<br>}<br>]<br>}<br>``` |
| url/entity\_set\_name?$select=column\_name | 一部のエンティティのみを取得します。<br><br>情報メモ注: プライマリキーとして使用されるカラムは常に含まれています。 | リクエスト:<br><br>```<br>https://company-talend-com.eu.talend-dataset.com/apis/customers-api-2PZPTB/customers?$select=customer_city,customer_street<br>```<br><br>レスポンス:<br><br>```<br>{<br>"@odata.context": "http://company-talend-com.eu.talend-dataset.com/apis/customers-api-2PZPTB/$metadata#customers",<br>"value": [<br>{<br>"@odata.id": "customers('g9wjC')",<br>"id": "g9wjC",<br>"customer_city": "Olympia",<br>"customer_street": "North Erringer Road"<br>},<br>{<br>"@odata.id": "customers('DNOFp')",<br>"id": "DNOFp",<br>"customer_city": "Boise",<br>"customer_street": "Lawrenceville Suwanee"<br>},<br>{<br>"@odata.id": "customers('IRvgp')",<br>"id": "IRvgp",<br>"customer_city": "Atlanta",<br>"customer_street": "Steele Lane"<br>}<br>]<br>}<br>``` |
| url/entity\_set\_name?$orderby=column\_name asc\|desc | 属性を1つ以上使って、エンティティのコレクションを特定の順に取得します。このオプションの可能な値はascおよびdescです。 | リクエスト:<br><br>```<br>https://company-talend-com.eu.talend-dataset.com/apis/customers-api-2PZPTB/customers?$orderby=customer_age desc<br>```<br><br>レスポンス:<br><br>```<br>{<br>"@odata.context": "http://company-talend-com.eu.talend-dataset.com/apis/customers-api-2PZPTB/$metadata#customers",<br>"value": [<br>{<br>"customer_age": "78",<br>"id": "2lxMe",<br>"customer_name": "Thomas Johnson",<br>"customer_city": "Charleston",<br>"customer_street": "Redwood Highway"<br>},<br>{<br>"customer_age": "75",<br>"id": "EK0fU",<br>"customer_name": "Benjamin Jefferson",<br>"customer_city": "Austin",<br>"customer_street": "Monroe Street"<br>},<br>{<br>"customer_age": "70",<br>"id": "3Wmih",<br>"customer_name": "Grover Carter",<br>"customer_city": "Dover",<br>"customer_street": "Redwood Highway"<br>}<br>]<br>}<br>``` |
| url/entity\_set\_name?$filter=column\_name eq 'value' | フィルターに対応するエンティティのコレクションを取得します。 | リクエスト:<br><br>```<br>https://company-talend-com.eu.talend-dataset.com/apis/customers-api-2PZPTB/customers?$filter=customer_city eq 'Olympia'<br>```<br><br>レスポンス:<br><br>```<br>{<br>"@odata.context": "http://company-talend-com.eu.talend-dataset.com/apis/customers-api-2PZPTB/$metadata#customers",<br>"value":[<br>{<br>"customer_age": "36",<br>"id": "g9wjC",<br>"customer_name": "Franklin Washington",<br>"customer_city": "Olympia",<br>"customer_street": "North Erringer Road"<br>},<br>{<br>"customer_age": "68",<br>"id": "EVFMD",<br>"customer_name": "Ronald Van Buren",<br>"customer_city": "Olympia",<br>"customer_street": "Bayshore Freeway"<br>}<br>]<br>}<br>```<br><br>情報メモ注: APIを呼び出すツールによっては、スペースがプラス記号( + )でエンコードされている場合にエラーが発生する場合があります。 この問題を回避するには、パーセントエンコーディングでスペースが%20としてエンコードされていることを確認します。 |
| url/entity\_set\_name?$filter=contains(column\_name, 'value') | column\_nameに特定の'value'が含まれているフィルターに対応するエンティティのコレクションを取得 | リクエスト:<br><br>```<br>https://company-talend-com.eu.talend-dataset.com/apis/customers-api-2PZPTB/customers?$filter=contains(customer_name, 'Van')<br>```<br><br>レスポンス:<br><br>```<br>{<br>"@odata.context": "http://company-talend-com.eu.talend-dataset.com/apis/customers-api-2PZPTB/$metadata#customers",<br>"value":[<br>{<br>"customer_age": "68",<br>"id": "EVFMD",<br>"customer_name": "Ronald Van Buren",<br>"customer_city": "Olympia",<br>"customer_street": "Bayshore Freeway"<br>}<br>]<br>}<br>``` |