在多个无服务器文件中引用整个 属性 - [object Object] 不存在
Referencing an entire property in multiple serverless files - [object Object] does not exist
我在使用无服务器时面临的最大挑战之一是以微服务方式部署 AWS Lambda 函数(每个 lambda 单独 - 我已经尝试过单独的包、Webpack 等等...... ).
我目前正在将我的无服务器应用程序分解为多个子无服务器文件,并且我正在尝试引用一个主配置无服务器文件。我想继承整个对象树,这样我就不必一一重新键入它们(此外,如果有更改,我可以将其传播到所有 lambda)。
这是我当前的结构:
| serverless.yml
| lambda/
| /planning
| index.ts
| serverless.yml
| /generator
| index.ts
| serverless.yml
| /createStudents
| index.ts
| serverless.yml
main 无服务器文件的内容(为简洁起见省略):
## https://serverless.com/framework/docs/providers/aws/guide/serverless.yml/
service: backend-appsync
provider:
name: aws
stage: ${opt:stage, 'dev'}
runtime: nodejs10.x
region: us-east-2
## https://serverless.com/framework/docs/providers/aws/guide/iam/
## https://serverless.com/blog/abcs-of-iam-permissions/
iamRoleStatements:
- Effect: Allow
Action:
- "dynamodb:BatchGetItem"
- "dynamodb:BatchWriteItem"
- "dynamodb:ConditionCheckItem"
- "dynamodb:GetItem"
- "dynamodb:DeleteItem"
- "dynamodb:PutItem"
- "dynamodb:Query"
Resource: "arn:aws:dynamodb:us-east-2:747936726382:table/SchonDB"
我想读取整个提供者对象并将其插入到单独的 serverless.yml
文件中。
示例:/lambda/planning/serverless.yml
service: "planning"
provider: ${file(../../serverless.yml):provider}
functions:
planning:
handler: ./index.handler
name: ${self:provider.stage}-planning
description: Handles the Planning of every teacher.
memorySize: 128
我收到以下错误:
Serverless Error ---------------------------------------
The specified provider "[object Object]" does not exist.
Get Support --------------------------------------------
Docs: docs.serverless.com
Bugs: github.com/serverless/serverless/issues
Issues: forum.serverless.com
Your Environment Information ---------------------------
Operating System: win32
Node Version: 12.14.1
Framework Version: 1.61.2
Plugin Version: 3.2.7
SDK Version: 2.2.1
Components Core Version: 1.1.2
Components CLI Version: 1.4.0
我想我可以参考整个 属性。这可能吗?我究竟做错了什么?
谢谢:)
当从项目目录外部导入文件时,无服务器变得疯狂。
要解决此问题,您现在可以使用 projectDir:
service: "planning"
projectDir: ../..
provider: ${file(../../serverless.yml):provider}
functions:
planning:
handler: ./index.handler
name: ${self:provider.stage}-planning
description: Handles the Planning of every teacher.
memorySize: 128
我在使用无服务器时面临的最大挑战之一是以微服务方式部署 AWS Lambda 函数(每个 lambda 单独 - 我已经尝试过单独的包、Webpack 等等...... ).
我目前正在将我的无服务器应用程序分解为多个子无服务器文件,并且我正在尝试引用一个主配置无服务器文件。我想继承整个对象树,这样我就不必一一重新键入它们(此外,如果有更改,我可以将其传播到所有 lambda)。
这是我当前的结构:
| serverless.yml
| lambda/
| /planning
| index.ts
| serverless.yml
| /generator
| index.ts
| serverless.yml
| /createStudents
| index.ts
| serverless.yml
main 无服务器文件的内容(为简洁起见省略):
## https://serverless.com/framework/docs/providers/aws/guide/serverless.yml/
service: backend-appsync
provider:
name: aws
stage: ${opt:stage, 'dev'}
runtime: nodejs10.x
region: us-east-2
## https://serverless.com/framework/docs/providers/aws/guide/iam/
## https://serverless.com/blog/abcs-of-iam-permissions/
iamRoleStatements:
- Effect: Allow
Action:
- "dynamodb:BatchGetItem"
- "dynamodb:BatchWriteItem"
- "dynamodb:ConditionCheckItem"
- "dynamodb:GetItem"
- "dynamodb:DeleteItem"
- "dynamodb:PutItem"
- "dynamodb:Query"
Resource: "arn:aws:dynamodb:us-east-2:747936726382:table/SchonDB"
我想读取整个提供者对象并将其插入到单独的 serverless.yml
文件中。
示例:/lambda/planning/serverless.yml
service: "planning"
provider: ${file(../../serverless.yml):provider}
functions:
planning:
handler: ./index.handler
name: ${self:provider.stage}-planning
description: Handles the Planning of every teacher.
memorySize: 128
我收到以下错误:
Serverless Error ---------------------------------------
The specified provider "[object Object]" does not exist. Get Support -------------------------------------------- Docs: docs.serverless.com Bugs: github.com/serverless/serverless/issues Issues: forum.serverless.com
Your Environment Information --------------------------- Operating System: win32 Node Version: 12.14.1 Framework Version: 1.61.2 Plugin Version: 3.2.7 SDK Version: 2.2.1 Components Core Version: 1.1.2 Components CLI Version: 1.4.0
我想我可以参考整个 属性。这可能吗?我究竟做错了什么? 谢谢:)
当从项目目录外部导入文件时,无服务器变得疯狂。 要解决此问题,您现在可以使用 projectDir:
service: "planning"
projectDir: ../..
provider: ${file(../../serverless.yml):provider}
functions:
planning:
handler: ./index.handler
name: ${self:provider.stage}-planning
description: Handles the Planning of every teacher.
memorySize: 128