【发布时间】:2018-03-09 20:28:50
【问题描述】:
是否可以使用 load csv 将数据加载到在 csv 文件位于安全 S3 存储桶中的 docker 容器上运行的 Neo4j 中?如果我将文件本地复制到 docker 容器中,它工作正常。
我不断收到“Neo.ClientError.Statement.ExternalResourceFailed”错误。
neo 配置显示:dbms.security.allow_csv_import_from_file_urls=true
我的代码是使用 py2neo (3.1.2) 的 Python (3.6)。
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
任何帮助或示例将不胜感激。
非常感谢。
【问题讨论】:
-
您是否还注释了
dbms.directories.import=import行,它强制 csv 文件位于该importdirectory 中?并且不要忘记在更改配置文件后重新启动数据库 -
如果网址是公开的,那么是的...不确定
LOAD CSV是否可以处理任何授权 -
谢谢你们的帮助...我不允许自己更改 dbms.directories.import ...必须等待我们的系统人员完成...但我会的发布结果。
-
结果是注释掉 dbms.directories.import=import 没有明显影响……不过再次感谢大家的努力。
标签: python csv amazon-s3 neo4j