You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无法通过curl命令从AWS S3向Neptune批量加载数据:缺少认证令牌

解决Neptune批量加载时的"Missing Authentication Token"错误

问题分析

你遇到的AccessDeniedException提示"Missing Authentication Token",核心原因是Neptune的批量加载API需要AWS SigV4签名认证,直接用未签名的curl请求访问会被拒绝——Neptune端点不接受无认证的公开请求。

解决方案

方法1:使用AWS CLI(最简单推荐)

AWS CLI会自动处理SigV4签名,无需手动生成,直接用neptune-db start-load命令发起加载请求:

aws neptune-db start-load \
  --cluster-identifier ******* \
  --region us-east-2 \
  --load-input '{
    "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"
  }'

注意替换--cluster-identifier后的集群ID,确保本地AWS CLI已配置正确的权限(能访问Neptune和S3)。

方法2:给curl请求添加SigV4签名

如果必须用curl,可以通过AWS CLI的sigv4 sign命令生成带签名的curl请求:

aws sigv4 sign \
  --service neptune-db \
  --region us-east-2 \
  --output curl \
  --request POST \
  --url https://*******.cluster-c4brigvg3m9m.us-east-2.neptune.amazonaws.com:8182/loader \
  --headers 'Content-Type: application/json' \
  --data '{
    "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"
  }'

运行该命令后,会输出完整的带签名的curl命令,直接执行即可。

额外检查项

确保你使用的IAM角色NeptuneLoadFroms3配置正确:

  • 具备S3权限:包含s3:GetObject、s3:ListBucket(针对数据源所在的S3桶)
  • 信任策略允许Neptune服务扮演该角色:信任实体需包含neptune.amazonaws.com

内容的提问来源于stack exchange,提问作者Mansi Mehta

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 13:43:04