知识库

在 Neo4j 中从 Amazon S3 存储桶的 CSV 文件加载 CSV 数据

Neo4j 提供 LOAD CSV Cypher 命令可将 CSV 文件中的数据加载到 Neo4j,或通过 HTTPS、HTTP 和 FTP 访问 CSV 文件。但是,如何从位于 AWS S3 存储桶中的 CSV 文件加载数据,因为访问文件需要登录 AWS 账户并拥有文件访问权限?可以通过为 S3 存储桶中的 CSV 文件使用预签名 URL 来实现。

我们将快速演示如何为 AWS S3 存储桶中的文件创建预签名 URL。我们需要使用 aws 命令行工具。安装好 aws 命令行工具后,使用 aws configure 命令来配置 AWS 命令行。

Rohans-MacBook-Pro-2:bin rohankharwar$ aws configure
AWS Access Key ID [****************KSRQ]:
AWS Secret Access Key [****************t9gZ]:
Default region name [us-east]: us-east-2
Default output format [None]:

在本例中,actors.csv 文件位于 rohank S3 存储桶。运行以下命令为 actors.csv 文件创建预签名 URL。

$ aws s3 presign s3://rohank/actors.csv

然后使用该 URL 通过 LOAD CSV 从 S3 存储桶访问文件,如下所示

LOAD CSV WITH HEADERS FROM "https://rohank.s3.amazonaws.com/actors.csv?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAICM6A3RO53KOKSRQ%2F20190404%2Fus-east-2%2Fs3%2Faws4_request&X-Amz-Date=20190404T215301Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=61cb485af12daa60bb8cb7a91fb503797311c8e178d9bfa3c7ff49770e4535b5" as row return count(row)
© . This site is unofficial and not affiliated with Neo4j, Inc.