Python 将CSV从安全S3存储桶加载到docker中运行的Neo4j中

Python 将CSV从安全S3存储桶加载到docker中运行的Neo4j中,python,csv,amazon-s3,neo4j,Python,Csv,Amazon S3,Neo4j,是否可以使用load csv将数据加载到docker容器上运行的Neo4j中,其中csv文件位于安全的S3存储桶中?如果我将文件本地复制到docker容器上,效果会很好 我一直收到“Neo.ClientError.Statement.ExternalResourceFailed”错误 neo配置显示:dbms.security.allow\u csv\u import\u from\u file\u url=true 我的代码是使用py2neo(3.1.2)的Python(3.6) 任何帮助或例

是否可以使用load csv将数据加载到docker容器上运行的Neo4j中,其中csv文件位于安全的S3存储桶中?如果我将文件本地复制到docker容器上,效果会很好

我一直收到“Neo.ClientError.Statement.ExternalResourceFailed”错误

neo配置显示:dbms.security.allow\u csv\u import\u from\u file\u url=true

我的代码是使用py2neo(3.1.2)的Python(3.6)

任何帮助或例子都将不胜感激


非常感谢。

Neo4j“加载CSV”可以使用http/https URL,例如:

从“”加载带有标题的CSV作为行 限行3 回程线

需要更改以下配置

  • S3文件夹需要公开
  • 在neo4j.conf中,设置 dbms.security.allow\u csv\u import\u from\u file\u url=true
  • 在neo4j.conf中,注释掉或删除dbms.directories.import=import
  • 确保防火墙未阻止neo4j端口

  • 您可以在S3上生成一个有时间限制的签名URL,并且不需要公开该文件

    请参见这里的示例


    您是否也对行
    dbms.directories.import=import
    进行了注释,该行强制csv文件位于该
    import
    目录`?并且在更改配置文件后不要忘记重新启动数据库如果url是公开的,则是……不确定
    加载csv
    是否可以处理任何授权谢谢h谢谢你的帮助…我不允许自己修改dbms.directories.import…必须等待我们的系统人员来修改…但我会发布结果。结果是注释掉dbms.directories.import=import没有明显的影响…但我再次感谢你的努力。你似乎无法在AWS上做到这一点…这意味着加载CSV不成立。
    USING PERIODIC COMMIT 5000
    LOAD CSV WITH HEADERS FROM 'https://s3-my-region.amazonaws.com/some-secured-
    bucket/somefile.csv' AS row FIELDTERMINATOR ','
    MERGE (person:Person {id: row.id})
    ON CREATE SET person.first_name = row.first_name
    , person.last_name = row.last_name
    , person.email = row.email
    , person.mobile_phone = row.mobile_phone
    , person.business_phone = row.business_phone
    , person.business_address = row.business_address
    ON MATCH SET person.first_name = row.first_name
    , person.last_name = row.last_name
    , person.email = row.email
    , person.mobile_phone = row.mobile_phone
    , person.business_phone = row.business_phone
    , person.business_address = row.business_address