AWS DynamoDB Batch Get Request - iOS(AWS DynamoDB 批量获取请求 - iOS)
问题描述
我可以对 AWS dynamoDB 中的单个表执行简单的 Get
请求,但是当我将其扩展为跨多个表的批处理请求时,我继续收到错误
I can perform a simple Get
request on a singular table within AWS dynamoDB however when I expand it to a Batch Request across multiple tables I continue to get a error
validation error detected: Value null at 'requestItems.rip.member.keys' failed to satisfy constraint
我理解这是因为值没有正确传递,但我看不出我的代码有什么问题
I understand this as the values not being passed correctly but I can't see what the issue is with my code
//Create Request Values
AWSDynamoDBGetItemInput *getItem = [AWSDynamoDBGetItemInput new];
AWSDynamoDBAttributeValue *hashValue = [AWSDynamoDBAttributeValue new];
hashValue.S = @"User Test";
getItem.key = @{@"ripId": hashValue};
//Create Request Values 2
AWSDynamoDBGetItemInput *getItem2 = [AWSDynamoDBGetItemInput new];
AWSDynamoDBAttributeValue *hashValue2 = [AWSDynamoDBAttributeValue new];
hashValue2.S = @"User Test";
getItem2.key = @{@"chat": hashValue2};
//Combine to Batch Request
AWSDynamoDBBatchGetItemInput * batchFetch = [AWSDynamoDBBatchGetItemInput new];
batchFetch.requestItems = @{ @"rip": getItem,
@"chat": getItem,};
[[dynamoDB batchGetItem:batchFetch] continueWithBlock:^id(BFTask *task) {
if (!task.error) {
NSLog(@"BOY SUCCES");
} else {
NSLog(@" NO BOY SUCCESS %@",task.error);
}
return nil;
}];
在互联网上到处搜索,但看不到使用 iOS Objective C(或 swift)的批处理请求的工作示例.
Searched the internet high and low but cannot see a working example of a batch request using iOS Objective C (or swift for that matter).
我在单个 Get
请求中测试了这两个变量,它们都可以工作.
I have tested both variables on a single Get
request and they both work.
推荐答案
您忘记在 AWSDynamoDBKeysAndAttributes
中环绕 AWSDynamoDBAttributeValue
.这是一个来自 AWSDynamoDBTests.m的简单示例一个>:
You forgot to wrap around AWSDynamoDBAttributeValue
in AWSDynamoDBKeysAndAttributes
. Here is a simple example from AWSDynamoDBTests.m:
AWSDynamoDBKeysAndAttributes *keysAndAttributes = [AWSDynamoDBKeysAndAttributes new];
keysAndAttributes.keys = @[@{@"hashKey" : attributeValue1},
@{@"hashKey" : attributeValue2}];
keysAndAttributes.consistentRead = @YES;
AWSDynamoDBBatchGetItemInput *batchGetItemInput = [AWSDynamoDBBatchGetItemInput new];
batchGetItemInput.requestItems = @{table1Name: keysAndAttributes};
这篇关于AWS DynamoDB 批量获取请求 - iOS的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:AWS DynamoDB 批量获取请求 - iOS
基础教程推荐
- UIWebView 委托方法 shouldStartLoadWithRequest:在 WKWebView 中等效? 2022-01-01
- 当从同一个组件调用时,两个 IBAction 触发的顺序是什么? 2022-01-01
- 如何在 iPhone 上显示来自 API 的 HTML 文本? 2022-01-01
- Android:对话框关闭而不调用关闭 2022-01-01
- 如何让对象对 Cocos2D 中的触摸做出反应? 2022-01-01
- 在 gmail 中为 ios 应用程序检索朋友的朋友 2022-01-01
- android 应用程序已发布,但在 google play 中找不到 2022-01-01
- 如何在没有IB的情况下将2个按钮添加到右侧的UINavigationbar? 2022-01-01
- Kivy Buildozer 无法构建 apk,命令失败:./distribute.sh -m “kivy"d 2022-01-01
- 如何在 UIImageView 中异步加载图像? 2022-01-01