微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

超出无服务器订阅者限制

如何解决超出无服务器订阅者限制

我正在使用 serverless 框架为我管理 Lambda、DynamoDB 和 S3 资源的创建。 在 serverless.yml 中,我最初为我的 DynamoDB 表提供了一些读取和写入容量单位。然后,我将其更改为 BillingMode: PAY_PER_REQUEST,更新成功。

现在,当我更改 yaml 文件中的其他一些属性时,serverless deploy 命令会引发以下错误

An error occurred: UsersTable - Subscriber limit exceeded: Update to PayPerRequest mode are limited to once in 1 day(s). Last update at Sun Jun 13 13:36:16 UTC 2021. Next update can be made at Mon Jun 14 13:36:16 UTC 2021 (Service: AmazonDynamoDBv2; Status Code: 400; Error Code: LimitExceededException; Request ID: S4TQTVVHGVJF66Q9ASJG; Proxy: null).

我的问题是,为什么它在没有更新的情况下尝试更新 UsersTable。 AFAIK,有变更集,它们会检测资源是否有任何更改/更新。我错过了什么吗?

一个后续问题,我如何确保这种情况不再发生,因为我正处于设置基础设施的初始阶段,并且每天都会对 yaml 文件进行大量更新。

作为参考,以下是导致问题的 yaml 文件部分。

resources:
  Resources:
    UsersTable:
      Type: AWS::DynamoDB::Table
      Properties:
        TableName: ${self:custom.usersTableName}
        AttributeDeFinitions:
          - AttributeName: userId
            AttributeType: S
        KeySchema:
          - AttributeName: userId
            KeyType: HASH
        BillingMode: PAY_PER_REQUEST

解决方法

请打开 AWS 控制台并检查表设置。如果计费模式设置为按请求付费,请尝试重新部署。

如果再次失败,请提供详细说明、无服务器版本、插件信息以及可能有助于团队追踪的任何其他信息 - 然后打开错误票in the project

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。