【发布时间】:2022-12-16 22:10:28
【问题描述】:
我正在尝试将 LOAD CSV 与存储在 GitHub 中的 CSV 文件一起使用。它适用于查看原始文件时获得的 10 分钟临时令牌,但我想要更持久的东西,因为我需要能够将其部署到多个环境。十分钟就不会削减它。
我认为私有访问令牌将是前进的方向,但是(再一次)GitHub 的质量极差的文档使这比它应该做的要难得多。
我使用 repo 和 read:org 权限设置了一个私人访问令牌,这样我就可以使用 CURL 获取我的文件,例如
curl -s https://<my_token>@raw.githubusercontent.com/<my repo>/<path>/<my file>.csv
这工作正常,我看到了我的测试文件的内容。
但是,如果我尝试导航到该 URL,我只会收到 404 错误,如果我在 Neo4j 中使用它和 LOAD CSV 语句,我会收到错误 couldn't load the external resource at:。
我基本上是这样做的:
LOAD CSV WITH HEADERS FROM '<URL that worked in CURL>' AS row
......它悲惨地失败了。
在哪里:
LOAD CSV WITH HEADERS FROM '<URL for raw file from GitHub with 10 minute token>' AS row
工作正常,所以我知道我可以访问外部文件,即不在导入目录中的文件。
这只是 GitHub 的失败,还是我做错了什么?
【问题讨论】:
-
您可以将 https:// / /myfile.csv 复制并粘贴到浏览器中吗?当您尝试浏览 csv 文件时它是否有效?
-
是的,我试过了 - 它不起作用。所以它只有在我使用 CURL 时才有效——不知道那里发生了什么:(
-
github 存储库设置为私有设置,因此您需要令牌;如果您可以将其放入公共回购/项目中,那么您将不需要令牌。
-
将我的文件放入公共存储库不是一种选择。我的问题不在于令牌(这很好用),这是 Neo4j 出于某种原因似乎不喜欢它的事实