Я хотел бы автоматически загрузить файлы в CKAN, используя Python3. Следующее от https://docs.ckan.org/en/latest/maintaining/filestore.html#filestore -api
Создайте новый ресурс и загрузите в него файл, используя запросы к библиотеке Python:
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'))])
Я бы нравится достигать этого, используя Python 3. (ключевое слово file не существует в Python 3). Вам нужно использовать IP-адрес сервера? Я хотел бы использовать обычный URL.
Обновление
Спасибо за вашу ссылку на страницу запроса. Мой код выглядит так:
import requests
url = 'https://data.gov.au/api/3/action/resource_create'
data={'package_id':'my_dataset'}
files = ['upload',{'file': ('c:\python\xxopendata.xlsx', open('c:\python\xxopendata.xlsx', 'rb'))}]
headers={'Authorization': '6cb2400e-9833-4946-9928-8c84cc451168'}
r = requests.post(url, data=data,headers=headers,files=files)
r.text
print(r.text)
Когда я запускаю это, я получаю «слишком много значений для распаковки»