1

示例记录

"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

4

1 回答 1

1

提供它的目的是供 datapusher、ckanext-xloader、ckanext-archiver 或任何在资源 URL 处检查数据的安装程序使用。他们选择自己的哈希函数。他们通常使用它来确定数据是否已更新。

从这个意义上说,哈希字段仅供内部使用。但我猜用户可能想做同样的事情,并且认为在该字段的值中包含哈希函数的名称是合理的。如果您想描述用例并为这些扩展之一编写 PR,我们将非常欢迎您。

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

于 2018-06-08T10:39:49.760 回答