【问题标题】:How to use „LOAD CSV FROM“ command with Authorization and bearer token in Neo4j?如何在 Neo4j 中使用带有授权和不记名令牌的“LOAD CSV FROM”命令?
【发布时间】:2020-01-03 00:54:57
【问题描述】:

初步情况

  • 独立 Neo4j 服务器(版本 3.5.13,企业版),APOC 3.5.0.6
  • 要求
    • 每天通过 URI 从远程服务器将 CSV 文件导入图表
    • 导入是通过调用密码语句USING PERIODIC COMMIT 1000 LOAD CSV […]自动执行的代码
  • 数据量:每个 CSV 文件的行数达到两位数以上
  • 熟悉CSV文件导入及对应图表制作原理。

 

待解决的挑战

  • 如何说服LOAD CSV FROM 命令使用带有不记名令牌的授权,以便它可以访问资源?

 

解决问题的方法/初步结果

  • 对于 GraphQL 和 APOC,我找到了一个合适的接口,但我没有成功将其转移到 LOAD CSV FROM 命令:
    • CALL graphql.introspect(„<URI>“, {Authorization: "bearer <bearer string>“})
    • CALL apoc.load.jsonParams(„<URI>“, {Authorization: "Bearer <bearer string>"}, null) YIELD value

【问题讨论】:

    标签: csv neo4j cypher etl


    【解决方案1】:

    您查看过您的 Neo4j 设置吗?

    dbms.security.allow_csv_import_from_file_urls=true
    

    此设置必须存在并启用以允许 URL 导入。

    【讨论】:

    • 感谢您的反馈,@yyyguy。从 [Neo4j 文档] (neo4j.com/docs/cypher-manual/current/clauses/load-csv/…) 我了解到“此设置确定 Cypher 在使用 LOAD CSV 加载数据时是否允许使用 file:/// URL。此类 URL 标识数据库服务器文件系统上的文件。“。
    • 由于Neo4j运行在单独的服务器上,需要导入的CSV文件必须从其他服务器使用HTTP协议获取。要获取 CSV 文件,LOAD CSV 命令必须使用承载令牌验证自身,该承载令牌与 HTTP 请求一起发送。如何为LOAD CSV 命令提供承载令牌,从而启动对 CSV 资源的成功访问?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-01
    • 2017-01-10
    • 1970-01-01
    • 1970-01-01
    • 2018-09-22
    相关资源
    最近更新 更多