首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Serverless无法解析变量

Serverless无法解析变量
EN

Stack Overflow用户
提问于 2022-09-30 08:54:28
回答 1查看 352关注 0票数 0

我想从外部JS函数的结果中获得一个param,但是我检索了这个错误:

代码语言:javascript
复制
Cannot resolve serverless.yml: Variables resolution errored with:
  - Cannot resolve variable at "resources.Resources.FileBucket.Properties.BucketName": Value not found at "file" source

这是我的(一块)无服务器文件:

代码语言:javascript
复制
service: backend-uploader
frameworkVersion: '3'
variablesResolutionMode: 20210326

provider:
  name: aws
  runtime: nodejs16.x
  region: eu-west-1

resources:
  Resources:
    FileBucket:
      Type: AWS::S3::Bucket
      DeletionPolicy: Retain
      Properties:
        BucketName: ${file(./unique-bucket-name.cjs):bucketName} 

这是我的文件在同一个目录中的唯一-桶-name.cjs:

代码语言:javascript
复制
module.export = async function () {
  return { bucketName: 'something' }
}

我尝试过使用self并将文件导入为custom,但错误仍然存在。我试着用一个Json来做同样的回应,而且效果很好。

为什么我的JS文件不能从无服务器状态下提取?

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2022-10-19 09:11:09

从技术上讲,使用JSON文件来存储变量和使用cjs并没有太大的区别。看起来内部Serverless有一些逻辑来解析文件并获取值

无服务器文档指向使用JSON文件:

代码语言:javascript
复制
${file(./config.${opt:stage, 'dev'}.json):CREDS}

但是,我也看到了一些人引用YML文件的示例

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73906239

复制
相关文章

相似问题

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