Я не могу понять эту синтаксическую ошибку в AWS лямбда, когда пишу лямбду для остановки задачи ecs в сервисе - PullRequest
0 голосов
/ 20 сентября 2019
 - import json
       import boto3

       client = boto3.client('ecs')

       def lambda_handler(event, context):
           return {
              response = client.stop_task(
              cluster='newCluster',
              task='d3a857b8f2e1463d85265e08b6dfd9f3',
              reason='none'
                                          )
                   }

Я написал эту лямбду, но когда я проверяю ее, она показывает синтаксическую ошибку, как показано ниже

Ответ: {"errorMessage": "Синтаксическая ошибка в модуле" lambda_function ": неверный синтаксис (lambda_function.py, строка 8) "," errorType ":" Runtime.UserCodeSyntaxError "," stackTrace ": [" File \ "/ var / task / lambda_function.py \" Строка 8 \ n response = client.stop_task (\ n "]}

Идентификатор запроса: "9cb74885-0171-4ed9-9e6f-44e50480139b"

Журналы функций: START RequestId: 9cb74885-0171-4ed9-9e6f-44e50480139b Версия: $ LATEST [ОШИБКА]Runtime.UserCodeSyntaxError: Синтаксическая ошибка в модуле 'lambda_function': неверный синтаксис (lambda_function.py, строка 8) Трассировка (последний последний вызов): файл "/var/task/lambda_function.py" Ответ строки 8 = client.stop_task (ENDRequestId: 9cb74885-0171-4ed9-9e6f-44e50480139b REPORT RequestId: 9cb74885-0171-4ed9-9e6f-44e50480139b Длительность: 27,35 мс Биллинг Длительность: 100 мс Размер памяти: 128 МБ Макс. Используемая память: 56 МБ Длительность инициализации: 108,01 мс
XRAY TraceId: 1-5d846522-6de3bafd93f9f6ddd732c151 SegmentId: 5c86ef0b79d59359 Выборка: false

Ответы [ 2 ]

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

       client = boto3.client('ecs')

       def lambda_handler(event, context):
response=client.stop_task(cluster='newCluster',task='d3a857b8f2e1463d85265e08b6dfd9f3',reason='none')

Я только что удалил возврат и скобки, и это сработало.

0 голосов
/ 20 сентября 2019
  • Стоит удалить response или вернуть только ответ для тестирования, просто проверьте, удалив его, а затем приведите в порядок код.
return {
        client.stop_task(cluster='newCluster',task='d3a857b8f2e1463d85265e08b6dfd9f3',reason='none')
    }
  • Или стоит сделать что-то подобное, в противном случае ответ будет недоступен.
response = client.stop_task(
              cluster='newCluster',
              task='d3a857b8f2e1463d85265e08b6dfd9f3',
              reason='none')
return response

  • Стоит использоватьARN для задачи и кластера и проверьте, как это работает прикрепленные документы
  • Это то, как я использовал его в своем рабочем коде, причина не является обязательной (здесь я только что заменил значения для этогопеременная здесь для объяснения)
        client.stop_task(
            cluster='arn:aws:ecs:us-east-1:xxxxxxxxxxxx:cluster/dev',
            task='arn:aws:ecs:us-east-1:xxxxxxxxxxxx:task/1de5e17a-422a-4ac4-a493-371970d6d4d6')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...