CKANの1つのインスタンスでリソースを更新しようとしています。私はdemo.ckan.orgを使っていくつかのテストをしています。CKANのリソースをPythonで更新する
curlを使用してデータセットのリソースを作成して更新できますが、これを行うにはPythonを使用しています。 http://docs.ckan.org/en/latest/maintaining/filestore.html#filestore-api
これはコードです:
私の開始点は、このリンクで
import requests
requests.post('http://0.0.0.0:5000/api/action/resource_create',
data={"package_id":"my_dataset"},
headers={"X-CKAN-API-Key": "21a47217-6d7b-49c5-88f9-72ebd5a4d4bb"},
files=[('upload', file('/path/to/file/to/upload.csv'))])
が
私のカールコードはOKに動作しますので、私はそれを適応しようとしています:
curl -X POST http://demo.ckan.org/api/3/action/resource_update -d '{"id":"5b75fdf2-df9c-4a4f-bb28-d78ea7bc4e48", "url": "http://82.98.156.2/ckan_api/public_html/restaurantes.geojson", "name": "Better Restaurants", "format":"GEOJSON", "description":"Description of the resource"}' -H "Authorization: 97caad21-8632-4372-98fe-a24cdcaa90dc"
これはPythonのコードにする必要があります:
resource_dict = {
'id': '5b75fdf2-df9c-4a4f-bb28-d78ea7bc4e48',
'name':'REstaurantes con PYTHON',
'url':'http://82.98.156.2/ckan_api/public_html/restaurantes.geojson',
'description':'Description in PYTHON'
}
resource_dict = urllib.quote(json.dumps(resource_dict))
requests.post('http://demo.ckan.org/api/3/action/resource_update',
data=resource_dict,
headers={"Authorization: 97caad21-8632-4372-98fe-a24cdcaa90dc"})
私はこの古いリンクを発見した:それはいくつかの情報を追加することをお勧め終わり Create CKAN dataset using CKAN API and Python Requests library
を、私はそれを行うに把握することができます。
任意の提案???
素晴らしい!!、素晴らしい!!作品 – davisoski