Я пытаюсь получить некоторые метрики cloudwatch / rda с помощью aws-sdk
, поскольку у пользователя, которого я использую, недостаточно прав для доступа к ресурсам cloudwatch, сначала мне нужно взять на себя роль, и кажется,быть в порядке
sts.assumeRole(paramsts, function(err, data) {
if (err) console.log("Cannot assume role. Received the following error: " +err.stack);
else {
AWS.config.update({
accessKeyId: data.Credentials.AccessKeyId,
secretAccessKey: data.Credentials.SecretAccessKey,
sessionToken: data.Credentials.SessionToken
});
console.log(data)
он возвращает мне токен с, как мне кажется, правильными кредитами
{ ResponseMetadata: { RequestId: 'XXXXXXX' },
Credentials:
{ AccessKeyId: 'XXXXXXXX',
SecretAccessKey: 'XXXXXXXXX',
SessionToken:
'mytoken',
Expiration: sometimes soon },
AssumedRoleUser:
{ AssumedRoleId: 'blablabla',
Arn:
'arn:aws:sts::numbers:assumed-role/myroles' } }
теперь, когда при обратном вызове я использую getMetricData, он не возвращает мне никаких данных.Я всегда получаю один и тот же ответ, даже если я ищу несуществующий элемент
cw.getMetricData(params, function(err, data) {
if (err) {
console.log("Error", err);
} else {
console.log(data);
}
});
, он всегда выдает мне следующее:
{ ResponseMetadata: { RequestId: 'XXXXx' },
MetricDataResults:
[ { Id: 'freestorage',
Label: 'FreeStorageSpace',
Timestamps: [],
Values: [],
StatusCode: 'Complete',
Messages: [] }, ] }
кажется, что роль не принимается должным образом, когда я используюgetMetricData.Я что-то упустил?
Я могу обрабатывать данные из Cli, принимая на себя ту же роль с теми же параметрами, но этот фрагмент кода всегда возвращает мне 0 значений / datapoint.