无法从S3存储桶在Amazon Neptune中加载数据

时间:2019-11-30 16:45:57

标签: amazon-s3 amazon-neptune

我将Amazon Neptune用作GraphDB。

在尝试从S3存储桶加载数据时遇到异常提示 “ {” code“:” InvalidParameterException“,” detailedMessage“:”源 s3-URL 不存在/不可访问“}”。

已经检查了S3资源URL,可以公共访问。 无法理解为什么会出现此错误。

我已经参考了this AWS文档,并使用以下对Neptune数据库实例的后调用进行数据加载。

 con = New SqlConnection(cs)
    con.Open()          

    Dim cb1 As String = "if exists (select Fedo from Mimos where Fedo=@d1)" + "BEGIN " + "Update Mimos Set ActivationID=@d2,Date=@d3 where Fedo=@d1)" + "END" + "Else" + "insert into Mimos (Fedo,ActivationID,Date) VALUES (@d1,@d2,@d3)"            

    cmd = New SqlCommand(cb1)
    cmd.Connection = con

    cmd.Parameters.AddWithValue("@d1", Encrypt(TextBox1.Text.Trim))
    cmd.Parameters.AddWithValue("@d2", Encrypt(TextBox2.Text.Trim()))
    cmd.Parameters.AddWithValue("@d3", System.DateTime.Now)

    cmd.ExecuteReader()

    con.Close()

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

查看您的错误消息,好像您忘记替换占位符s3-URL。基本上,您需要将数据放在S3中,并使用S3 URL到该文件夹​​进行批量加载请求。

此外,您的代码段也没有iamRoleArn的有效值。请详细阅读文档,因为它解释了成功完成S3加载所需的一系列步骤。步骤的简短摘要如下:

  1. 将CSV或RDF数据上传到S3,获取S3 URL
  2. 创建一个有权访问S3数据的IAM角色
  3. 使用addRoleToDbCluster API(或控制台)将此角色添加到群集。这使得群集在需要获取数据时可以模拟该角色。
  4. 将VPC端点连接到您的VPC,以便它可以与S3对话。
  5. 触发/loader请求并跟踪负载状态。

文档:https://docs.aws.amazon.com/neptune/latest/userguide/bulk-load.html