Как я могу узнать, какой тип Hash возвращается записью ресурса CKAN? - PullRequest
0 голосов
/ 06 июня 2018

Пример записи :

"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 Ответ

0 голосов
/ 08 июня 2018

Он предоставляется с намерением его использования datapusher, ckanext-xloader, ckanext-archiver или любым другим установленным средством, которое проверяет данные по URL ресурса.Они выбирают свою собственную хэш-функцию.Обычно они используют его, чтобы выяснить, обновлены ли данные.

В этом смысле хеш-поле предназначено только для внутреннего использования.Но я предполагаю, что пользователь может захотеть сделать то же самое, и он считает целесообразным включить имя хеш-функции в значение этого поля.Если вы хотите описать вариант использования и написать PR для одного из этих расширений, вам будет очень приятно.

В качестве примера вы приводите ZIP-файл на data.gov.au.Я полагаю, что на сайте работает datapusher, который предназначен для загрузки данных в формате XLS и CSV и помещает их в базу данных Datastore, чтобы обеспечить предварительный просмотр данных и API для данных.ZIP-файл может не обрабатываться модулем данных, поэтому он игнорирует их, поэтому вы не ожидаете, что для этого ресурса будет хеш-код.

...