Как я могу узнать, какой тип Hash возвращается записью ресурса CKAN?
"resources": [
{
"cache_last_updated": null,
"cache_url": null,
"mimetype_inner": "",
"hash": "9d599bcf3b8db2b5c6aea528bc37d728c856b09c",
"description": "CSV file extracted and cleaned from source excel.",
"format": "CSV",
"url": "https://raw.github.com/datasets/gold-prices/master/data/data.csv",
"created": "2017-07-18T13:16:40.728715",
"state": "active",
"package_id": "9cbdb9a8-b78d-449e-8342-46fb581a1e17",
"last_modified": "2012-05-04T12:40:59.181686",
"mimetype": "text/plain",
"url_type": null,
"position": 0,
"revision_id": "007398e3-a1fc-4a31-821e-a77b9057f796",
"size": "14502",
"datastore_active": true,
"id": "b9aae52b-b082-4159-b46f-7bb9c158d013",
"resource_type": "file",
"name": "CSV "
}
],
Документы API говорят:
key example Notes hash null Hash of the data e.g. SHA1
например, SHA1 не дает мне очень далеко. Я не могу проверить хеш, если не знаю, какой алгоритм использовался для его вычисления.
Глядя на источник также не просветляет меня. Кажется, это свободное текстовое поле, поэтому я полагаю, что загрузчики могут установить для него то, что они хотят, но, вероятно, оно предназначено для использования кем-то, поэтому оно должно быть передано.
Вот пример, где это пустая строка. s
1 ответ
Он предоставляется с целью его использования datapusher, ckanext-xloader, ckanext-archiver или любым другим установленным средством, которое проверяет данные по URL-адресу ресурса. Они выбирают свою собственную хэш-функцию. Они обычно используют это, чтобы выяснить, обновлялись ли данные.
В этом смысле поле хеша предназначено только для внутреннего использования. Но я думаю, что пользователь может захотеть сделать то же самое, и он считает разумным включить имя хэш-функции в значение этого поля. Если вы хотите описать вариант использования и написать PR для одного из этих расширений, вам будет очень приятно.
В качестве примера вы приводите ZIP-файл на data.gov.au. Я полагаю, что на сайте работает datapusher, который предназначен для загрузки данных в формате XLS и CSV и помещает их в базу данных Datastore, чтобы обеспечить предварительный просмотр данных и API для данных. ZIP-файл может не обрабатываться datapusher, поэтому он игнорирует их, поэтому вы не ожидаете хеш для этого ресурса.
datapusher: исходный кодmd5
ckanext-xloader: исходный кодmd5
ckanext-archiver: исходный кодsha1