从 Amazon S3 存储桶中的 CSV 文件加载 CSV 数据到 Neo4j
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)
此页面有用吗?