Azure Neo4j v4加载CSV,URL无法识别文件

问题描述 投票:0回答:1

我正在Azure上使用Neo4j v 4.0.3。 Python代码用于加载数据库。标准密码创建查询按预期工作:

Create (n:xxx{name:'xxx'})

但是,这不起作用:

LOAD CSV With HEADERS FROM 'https://neo4jclusterdiag.blob.core.windows.net/neo4j-import/jTags.csv?{SAS}' AS line FIELDTERMINATOR '|' MERGE (p:AncestryTag{TagId: toInteger(line.TagId),color:toString(line.Color),Label:toString(line.Label)})

CSV很简单:

TagId|Color|Label
1000|#6ba410|Brydie Scotland
1001|#FFE300|Scroggie
1002|#e3720f|Brodie Scotland
1003|#f06158|Robertson Scotland
1004|#cb478a|Goolsby
1005|#655586|Watt Aberdeenshire
1006|#0079a3|Milne Scotland
1007|#489b9b|Hay Aberdeenshire
1008|#FFB800|Anderson
1009|#a94500|Thomas
1010|#871a13|Bain, McBain

我在Neo4j v 4.0.3上有单独的本地安装,并且LOAD CSV在这里正常工作。因此,Azure数据库有点不对劲。

我在配置文件中进行了以下更改:

#dbms.directories.import=/var/lib/neo4j/import
dbms.security.allow_csv_import_from_file_urls=true

我尝试从python代码或在Neo4j浏览器中运行LOAD CSV。两者相同的错误:

neobolt.exceptions.ClientError: Couldn't load the external resource at: https://neo4jclusterdiag.blob.core.windows.net/neo4j-import/jTags.csv?{SAS}

在浏览器中我也看到:

Neo.ClientError.Statement.ExternalResourceFailed

我可以将其放置在浏览器地址窗口中并检索文件:

https://neo4jclusterdiag.blob.core.windows.net/neo4j-import/jTags.csv?{SAS}

因此,我的Azure数据库存在一些特别的问题,即我没有使用导入的csv重新导入我试图导入的文件。

azure neo4j azure-storage-blobs load-csv
1个回答
0
投票

问题出在Python Neo4j驱动程序上。在Azure上,标准驱动程序为v1.7.x。 Neo4j 4.x的版本仅在几天前发布。现在可用:

https://pypi.org/project/neo4j-driver/4.0.0a4/

这样,我可以执行LOAD CSV。现在,我还可以在安装中解决与特定数据库的会话。

非常光滑!我喜欢具有多个数据库来支持不同客户端的功能。

© www.soinside.com 2019 - 2024. All rights reserved.