键上的条件数无效

j2qf4p5b  于 2021-07-13  发布在  Java
关注(0)|答案(0)|浏览(249)

当我试图在dynamodb中插入一个记录时,我得到了下面的错误。我正在使用SpringBoot和SpringDataDynamodB
密钥上的条件数无效(服务:amazondynamodbv2;状态码:400;错误代码:validationexception
表创建脚本:
aws dynamodb create table--表名partner\u signup--属性定义attributename=partner\u id,attributetype=s attributename=partner\u type,attributetype=s--密钥架构attributename=partner\u id,keytype=hash attributename=partner\u type,keytype=range--配置吞吐量readcapacityunits=1,writecapacityunits=1—端点urlhttp://localhost:8181

  1. @DynamoDBTable(tableName = "partner_signup")
  2. public class PartnerSignup {
  3. @Id
  4. @DynamoDBIgnore
  5. private ProductSignupId productSignupId;
  6. private String partnerId;
  7. private String partnerType;
  8. private String partnerName;
  9. public ProductSignupId getProductSignupId() {
  10. return productSignupId;
  11. }
  12. public void setProductSignupId(ProductSignupId productSignupId) {
  13. this.productSignupId = productSignupId;
  14. }
  15. @DynamoDBHashKey(attributeName = "partner_id")
  16. //@DynamoDBAutoGeneratedKey
  17. public String getPartnerId() {
  18. return productSignupId != null ? productSignupId.getPartnerId() : null;
  19. }
  20. public void setPartnerId(String partnerId) {
  21. this.partnerId = partnerId;
  22. }
  23. @DynamoDBAttribute(attributeName = "partner_type")
  24. //@DynamoDBRangeKey(attributeName = "partner_type")
  25. public String getPartnerType() {
  26. return productSignupId != null ? productSignupId.getPartnerType() : null;
  27. }
  28. public void setPartnerType(String partnerType) {
  29. this.partnerType = partnerType;
  30. if (productSignupId == null) {
  31. productSignupId = new ProductSignupId();
  32. }
  33. productSignupId.setPartnerType(partnerType);
  34. }
  35. @DynamoDBAttribute
  36. public String getPartnerName() {
  37. return partnerName;
  38. }
  39. public void setPartnerName(String partnerName) {
  40. this.partnerName = partnerName;
  41. }
  42. }
  43. @DynamoDBDocument
  44. public class ProductSignupId {
  45. private String partnerId;
  46. private String partnerType;
  47. public ProductSignupId(String partnerId, String partnerType) {
  48. this.partnerId = partnerId;
  49. this.partnerType = partnerType;
  50. }
  51. public ProductSignupId() {
  52. }
  53. @DynamoDBHashKey(attributeName = "partner_id")
  54. public String getPartnerId() {
  55. return partnerId;
  56. }
  57. public void setPartnerId(String partnerId) {
  58. this.partnerId = partnerId;
  59. }
  60. @DynamoDBRangeKey(attributeName = "partner_type")
  61. public String getPartnerType() {
  62. return partnerType;
  63. }
  64. public void setPartnerType(String partnerType) {
  65. this.partnerType = partnerType;
  66. }
  67. }
  68. @Repository
  69. @EnableScan
  70. public interface PartnerSignupRepository extends CrudRepository<PartnerSignup, ProductSignupId> {
  71. }
  72. @PostMapping("/partners")
  73. public PartnerSignup createPartner(@RequestBody PartnerSignupVO partnerSignupVO) {
  74. UUID key = UUID.randomUUID();
  75. PartnerSignup newPartnerSignup = new PartnerSignup();
  76. ProductSignupId id = new ProductSignupId(key.toString(),partnerSignupVO.getPartnerType());
  77. newPartnerSignup.setProductSignupId(id);
  78. newPartnerSignup.setPartnerName(partnerSignupVO.getPartnerName());
  79. repository.save(newPartnerSignup);
  80. return newPartnerSignup;
  81. }

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题