Mansi Mehta
Mansi Mehta

Reputation: 39

Not able to do neptune bulkload from aws s3

I am not able to do Neptune bulk load from AWS S3 using curl command?

This is the error I am getting:

{"code":"AccessDeniedException","requestId":"f6243cd3-2a4f-48a2-9d91-13803c199ef1","detailedMessage":"Missing Authentication Token"}

Sample Query:

curl -X POST \
    -H 'Content-Type: application/json' \
    https://*******.cluster-c4brigvg3m9m.us-east-2.neptune.amazonaws.com:8182/loader -d'
    { 
      "source" : "s3://******/Unsaved/2022/12/13/4a873928-9910-47b0-85ca-de593ace4f4a.csv", 
      "format" : "csv",  
      "iamRoleArn" : "arn:aws:iam::959061167427:role/NeptuneLoadFroms3", 
      "region" : "us-east-2", 
      "failOnError" : "FALSE",
    }'

Upvotes: 0

Views: 532

Answers (1)

Taylor Riggan
Taylor Riggan

Reputation: 2759

The curl utility does not have a means to pass IAM credentials. The error message you are getting is because you're using a Neptune cluster with IAM Authentication enabled. To resolve this issue, you can use awscurl [1], a utility that will sign the request with IAM credentials that you pass either directly as parameters, credentials that you have stored as environment variables, or credentials that you have stored as a profile in the AWS CLI.

awscurl -X POST --service neptune-db -H 'Content-Type: application/json' --region us-east-2 \
https://**.cluster-c4brigvg3m9m.us-east-2.neptune.amazonaws.com:8182/loader -d' 
    {
        "source" : "s3://*/Unsaved/2022/12/13/4a873928-9910-47b0-85ca-de593ace4f4a.csv", 
        "format" : "csv", 
        "iamRoleArn" : "arn:aws:iam::123456789012:role/NeptuneLoadFroms3", 
        "region" : "us-east-2", 
        "failOnError" : "FALSE"
}'

1] https://github.com/okigan/awscurl

Upvotes: 1

Related Questions