У меня есть приложение, работающее с инфраструктурой 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