yaml - 无服务器部署返回存储桶已存在

标签 yaml aws-cloudformation serverless-framework aws-serverless

我有一个无服务器功能,用于将图像上传到离线工作的预先存在的存储桶,但是当我尝试部署时,我要么得到...

发生错误:ImageUploadBucket - MYUNIQUEBUCKET 已存在。发生错误:IamRoleLambdaExecution - imageupload-dev-us-east-1-lambdaRole 已存在。 即使如此我正在将我的函数部署到 eu-west-1。

这是我的 YML...

...  
  iamRoleStatements:
    - Effect: "Allow"
      Action:
        - "s3:*"
      Resource: "arn:aws:s3:::MYUNIQUEBUCKET/*"
  environment:
        region: eu-west-2
        imageUploadBucket: ${self:custom.imageUploadBucket}

custom:
    region: eu-west-2
    bucketName: MYUNIQUEBUCKET
    imageUploadBucket: MYUNIQUEBUCKET
    serverless-offline:
        httpPort: 3001

plugins:
    - serverless-offline

functions:
  newImageUpload:
        handler: ImageUpload.requestUploadURL
        events:
            - http:
                path: image-upload
                method: POST
                cors: true
            - s3:
                bucket: MYUNIQUEBUCKET
                event: s3:ObjectCreated:*
                existing: true

resources:
  Resources:
    ImageUploadBucket:
      Type: AWS::S3::Bucket
      Properties:
        BucketName: MYUNIQUEBUCKET
        AccessControl: PublicRead
        CorsConfiguration:
        ...  

如果有任何建议,我将不胜感激。

最佳答案

存储桶和 IAM 角色和权限是全局的,这就是它们存在的原因。

S3 存储桶名称在所有 AWS 账户中也是唯一且全局的。

enter image description here

关于yaml - 无服务器部署返回存储桶已存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66956042/

相关文章:

amazon-web-services - "Fn::Join"在配置文件中指什么?

aws-cloudformation - 如何在 awsm.json 中拥有多个带有 GET 请求的 API 网关路径?

amazon-web-services - 在 AWS Cloudformation 中创建跨账户 IAM 角色时,如何在策略的 Condition 元素中使用 !if

image - 显示第一个 flutter 图像,但不显示第二个

aws-lambda - 无法从云形成 yaml 中的条件函数返回整数

symfony - 在routing.yml中使用parameters.yml中的数组

amazon-web-services - AWS Cognito 是否支持将用户转移到新的用户池以防止云形成模板锁定?

python - 如何解决 lambda 函数中的内部导入

amazon-web-services - 如何在route53 HostedZone中创建记录

node.js - 如何在无服务器中每分钟运行一次 cron?