AWS Cloudformation 包不会更新代码

AWS Cloudformation package wont update code

我有这个问题: 我已经部署了一个使用 aws cloudformation package 命令构建的 CF 函数。第一次部署工作完美。但是当它尝试更新代码时,什么也没有发生。这就是我所做的:

有没有人有过同样的经历? 我试过重命名CF文件、脚本文件和打包后的CF文件。但它仍然得到相同的结果。 这里有人 ide 我可以尝试什么吗?

CF 未打包的函数部分是这样的:

  CRFunction:
    Type: AWS::Serverless::Function
    Properties:
      Description: Convert IAM Policy into SCP
      Handler: scpfunction.lambda_handler
      Runtime: python3.9
      Timeout: 30
      MemorySize: 128
      FunctionName: !Sub SCP-Function-${SCPName}
      CodeUri: src/
      Environment:
        Variables:
          SCPName: !Ref SCPName
          Policy: !Ref IAMPolicyToConvertToSCP
          OUs: !Ref OUs
          Description: !Ref Description
      Policies:
        Statement:
          - Effect: Allow
            Action:
              - organizations:CreatePolicy
              - organizations:AttachPolicy
              - organizations:List*
              - iam:get*
            Resource: '*'

Have anyone else experienced the same?

它就是这样设计的。未检测到对源代码的更改。您必须在 CloudFormation 模板中更改 Key or Version 以部署新代码。

更新

s3://mybucket/319bd03cb3cc8d50ceb80e52bf51c53c只是你的函数代码,不是模板。要使用 s3://mybucket/319bd03cb3cc8d50ceb80e52bf51c53c 更新函数,您必须使用 AWS Lambda 控制台的 Amazon S3 location:

我解决了这个问题。 这不是与 AWS 相关的问题。 重新启动 VisualStudioCode 后,部署工作开始了。所以它与一些本地缓存或其他东西有关。 真的很奇怪,以前从来没有经历过这样的事情。