我已经设置了代码,以向可以工作的aws发出其他请求。我使用了API docs for this endpoint,但是即使有使用计划,请求也会返回并且为空字符串。
我在aws-cli中使用了相同的访问密钥/秘密,并且工作正常。问题是当我调用低级API时。似乎没有人有这个问题或使用此端点。
我正在使用Node 8.10来运行它。这是代码:
const toISOShortString = date =>
date.toISOString().replace(/[:-]|\.\d{3}/giu, "");
export default function(
{ AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_REGION } = {},
{ domain = "com" } = {}
) {
const options = {
method: "GET",
url: `https://apigateway.${AWS_REGION}.amazonaws.${domain}/usageplans`,
headers: {
Host: `apigateway.${AWS_REGION}.amazonaws.${domain}`,
"X-Amz-Date": toISOShortString(new Date()),
"Content-Type": "application/json",
"Content-Length": "254"
}
};
options.headers.Authorization = sign(options, {
AWS_ACCESS_KEY_ID,
AWS_SECRET_ACCESS_KEY,
AWS_REGION
});
return fetch(options);
}