Создание интеграции api-gateway lambda с помощью aws-cli



Мне нужно создать API-шлюз с помощью клиента aws. я успешно создаю и интегрирую свою функцию aws-lambda с помощью веб-консоли. Но меня путают с aws-клиентом. Вот шаги, которым я следовал.




  1. Создайте API gateway и интегрируйтесь с моей образцовой функцией lambda с помощью веб-консоли.


Введите описание изображения здесь




  1. развертывание созданного api и экспорт в виде файла json.


  2. Создайте новый API-шлюз, используя экспортированный JSON-файл с помощью aws-cli. команда нравится этот.



    aws apigateway import-rest-api --body file://tmpfile.json --region us-east-1;



Но он создал только ресурсы и методы.



  1. Для метода integrate api с моей лямбда-функцией. я выполняю команду следующим образом



    aws apigateway put-integration --rest-api-id 42ku123id8u3a --resource-id core-api-dev --http-method DELETE --type AWS --integration-http-method POST --uri 'arn:aws:lambda:us-east-1:my-lambda-function-arn' --region us-east-1


    Но это производит сообщение об ошибке, как это





Произошла ошибка (NotFoundException) при вызове операции PutIntegration: указан недопустимый идентификатор ресурса




Можно ли интегрировать метод api gateway с существующей функцией lambda с помощью клиента aws? что такое идентификатор ресурса ?

581   2  

2 ответов:

Вы можете запустить aws apigateway get-resources, чтобы получить resource-id

aws apigateway get-resources --rest-api-id 42ku123id8u3a --region us-east-1

Он вернет JSon, как

{
    "items": [
        {
            "path": "/resource/xxx",
            "resourceMethods": {
                "POST": {}
            },
            "id": "_yourresourceid_",
            "pathPart": "xxx",
            "parentId": "ai5b02"
        }
    ]
}

Вы можете взять id из этого JSon и использовать его по своей команде для aws apigateway put-integration

В идеале вы должны экспортировать как JSON в шаге 2 'с расширениями интеграции'. В консоли есть 3 варианта типа экспорта, и средний из них будет включать в себя интеграции и авторизаторы в экспорте. Затем, когда вы импортируете, у вас уже будут интеграции.

Comments

    Ничего не найдено.