【问题标题】:How to get rid of serverless "Warning: Invalid configuration encountered at root: unrecognized property 'deploymentBucket'"如何摆脱无服务器“警告:在根目录遇到无效配置:无法识别的属性'deploymentBucket'”
【发布时间】:2022-07-16 23:43:46
【问题描述】:

我有一个在无服务器框架版本 3.7.5 上运行的 Web 应用程序。每次我部署我的 lambda 函数时,我都会收到以下警告:

“警告:在根目录遇到无效配置:无法识别的属性 'deploymentBucket'”。

我已附上下面的“serverless.yml”文件以供外部审查。我对“deploymentBucket”属性的配置是否无效?我需要更改或编辑任何属性吗?

注意:部署工作正常,因为它只是一个警告,我可以继续测试我的 api 端点......我只是觉得这个警告有点麻烦,想一劳永逸地删除它。提前致谢!

这是我的 serverless.yml 文件

# Welcome to Serverless!
#
# This file is the main config file for your service.
# It's very minimal at this point and uses default values.
# You can always add more config options for more control.
# We've included some commented out config examples here.
# Just uncomment any of them to get that config option.
#
# For full config options, check the docs:
#    docs.serverless.com
#
# Happy Coding!

service: poppy-seed
# app and org for use with dashboard.serverless.com
#app: your-app-name
#org: your-org-name

# You can pin your service to only deploy with a specific Serverless version
# Check out our docs for more details
frameworkVersion: '3.7.5'

provider:
  name: aws
  runtime: java11
  timeout: 30
  lambdaHashingVersion: 20201221

# you can overwrite defaults here
#  stage: dev
#  region: us-east-1
    variable1: value1

# you can add packaging information here
package:
  artifact: build/libs/poppy-seed-dev-all.jar

functions:
  poppy-seed:
    handler: com.serverless.lambda.Handler
#    The following are a few example events you can configure
#    NOTE: Please make sure to change your handler code to work with those events
#    Check the event documentation for details
    events:
      - http:
          path: "{proxy+}"
          method: ANY
          cors: true


deploymentBucket:
  blockPublicAccess: true # Prevents public access via ACLs or bucket policies. Default is false
  skipPolicySetup: false # Prevents creation of default bucket policy when framework creates the deployment bucket. Default is false
  name: # Deployment bucket name. Default is generated by the framework
  maxPreviousDeploymentArtifacts: 5 # On every deployment the framework prunes the bucket to remove artifacts older than this limit. The default is 5
  versioning: false # enable bucket versioning. Default is false
  deploymentPrefix: serverless # The S3 prefix under which deployed artifacts should be stored. Default is serverless
  disableDefaultOutputExportNames: false # optional, if set to 'true', disables default behavior of generating export names for CloudFormation outputs
  lambdaHashingVersion: 20201221 # optional, version of hashing algorithm that should be used by the framework


plugins:
  - serverless-sam
#  Resources:
#    NewResource:
#      Type: AWS::S3::Bucket
#      Properties:
#        BucketName: my-new-bucket
#  Outputs:
#     NewOutput:
#       Description: "Description for the output"
#       Value: "Some output value"

【问题讨论】:

    标签: aws-lambda config serverless serverless-framework compiler-warnings


    【解决方案1】:

    警告意味着 deploymentBucket 属性未被识别,因此它没有做你认为应该做的事情。

    根据serverless docs,deploymentBucket 应该是provider 下的属性而不是根属性。

    【讨论】:

    • 嗨@NoelLlevares。非常感谢你的回复。我按照文档的建议做了,并将deploymentBucket 属性移到provider 下,从而清除了警告
    【解决方案2】:

    我可以通过将deploymentBucket 属性移动到provider 下而不是将其注册为根属性来消除此警告。下面附上修改后的 serverless.yml 文件:

    service: poppy-seed
    
    provider:
      name: aws
      runtime: java11
      timeout: 30
      lambdaHashingVersion: 20201221 
      deploymentBucket:
        blockPublicAccess: true 
        skipPolicySetup: false 
        name: poppy-seed
        maxPreviousDeploymentArtifacts: 5
        versioning: false # enable bucket versioning. Default is false
    
    
    package:
      artifact: build/libs/poppy-seed-dev-all.jar
    
    functions:
      poppy-seed:
        handler: com.serverless.lambda.Handler
    
    
    events:
      - http:
          path: "{proxy+}"
          method: ANY
          cors: true
    
    plugins:
      - serverless-sam
    

    还请阅读serverless documentation 以获得更清晰的信息。再次感谢@NoelLlevares 的提示。

    【讨论】:

      猜你喜欢
      • 2023-02-01
      • 2016-11-20
      • 2022-12-31
      • 2018-04-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多