Итак, у меня есть этот сценарий boto3, который запускает экземпляр ec2. Но когда я запускаю эту лямбда-функцию, функция describe_instance_status возвращает пустой массив InstanceStatus. Таким образом, программа завершается, заявив индекс нашего диапазона. Какие-либо предложения?boto3 выпуск проверка состояние экземпляра ec2
import boto3
from time import sleep
region = 'your region name'
def lambda_handler(event, context):
cye_production_web_server_2 = 'abcdefgh'
ec2 = boto3.client('ec2',region)
start_response = ec2.start_instances(
InstanceIds=[cye_production_web_server_2, ],
DryRun=False
)
print(
'instance id:',
start_response['StartingInstances'][0]['InstanceId'],
'is',
start_response['StartingInstances'][0]['CurrentState']['Name']
)
status = None
counter = 5
while (status != 'ok' and counter > 0):
status_response = ec2.describe_instance_status(
DryRun=False,
InstanceIds=[cye_production_web_server_2, ],
)
status = status_response['InstanceStatuses'][0]['SystemStatus'] ['Status']
sleep(5) # 5 second throttle
counter=counter-1
print(status_response)
print('status is', status.capitalize())
Вы проверили журнал лямбды (облачного) для любого сообщения об ошибке? – helloV
индекс индекса за пределами диапазона: IndexError Traceback (последний последний звонок): Файл «/var/task/lambda_function.py», строка 31, в lambda_handler status = status_response ['InstanceStatuses'] [0] ['SystemStatus '] [' Status '] IndexError: индекс списка за пределами допустимого диапазона –
Вы уверены, что это работало как отдельный сценарий? – helloV