2022年4月26日 星期二

CKAN Get Started:CKAN API(v2.9)

Check CKAN API 玩一下它的 api。(把 JSON formatter plugin for Chrome 裝起來比較好看 JSON 資料)

Datasets 與 resources

在 CKAN,資料以 dataset 形式上傳。dataset 包含:

  • metadata
    說明資料,如:標題、出版者、日期...。
  • resource
    即資料本身。CKAN 不管格式,可以是 CSV, Excel, XML, PDF, RDF 或圖檔。
    CKAN 可將資料儲存在內部或僅儲存連結。
一個 dataset 可包含多個 resource,如歷年資料,或同樣的資料但不同的格式。

建立 Organizations, Datasets 及 Resources

有四個步驟:

  1. Get an API key (API Key 不等於 API Token)
  2. Create an organization;
  3. Create dataset inside an organization (dataset 一定掛在某個 organization 下);
  4. Add resources to the dataset

開個 Postman 執行以下 api 呼叫

Get

curl http://11.11.11.163/api/3/action/group_list

Create Organization

curl -X POST 'http://[你的IP]/api/3/action/organization_create'
-H 'Authorization: [你的API Key]'
-H 'Content-Type: application/json' 
-d '{
"name": "0509-org",
"title": "0509組織",
"description": "測試CKAN"
}'

Create Dataset

curl POST 'http://[你的IP]/api/3/action/package_create'
--header 'Authorization: [你的API Key]'
--header 'Content-Type: application/json'
--data-raw '{
"name": "0509-dataset",
"title": "0509 資料集",
"description": "測試CKAN",
"owner_org": "0509-org"
}'

Add a resource

curl POST 'http://[你的IP]/api/3/action/resource_create'
--header 'Authorization: [你的API Key]'
--header 'Content-Type: application/json'
--data-raw '{
"url": "https://raw.githubusercontent.com/frictionlessdata/test-data/master/files/csv/100kb.csv",
"description": "來自 githubusercontent frictionlessdata 的範例資料",
"name": "0509-daset-test-csv-data",
"owner_org": "0509-org",
"package_id": "0509-dataset"
}'


沒有留言:

張貼留言