Je tente de créer une application à l'aide d'AWS Dynamo Db, je voulais interroger ou analyser ma base de données, mais je suis capable de numériser la base de données en utilisant un seul paramètre, mais je suis incapable d'interroger la base de données en utilisant un tableau. Par exemple, j'ai une table user details
dans ma base de données, avec une clé primaire UserID
. Je veux obtenir quelques lignes avec leur UserID
stockées dans un tableau.Requête base de données AWS Dynamo Db à l'aide d'un tableau
Voici le code que j'ai essayé d'utiliser mais cela ne fonctionne pas pour moi. Quelqu'un peut-il m'aider s'il vous plaît? Merci.
NSArray *Array = [[NSArray alloc]initWithObjects:@"001", nil];
NSMutableDictionary *Diction = [NSMutableDictionary dictionary];
[Diction setObject:[NSString stringWithFormat:@"%@",Array]
forKey:@":val"];
AWSDynamoDBObjectMapper *dynamoDBObjectMapper =
[AWSDynamoDBObjectMapper defaultDynamoDBObjectMapper];
UserDetails_Male *User = [UserDetails_Male new];
AWSDynamoDBScanExpression *scanExpression = [AWSDynamoDBScanExpression
new];
scanExpression.filterExpression = @"UserID = :val";
scanExpression.expressionAttributeValues = @{@":val":Array};
[[dynamoDBObjectMapper scan:[User class]
expression:scanExpression]
continueWithBlock:^id(AWSTask *task) {
if (task.error) {
NSLog(@"The request failed. Error: [%@]", task.error);
} else {
AWSDynamoDBPaginatedOutput *paginatedOutput = task.result;
for (UserDetails_Male *book in paginatedOutput.items) {
//Do something with book.
NSLog(@"Data: %@",book);
}
}
return nil;
}];
-(void)BatchReq{
AWSDynamoDBKeysAndAttributes * keysAndAttributes = [
AWSDynamoDBKeysAndAttributes new ];
AWSDynamoDBAttributeValue * attributeValue2 = [
AWSDynamoDBAttributeValue new ];
attributeValue2.SS = Array;
keysAndAttributes.keys = @[ @{ @"UserId" :
attributeValue1 }, ];
keysAndAttributes.consistentRead = @YES;
AWSDynamoDBBatchGetItemInput * batchGetItemInput = [
AWSDynamoDBBatchGetItemInput new ];
batchGetItemInput.requestItems = @{ @"DynamoDB-OM-Sample"
: keysAndAttributes };
AWSDynamoDB * awsDynamoDB = [ AWSDynamoDB defaultDynamoDB
];
[ [ awsDynamoDB batchGetItem: batchGetItemInput ]
continueWithExecutor: [ AWSExecutor mainThreadExecutor ]
withBlock:^id (AWSTask * task) {
if (task.result) {
NSLog (@"it's working!!");
}
else {
NSLog (@"not working... ");
}
return nil;
} ];
Hey merci beaucoup pour répondre, je modifié ma question et ajoute la fonction BatchReq, serait que le travail de code.? ou devrait utiliser une boucle for pour créer plusieurs attributs et les passer en tant que clés. – Arnvfx
Je connais peu de choses sur Objective-C ou Swift. Donc, je ne peux pas être en mesure de vous aider avec le code. Je peux vous indiquer la bonne approche. –
Hey l'opération par lots a fonctionné parfaitement, merci – Arnvfx