【问题标题】:Serverless DynamoDB not showing in AWS Management Console无服务器 DynamoDB 未显示在 AWS 管理控制台中
【发布时间】:2023-03-23 00:17:02
【问题描述】:

我正在学习使用无服务器框架来创建和管理 AWS 服务。我已经通过 Serverless 站点上的文档逐步部署了一个 Serverless 项目,但由于某种原因,我无法在 AWS 管理控制台中看到 DynamoDB 表。

我已检查我使用的 AWS 配置文件是否正确,当我从终端使用 cURL 时,我能够从表中发布和获取数据,并且能够在这些端点查看数据在浏览器中,但我无法在 serverless.yml 文件之外的任何地方看到对创建表的任何引用。这是为什么?请参阅下面的代码(此链接上的完整演示 repo:https://github.com/serverless/examples/tree/master/aws-node-rest-api-with-dynamodb)。

感谢您在此处了解细微差别的帮助。谢谢!


org: justinbell714
app: jb-test-from-docs
service: serverless-rest-api-with-dynamodb

frameworkVersion: ">=1.1.0 <2.0.0"

provider:
  name: aws
  runtime: nodejs10.x
  environment:
    DYNAMODB_TABLE: ${self:service}-${opt:stage, self:provider.stage}
  iamRoleStatements:
    - Effect: Allow
      Action:
        - dynamodb:Query
        - dynamodb:Scan
        - dynamodb:GetItem
        - dynamodb:PutItem
        - dynamodb:UpdateItem
        - dynamodb:DeleteItem
      Resource: "arn:aws:dynamodb:${opt:region, self:provider.region}:*:table/${self:provider.environment.DYNAMODB_TABLE}"

functions:
  create:
    handler: todos/create.create
    events:
      - http:
          path: todos
          method: post
          cors: true

  list:
    handler: todos/list.list
    events:
      - http:
          path: todos
          method: get
          cors: true

  get:
    handler: todos/get.get
    events:
      - http:
          path: todos/{id}
          method: get
          cors: true

  update:
    handler: todos/update.update
    events:
      - http:
          path: todos/{id}
          method: put
          cors: true

  delete:
    handler: todos/delete.delete
    events:
      - http:
          path: todos/{id}
          method: delete
          cors: true

resources:
  Resources:
    TodosDynamoDbTable:
      Type: 'AWS::DynamoDB::Table'
      DeletionPolicy: Retain
      Properties:
        AttributeDefinitions:
          -
            AttributeName: id
            AttributeType: S
        KeySchema:
          -
            AttributeName: id
            KeyType: HASH
        ProvisionedThroughput:
          ReadCapacityUnits: 1
          WriteCapacityUnits: 1
        TableName: ${self:provider.environment.DYNAMODB_TABLE}

【问题讨论】:

  • 确保创建表格的区域是您在 AWS 控制台中选择的区域。
  • 哇。非常感谢马克。当我为弗吉尼亚(也是美国东部)进行简介时,我没有意识到我已经切换了俄亥俄(美国东部)。如果您想将您的评论分成一个单独的问题,我很乐意投票并选择最佳答案。
  • 这可能不是你的错。 AWS 控制台倾向于为您切换区域。至少在我看来,us-east-1 用户似乎会定期进入 us-east-2。甚至还有一个方便的 Firefox 插件,可以根据当前区域为控制台标题着色:addons.mozilla.org/en-US/firefox/addon/…
  • 哈哈。可能只需要获取一个类似的插件并感谢@jarmod 的提醒!

标签: amazon-web-services aws-lambda amazon-dynamodb serverless


【解决方案1】:

确保创建表的区域是您在 AWS 控制台中选择的区域。

【讨论】:

  • 总是这样 :-(
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多