【问题标题】:DynamoDB table not created in serverless.yml fileDynamoDB 表未在 serverless.yml 文件中创建
【发布时间】:2018-12-18 03:32:54
【问题描述】:

在运行sls offline start 并尝试访问用户端点后收到错误cannot do operation on a non-existent table。 serverless.yml 文件如下:

service: 
  name: digital-secret

plugins:
  - serverless-dynamodb-local
  - serverless-offline # must be last in the list

custom:
  userTableName: 'users-table-${self:provider.stage}'
  dynamoDb:
    start:
      migrate: true

provider:
  name: aws
  runtime: nodejs8.10
  stage: dev
  region: us-east-2
  iamRoleStatements:
    - Effect: Allow
      Action:
        - 'dynamodb:Query'
        - 'dynamodb:Scan'
        - 'dynamodb:GetItem'
        - 'dynamodb:PutItem'
        - 'dynamodb:UpdateItem'
        - 'dynamodb:DeleteItem'
      Resource:
        - { "Fn::GetAtt": ["usersTable", "Arn"] }
  environment:
    USERS_TABLE: ${self:custom.userTableName}

functions:
  app:
    handler: index.handler
    events:
      - http: ANY /
      - http: 'ANY {proxy+}'
  user:
    handler: index.handler
    events:
      - http: 'GET /users/{proxy+}'
      - http: 'POST /users'

resources:
  Resources:
    usersTable:
      Type: 'AWS::DynamoDB::Table'
      Properties:
        TableName: ${self:custom.userTableName}
        AttributeDefinitions:
          - AttributeName: userId
            AttributeType: S
        KeySchema:
          - AttributeName: userId
            KeyType: HASH
        ProvisionedThroughput:
          ReadCapacityUnits: 1
          WriteCapacityUnits: 1

谁能帮忙指出这里有什么问题?我浏览了文档和在线提供的许多不同示例,但我所看到的与上面的没有什么不同。

【问题讨论】:

    标签: amazon-dynamodb serverless-framework


    【解决方案1】:

    serverless-dynamodb-local 文档说custom 块的结构应该是这样的:

    custom:
      dynamodb:
        start:
          migrate: true
    

    你有dynamoDb而不是dynamodb

    【讨论】:

      【解决方案2】:

      如果其他人对此有疑问,我花了几个小时试图找出这个问题,这是因为我无意中在 serverless.yml 中的 [r]esources 部分遇到了错误

      Resources:    <-- Needs to be lower case 'r'
        Resources:
          usersTable:
            Type: 'AWS::DynamoDB::Table'
            Properties:
        ...
      

      【讨论】:

        猜你喜欢
        • 2018-04-29
        • 1970-01-01
        • 2023-01-07
        • 1970-01-01
        • 2017-11-30
        • 2018-12-03
        • 2019-02-24
        • 1970-01-01
        • 2017-06-10
        相关资源
        最近更新 更多