dynamodb增强-查询没有结果

8gsdolmq  于 2021-06-26  发布在  Java
关注(0)|答案(0)|浏览(394)

我已经实现了以下两个测试用例来测试dynamodb增强库。
测试用例1:使用表“digital#form”上的get item,pk=“form#123”和sk=“info#123”。它可以返回结果

@Test
    public void testGetItemWithPKSK() throws ExecutionException, InterruptedException {
        DynamoDbAsyncTable<DigitalFormDao> digitalformTable = dynamoDbEnhancedAsyncClient
                .table("digital_form", TableSchema.fromBean(DigitalFormDao.class));

        DigitalFormDao form = digitalformTable.getItem(
                Key.builder().partitionValue("FORM#ABC123").sortValue("INFO#ABC123").build()).get();

        System.out.println(form.getSk());
    }

测试用例2:对同一个表使用query,pk=“form#123”,sk以“info”开头。假设它将返回一组包含测试用例1的结果。然而,没有结果是回报。

@Test
    public void testQueryWithPKandSKBegin(){
        DynamoDbAsyncTable<DigitalFormDao> digitalformTable = dynamoDbEnhancedAsyncClient
                .table("digital_form", TableSchema.fromBean(DigitalFormDao.class));

        PagePublisher<DigitalFormDao> digitalForms = digitalformTable.query(
                r -> r.queryConditional(
                    sortBeginsWith(k -> k.partitionValue("FORM#ABC123").sortValue("INFO"))));

        AtomicInteger atomicInteger = new AtomicInteger();
        atomicInteger.set(0);

        digitalForms.subscribe(page -> {
            DigitalFormDao digitalFormDao = (DigitalFormDao) page.items().get(atomicInteger.get());
            System.out.println(digitalFormDao.getSk());
            atomicInteger.incrementAndGet();
        });
    }

我的查询语句有什么问题吗?

暂无答案!

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

相关问题