Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

288
Vistas
Boto3 - Imprimir el uso promedio de CPU de la instancia de AWS

Estoy tratando de imprimir solo la utilización promedio de CPU de una instancia de AWS. Este código imprimirá la 'respuesta' pero el ciclo for al final no está imprimiendo la utilización promediada. ¿Alguien podría ayudar? ¡Gracias de antemano!

 import boto3 import sys from datetime import datetime, timedelta client = boto3.client('cloudwatch') response = client.get_metric_statistics( Namespace='AWS/EC2', MetricName='CPUUtilization', Dimensions=[ { 'Name': 'InstanceId', 'Value': 'i-1234abcd' }, ], StartTime=datetime(2018, 4, 23) - timedelta(seconds=600), EndTime=datetime(2018, 4, 24), Period=86400, Statistics=[ 'Average', ], Unit='Percent' ) for cpu in response: if cpu['Key'] == 'Average': k = cpu['Value'] print(k)

Este es el mensaje de error que recibo:

 Traceback (most recent call last): File "C:\bin\TestCW-CPU.py", line 25, in <module> if cpu['Key'] == 'Average': TypeError: string indices must be integers
over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

for cpu in response['Datapoints']: if 'Average' in cpu: print(cpu['Average']) 2.25348611111 2.26613194444

Puede ver por qué esto funciona, si imprime el valor de cpu :

 print(response) for cpu in response['Datapoints']: print(cpu) {u'Timestamp': datetime.datetime(2018, 4, 23, 23, 50, tzinfo=tzlocal()), u'Average': 2.2534861111111106, u'Unit': 'Percent'} {u'Timestamp': datetime.datetime(2018, 4, 22, 23, 50, tzinfo=tzlocal()), u'Average': 2.266131944444444, u'Unit': 'Percent'}
over 4 years ago · Santiago Trujillo Denunciar

0

Esto generará la CPU promedio:

 for k, v in response.items(): if k == 'Datapoints': for y in v: print(y['Average'])
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda