首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在多个无服务器文件中引用整个属性- [ Object ]不存在

在多个无服务器文件中引用整个属性- [ Object ]不存在
EN

Stack Overflow用户
提问于 2020-01-18 12:05:41
回答 1查看 1.1K关注 0票数 9

使用无服务器时,我面临的最大挑战之一是如何以微服务的方式部署AWS Lambda函数(每个lambda单独--我已经尝试过单独的包,Webpack等等)。

我目前正在将我的无服务器应用程序分解成多个子服务器文件,并且我正在尝试引用一个主配置无服务器文件。我想继承整个对象树,这样我就不必一个一个地重新输入它们(另外,如果有变化,我可以在所有lambdas中传播它)。

以下是我目前的结构:

代码语言:javascript
复制
| serverless.yml
| lambda/
|       /planning
|                index.ts
|                serverless.yml
|       /generator
|                index.ts
|                serverless.yml
|       /createStudents
|                index.ts
|                serverless.yml

无服务器文件的内容(为了简洁起见而提交):

代码语言:javascript
复制
## 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"

我想读取整个provider对象并将其插入到单个serverless.yml文件中。

示例:/lambda/planning/serverless.yml

代码语言:javascript
复制
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

我得到以下错误:

服务器无错误

指定的提供程序“对象”不存在。获得支持

您的环境信息.1.2组件CLI版本: 1.4.0

我想我可以参考整个财产。这个是可能的吗?我做错了什么?谢谢:)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-06-13 12:18:04

当从项目目录外部导入文件时,Serverless会崩溃。要解决这个问题,现在可以使用projectDir:

代码语言:javascript
复制
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
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59800426

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档