使用 Neptune 导出服务导出 Neptune 数据 - Amazon Neptune
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用 Neptune 导出服务导出 Neptune 数据

您可以使用以下步骤使用 Neptune-Export 服务将数据从 Neptune 数据库集群导出到 Amazon S3:

安装海王星出口服务

使用Amazon CloudFormation创建堆栈的模板:

安装海王星出口服务

  1. 启动Amazon CloudFormation堆叠在Amazon CloudFormation选择以下内容之一控制台启动堆栈下表中的按钮:

    区域 查看 在 Designer 中查看 启动
    美国东部(弗吉尼亚北部) 查看 在 Designer 中查看
    美国东部(俄亥俄) 查看 在 Designer 中查看
    美国西部(加利福尼亚北部) 查看 在 Designer 中查看
    美国西部(俄勒冈) 查看 在 Designer 中查看
    加拿大(中部) 查看 在 Designer 中查看
    南美洲(圣保罗) 查看 在 Designer 中查看
    欧洲(斯德哥尔摩) 查看 在 Designer 中查看
    欧洲(爱尔兰) 查看 在 Designer 中查看
    欧洲(伦敦) 查看 在 Designer 中查看
    欧洲(巴黎) 查看 在 Designer 中查看
    欧洲(法兰克福) 查看 在 Designer 中查看
    Middle East (Bahrain) 查看 在 Designer 中查看
    亚太地区(香港) 查看 在 Designer 中查看
    亚太区域(东京) 查看 在 Designer 中查看
    亚太地区(首尔) 查看 在 Designer 中查看
    亚太地区(新加坡) 查看 在 Designer 中查看
    亚太地区(悉尼) 查看 在 Designer 中查看
    亚太地区(孟买) 查看 在 Designer 中查看
    中国(北京) 查看 在 Designer 中查看
    中国(宁夏) 查看 在 Designer 中查看
    Amazon GovCloud(美国西部) 查看 在 Designer 中查看
    Amazon GovCloud(美国东部) 查看 在 Designer 中查看
  2. Select Template 页面上,选择 Next

  3. 在存储库的指定详细信Parameter(模板)设置以下参数:

    • VPC— 设置 Neptune 出口服务的最简单方法是将其安装在与 Neptune 数据库相同的 Amazon VPC 中。如果你想在单独的 VPC 中安装它,你可以使用VPC 对等在 Neptune 数据库集群的 VPC 和 Neptune 导出服务 VPC 之间建立连接。

    • Subnet1— 必须将 Neptune 导出服务安装在 VPC 中的子网中,以允许出站 IPv4 HTTPS 流量从子网流向 Internet。这是为了使海王星出口服务可以调用AmazonBatch API以创建和运行导出作业。

      如果您使用上的 CloudFormation 模板创建了 Neptune 集群创建数据库集群在 Neptune 文档中的页面,你可以使用PrivateSubnet1PrivateSubnet2来自该堆栈的输出来填充此参数和下一个参数。

    • Subnet2— VPC 中的第二个子网,允许出站 IPv4 HTTPS 流量从子网流向 Internet。

    • EnableIAM— 将其设置为true使用保护海王星端点 APIAmazon Identity and Access Management(IAM)。我们建议您这样做。

      如果您确实启用了 IAM 身份验证,则必须Sigv4对终端节点的所有 HTTPS 请求进行签名。您可以使用以下工具:awscurl代表您签署请求。

    • VPCOnly— 将其设置为true使导出终端节点仅限 VPC,因此您只能从安装了 Neptune-Export 服务的 VPC 内访问它。这限制了海王星出口 API 仅在该 VPC 内使用。

      我们建议您设置VPCOnlytrue.

  4. 选择下一步

  5. Options (选项) 页面上,选择 Next (下一步)

  6. 在存储库的审核页面上,选中第一个复选框以确认Amazon CloudFormation将创建 IAM 资源。选中第二个复选框以确认新堆栈的 CAPABILITY_AUTO_EXPAND

    注意

    CAPABILITY_AUTO_EXPAND 明确确认在创建堆栈时将扩展宏,而无需事先审核。用户通常通过处理的模板创建更改集,以便在实际创建堆栈之前对宏所做的更改进行审核。有关更多信息,请参阅 Amazon CloudFormation CreateStack API。

    然后选择 Create (创建)

启用从 Neptune 出口访问 Neptune

在 Neptune-Export 安装完成后,请更新Neptune VPC 安全组以允许从海王星出口访问。当海王星出口Amazon CloudFormation堆栈已创建,输出选项卡中包括NeptuneExportSecurityGroupID。更新您的 Neptune VPC 安全组以允许从此 Neptune 导出安全组访问。

启用从基于 VPC 的 EC2 实例访问 Neptune-Export 终端节点

如果您将 Neptune-Export 终端节点设置为仅 VPC,则只能从安装了 Neptune-Export 服务的 VPC 内访问它。要允许来自 VPC 中的 Amazon EC2 实例的连接,您可以通过该实例进行 Neptune-Export API 调用,请附加NeptuneExportSecurityGroup由创建Amazon CloudFormation堆栈到该 Amazon EC2 实例中。

使用海王星出口 API 运行海王星导出作业

这些区域有:输出的选项卡Amazon CloudFormation堆栈还包括NeptuneExportApiUri. 无论何时向 Neptune 导出终端节点发送请求,请使用此 URI。

运行导出任务

  • 确保已授予运行导出的用户或角色execute-api:Invoke权限。

  • 如果你设置了EnableIAM要参数true中的Amazon CloudFormation安装 Neptune-Export 时,你需要Sigv4对海王星出口 API 的所有请求进行签名。我们建议使用awscurl向 API 发出请求。此处的所有示例都假设 IAM 身份验证已启用。

  • 如果你设置了VPCOnly要参数true中的Amazon CloudFormation在安装 Neptune-Export 时堆栈,您必须从 VPC 内调用海王星导出 API,通常是从位于 VPC 中的 Amazon EC2 实例调用。

要开始导出数据,请向NeptuneExportApiUri带终端节点commandoutputS3Path和请求参数endpoint导出参数。

以下是从 Neptune 导出属性图数据并将其发布到 Amazon S3 的请求示例:

curl \ (your NeptuneExportApiUri) \ -X POST \ -H 'Content-Type: application/json' \ -d '{ "command": "export-pg", "outputS3Path": "s3://(your Amazon S3 bucket)/neptune-export", "params": { "endpoint": "(your Neptune endpoint DNS name)" } }' \ --region us-east-1

同样,以下是一个将 RDF 数据从 Neptune 导出到 Amazon S3 的请求示例:

curl \ (your NeptuneExportApiUri) \ -X POST \ -H 'Content-Type: application/json' \ -d '{ "command": "export-rdf", "outputS3Path": "s3://(your Amazon S3 bucket)/neptune-export", "params": { "endpoint": "(your Neptune endpoint DNS name)" } }' \ --region us-east-1

如果你省略了command请求参数,默认情况下,Neptune-Export 尝试从 Neptune 导出属性图数据。

如果以前命令成功运行,则输出将如下所示:

{ "jobName": "neptune-export-abc12345-1589808577790", "jobId": "c86258f7-a9c9-4f8c-8f4c-bbfe76d51c8f" }

监控刚刚开始的导出作业

要监控正在运行的作业,请将其 JobID 附加到NeptuneExportApiUri,类似于以下内容:

curl \ (your NeptuneExportApiUri)(the job ID) \ --region eu-west-1

如果该服务尚未启动导出任务,则响应如下所示:

{ "jobId": "c86258f7-a9c9-4f8c-8f4c-bbfe76d51c8f", "status": "pending" }

当你在导出作业开始后重复该命令时,响应将如下所示:

{ "jobId": "c86258f7-a9c9-4f8c-8f4c-bbfe76d51c8f", "status": "running", "logs": "https://us-east-1.console.aws.amazon.com/cloudwatch/home?..." }

如果您使用状态调用提供的 URI 在 CloudWatch Logs 中打开日志,则可以详细监控导出进度:

CloudWatch Logs 显示屏幕截图。

取消正在运行的导出任务

要使用Amazon Web Services Management Console

  1. 打开Amazon Batch控制台https://console.aws.amazon.com/batch/.

  2. 选择 Jobs (作业)

  3. 根据以下内容,找到要取消的正在运行的任务jobID.

  4. Select取消任务.

使用 Neptune 导出 API 取消正在运行的导出作业

发送HTTP DELETE请求NeptuneExportApiUri使用jobID像这样附加:

curl -X DELETE (your NeptuneExportApiUri)(the job ID) \ --region eu-west-1