getMetricData не использует предполагаемую роль? - PullRequest
0 голосов
/ 21 ноября 2018

Я пытаюсь получить некоторые метрики 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.

...