如何找出CKAN资源记录返回的Hash类型?

时间:2018-06-06 05:15:03

标签: hash ckan filehash

Example record

"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 docs say

key   example Notes
hash  null    Hash of the data e.g. SHA1

e.g。 SHA1 不能让我走得很远。 如果我不知道用什么算法来计算它,我就无法检查哈希。

查看source also doesn't enlighten me。 它似乎是一个自由文本字段,所以我想上传者可以将它设置为他们想要的 但据推测它可能被某人使用,因此必须进行沟通。

以下是empty string的示例。 小号

1 个答案:

答案 0 :(得分:1)

它的目的是由datapusher,ckanext-xloader,ckanext-archiver或任何安装的,用于检查资源URL上的数据。他们选择自己的哈希函数。如果数据已更新,他们通常会使用它来计算。

在这种意义上,哈希字段仅供内部使用。但我想用户可能想要做同样的事情,并认为在该字段的值中包含哈希函数的名称是合理的。如果您想描述用例并为其中一个扩展程序撰写公关,那么您将非常受欢迎。

您提供的示例是data.gov.au上的ZIP文件。我相信该站点正在运行datapusher,旨在下载XLS和CSV格式的数据,并将它们放入数据存储数据库中,以提供数据预览和数据API。 ZIP文件可能不由datapusher处理,因此它会忽略它们,因此您不希望这个资源的哈希值。