Ошибка проверки параметра: \ nНеизвестный параметр во входных данных: \ "include \", должен быть одним из: кластер, службы - PullRequest
0 голосов
/ 23 сентября 2019

Я пишу лямбду, чтобы обновить все сервисы во всех кластерах ecs на основе их тегов.Для этого мне нужно извлечь теги из описания сервиса, но соответствующая функция выдает ошибку.

import boto3
import botocore

client = boto3.client('ecs')

def lambda_handler(event, context):

   responseToListClusters = client.list_clusters()                              #gets list of clusters
   clusterArnsList=responseToListClusters['clusterArns']                                   #extracts list of clusterArns
   for CLUSTER in clusterArnsList:

          responseToListServices = client.list_services(cluster= CLUSTER)                     #gets list of services
          serviceArnsList=responseToListServices['serviceArns']                                     #extracts list of serviceArns
          for SERVICE in serviceArnsList:
             responseToDescribeServices= client.describe_services(cluster=CLUSTER,services=[SERVICE,],include=['TAGS',])
             print(responseToDescribeServices)

                 #client.update_service(cluster=CLUSTER,service=SERVICE,desiredCount=1)              #updates all services

1 Ответ

0 голосов
/ 23 сентября 2019

Вы столкнулись с этой ошибкой, поскольку по умолчанию AWS lambda работает с более старой версией boto3.

В настоящее время AWS lamda имеет следующие версии:

python3.7

  • boto3-1.9.42
  • botocore-1.12.42

python3.6

  • boto3-1.7.74
  • botocore-1.10.74

python2.7

  • N / A

Ссылка: Lambda Runtimes

Для обновления версии boto3 вы можете обратиться к следующим статьям:

AWS Lambda Console - обновить версию boto3

https://www.mandsconsulting.com/lambda-functions-with-newer-version-of-boto3-than-available-by-default/

...