【发布时间】:2021-07-21 23:10:30
【问题描述】:
我正在尝试通过点击海王星批量加载端点来批量加载数据:
private void upload(String source) throws URISyntaxException, IOException {
String jsonReq = createJson("s3://" + source);
InputStream inputStream = new ByteArrayInputStream(jsonReq.getBytes(StandardCharsets.UTF_8));
Request<Void> req = new DefaultRequest<>("neptune-db");
req.setHttpMethod(HttpMethodName.POST);
req.setEndpoint(new URI("https", null, HOST, 8182, "/loader", null, null));
req.setContent(inputStream);
req.setHeaders(Map.of("host",
HOST,
"Content-Type",
"application/json",
"x-amz-content-sha256",
"required"));
AWS4Signer signer = new AWS4Signer();
signer.setRegionName(region);
signer.setServiceName(req.getServiceName());
signer.setOverrideDate(new Date());
signer.sign(req, getCreds());
httpClient.requestExecutionBuilder().request(req).errorResponseHandler(new ErrorResponseHandler()).execute();
}
我不断收到 403。同样的请求适用于 AWScurl 和 postman。在这种情况下可能缺少什么?我可以看到令牌被提取以进行签名。
【问题讨论】:
标签: java amazon-web-services amazon-neptune