当前位置: 首页 > 知识库问答 >
问题:

Serverless.ymlDynamoDB错误验证异常:提供的项键列表包含重复项

国高杰
2023-03-14

我在serverless.yml配置文件中不断遇到以下错误。“无服务器:DynamoDB-创建的表事务

验证异常 ------------------------------------

验证异常:提供的项键列表包含重复项”可能是什么问题?这是整个. yml文件。谢谢...!


service: dynamo
useDotenv: true
configValidationMode: error
frameworkVersion: ^2.52.0

provider:
  name: aws
  runtime: nodejs12.x
  stage: dev
  region: us-east-1
  lambdaHashingVersion: 20201221

custom:
  dynamodb:
    stages:
      - dev
    start:
      port: 8000
      inMemory: true
      heapInitial: 200m
      heapMax: 1g
      migrate: true
      seed: true
      convertEmptyValues: true
    seed:
      dev:
        sources:
          - table: transactions
            sources: [./txs.json]
  
functions:
  app:
    handler: index.handler
    events:
      - http:
          path: transactions
          method: get
  UI:
    handler: index.handler
    events:
      - http: 
          path: UI
          method: get

resources:
  Resources:
    transactionsTable:
      Type: AWS::DynamoDB::Table
      Properties:
        TableName: transactions
        AttributeDefinitions:
          - AttributeName: country
            AttributeType: S
          - AttributeName: createdAt
            AttributeType: N
        KeySchema:
          - AttributeName: country
            KeyType: HASH  
          - AttributeName: createdAt
            KeyType: RANGE
        ProvisionedThroughput:
          ReadCapacityUnits: 1
          WriteCapacityUnits: 1
        GlobalSecondaryIndexes:
          - IndexName: country_created_at_index
            KeySchema:
              - AttributeName: country
                KeyType: HASH
              - AttributeName: createdAt
                KeyType: RANGE
            Projection:
              ProjectionType: ALL
            ProvisionedThroughput:
              ReadCapacityUnits: 1
              WriteCapacityUnits: 1

plugins:
  - serverless-dynamodb-local
  - serverless-offline
  - serverless-bundle

共有2个答案

叶福
2023-03-14

修正了它:玩了Local二级索引,直到我做到了这一点。

service: dynamo
useDotenv: true
configValidationMode: error
frameworkVersion: ^2.52.0

provider:
  name: aws
  runtime: nodejs12.x
  stage: dev
  region: us-east-1
  lambdaHashingVersion: 20201221

custom:
  dynamodb:
    stages:
      - dev
    start:
      port: 8000
      inMemory: true
      heapInitial: 200m
      heapMax: 1g
      migrate: true
      seed: true
      convertEmptyValues: true
    seed:
      dev:
        sources:
          - table: transactions
            sources: [./txs.json]
  
functions:
  app:
    handler: index.handler
    events:
      - http:
          path: transactions/
          method: get
  ui:
    handler: index.handler
    events:
      - http: 
          path: ui/
          method: get

resources:
  Resources:
    transactionsTable:
      Type: AWS::DynamoDB::Table
      Properties:
        TableName: transactions
        AttributeDefinitions:
          - AttributeName: id
            AttributeType: S
          - AttributeName: country
            AttributeType: S
          - AttributeName: createdAt
            AttributeType: N
        KeySchema:
          - AttributeName: id
            KeyType: HASH  
          - AttributeName: createdAt
            KeyType: RANGE
        ProvisionedThroughput:
          ReadCapacityUnits: 1
          WriteCapacityUnits: 1
        LocalSecondaryIndexes:
        - IndexName: id_index
          KeySchema: 
          - AttributeName: id
            KeyType: HASH
          - AttributeName: country
            KeyType: RANGE
          Projection: 
            ProjectionType: ALL
        GlobalSecondaryIndexes:
          - IndexName: country_created_at_index
            KeySchema:
              - AttributeName: country
                KeyType: HASH
              - AttributeName: createdAt
                KeyType: RANGE
            Projection:
              ProjectionType: ALL
            ProvisionedThroughput:
              ReadCapacityUnits: 1
              WriteCapacityUnits: 1

plugins:
  - serverless-dynamodb-local
  - serverless-offline
  - serverless-bundle
赵夕
2023-03-14

您的globalsecondaryindex具有与主表完全相同的键。您需要不同的密钥对。否则,globalsecondaryindex就没有意义了。

 类似资料:
  • 创建一个新的android项目后,Eclipse会自动创建一个“appcompat_v7”项目,在/src下没有任何文件。但它显示了样式错误。下一行是styles.xml中的第18行。 样式名称=“Widget.MediaRouter.MediaRouteButton” 父=“Widget.AppCompat.ActionButton” 我不知道Eclipse如何或为什么创建这个项目。 我是And

  • 问题内容: a = [1,1,1,2,3,4,4] >>> b = [1,1,2,3,3,3,4] 请注意,这不是一个相同的问题: 两个列表的Python交集保持重复 因为即使列表a中有三个1,列表b中也只有两个,所以结果应该只有两个。 问题答案: 您可以使用此方法,当您使用交叉路口时,它将为每个元素提供在任一列表中找到的最低计数。 输出 :

  • 本文向大家介绍Python中包含重复项的两个列表的区别,包括了Python中包含重复项的两个列表的区别的使用技巧和注意事项,需要的朋友参考一下 有时我们需要找出两个列表之间的差异。这还将意味着数学减法,其中如果第二列表中存在元素,则将其从第一列表中删除。重复项将保留。以下是我们可以实现此目标的方法。 我们可以使用collections模块中的Counter方法,该方法将跟踪元素的计数。直接的数学减

  • 我试图捕捉图像使用相机意图并将其发送到服务器。 我遵循了官方https://developer.android.com/training/camera/photobasics 但是在使用FileProvider从filepath获取Uri时出现异常。 我有个例外 无法找到包含 /storage/emulated/0/Android/data/com.example.app/files/Pictur

  • 问题内容: 我正在尝试使用具有库重复键的无效结构解析json 。如果json中有重复的键,我想将它们提取为。 我要解析的示例(我要解析的实际json来自json导出): 但是,由于此json具有重复键,因此仅保留了最后一个值: 我也试过了具有支持的模块,但是它不能像预期的那样用于嵌套json对象。 将Guava模块用于之前显示的json的示例: 我应该如何使用库解决此问题?是否还有其他支持Java

  • 我有一个使用bouncycastle库的Java applet。当我在Eclipse上运行应用程序时,一切正常,但当我在带有标记的浏览器上使用applet时,当我添加安全BouncyCastleProvider时,它会引发异常。 我的stackTrace是: 我正在使用bcpkix-jdk15on-1.48.jar和bcprov-jdk15on-1.48.jar版本的BouncyCastle。为什