Миграция с Serverless-z на Serverless для приложения AWS-Lambda - PullRequest
0 голосов
/ 25 апреля 2019

У меня есть приложение, работающее с инфраструктурой serverless-z, AWS Lambda и nodeJS, и мне нужно перенести его на безсерверную среду.

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

В настоящее время я все еще читаю документы для нового безсерверного сервера, но я не могу найти все ответы, которые мне нужны, и хочу убедиться, что я правильно выполню миграцию.

Мое текущее приложение структурировано по папкам и функциям, и я не уверен, смогу ли я сохранить структуру или нет.

{
"name": "user-login",
"runtime": "nodejs6.10",
"description": "Serverless Lambda function for project: my-project",
"customName": false,
"customRole": false,
"handler": "functions/user/user-login/user-login.handler",
"timeout": 30,
"memorySize": 256,
"authorizer": {},
"custom": {
    "excludePatterns": []
},
"endpoints": [
    {
        "path": "user/login",
        "method": "POST",
        "type": "AWS",
        "authorizationType": "none",
        "authorizerFunction": false,
        "apiKeyRequired": false,
        "requestParameters": {},
        "requestTemplates": {
            "application/json": ""
        },
        "responses": {
            "400": {
                "statusCode": "400"
            },
            "default": {
                "statusCode": "200",
                "responseParameters": {
                    "method.response.header.Access-Control-Allow-Headers": "'Content-Type,X-Amz-Date,Authorization,X-Api-Key,Cache-Control'",
                    "method.response.header.Access-Control-Allow-Methods": "'*'",
                    "method.response.header.Access-Control-Allow-Origin": "'*'"
                },
                "responseModels": {
                    "application/json;charset=UTF-8": "Empty"
                },
                "responseTemplates": {
                    "application/json;charset=UTF-8": ""
                }
            }
        }
    }
],
"events": [],
"environment": {
    "SERVERLESS_PROJECT": "${project}",
    "SERVERLESS_STAGE": "${stage}",
    "SERVERLESS_REGION": "${region}"
},
"vpc": {
    "securityGroupIds": [],
    "subnetIds": []
}

}

Из того, что я заметил, новая серверная работа с файлом serverless.yml:

provider:
  name: aws
  runtime: nodejs8.10

functions:
  hello:
    handler: handler.hello

Какой самый простой способ миграции? Какие минимальные изменения требуются? Могу ли я сохранить свою текущую структуру папок? Могу ли я иметь несколько serverless.yml для каждой функции или мне нужно написать все функции в одном serverless.yml

...