将数据导出到 S3

要导出到 S3,需要下载 APOC AWS 依赖 jar 包并将其复制到插件目录 <NEO4J_HOME>/plugins 中。

AWS 依赖 jar 包 APOC 版本

apoc-aws-dependencies-5.15.jar

5.15

apoc-aws-dependencies-5.14.jar

5.14

apoc-aws-dependencies-5.13.jar

5.13

apoc-aws-dependencies-5.12.jar

5.12

apoc-aws-dependencies-5.11.jar

5.11

apoc-aws-dependencies-5.10.jar

5.10

APOC AWS 依赖 jar 包由 APOC Extended 库维护。Neo4j 不支持此库。

将 jar 包复制到插件目录后,需要重启数据库。

默认情况下,导出到 S3 的功能是禁用的。我们可以通过在 apoc.conf 中设置以下属性来启用它:

apoc.conf
apoc.export.file.enabled=true

如果我们尝试在未先设置此属性的情况下使用任何导出过程,我们将收到以下错误消息:

无法调用过程:由以下原因引起:java.lang.RuntimeException:未启用导出到文件的功能,请在 apoc.conf 中设置 apoc.export.file.enabled=true。或者,如果您在没有文件系统访问权限的云环境中运行,则可以使用 {stream:true} 配置并将“file”参数设为 null,以便将导出的内容流式传输回您的客户端。

使用 S3 协议

S3 URL 必须采用以下格式:

  • s3://accessKey:secretKey[:sessionToken]@endpoint:port/bucket/key(其中 sessionToken 是可选的),或者

  • s3://endpoint:port/bucket/key?accessKey=accessKey&secretKey=secretKey[&sessionToken=sessionToken](其中 sessionToken 是可选的),或者

  • s3://endpoint:port/bucket/key(如果 accessKey、secretKey 和可选的 sessionToken 已在环境变量中提供)

内存需求

为了支持大型上传,S3 上传工具一次最多可能占用 2.25 GB 的内存。实际使用量取决于上传文件的大小,但最大占用量为 2.25 GB。