Как сделать блокировку вызовов AWS CLI - PullRequest
0 голосов
/ 29 октября 2019

Большинство вызовов интерфейса командной строки AWS являются асинхронными.

Следовательно, после того, как вы позвоните им, вы не будете знать, был ли конечный продукт успешным или нет.

Существует ли простое решение для проверки успешности создания среды, например, для другихчем создание проверенных вызовов с синхронизированными опросами и т. д.

Извините, я не упомянул ранее, но я специально ищу решения от Powershell

1 Ответ

0 голосов
/ 29 октября 2019

Вы можете проверить статус выхода для команды cli.

Что такое код выхода в оболочке bash?

КаждыйКоманда Linux или Unix, выполняемая сценарием оболочки или пользователем, имеет статус выхода. Состояние выхода - целое число. 0 выходной статус означает, что команда была успешной без каких-либо ошибок

фрагмент кода:

  aws cli command 

    if [ $? -ne 0 ]
    then 
        echo "Error"
        exit 1;
    else
        echo "Passed"
    fi

другой метод заключается в ожидании ответа от команды:

while :
do
   sleep 10
   echo "Waiting for elasticsearch domain endpoint..."

   local ELASTICSEARCH_ENDPOINT=$(aws es describe-elasticsearch-domain --domain-name ${ES_DOMAIN_NAME} --region ${AWS_REGION} --output text --query  'DomainStatus.Endpoints.vpc')

   if [ ${ELASTICSEARCH_ENDPOINT} != "null" ]
   then
      echo "Elasticsearch endpoint: ${ELASTICSEARCH_ENDPOINT}"
      break
   fi
done
...