直接从令牌自动售货机获取凭证

时间:2014-04-09 18:29:29

标签: ios amazon-dynamodb

在我开始之前,我会问的问题可能会被认为是“新手”,但是由于时间不够,我需要帮助,而且无法通过提供的大多数文档找到简单的答案。 我成功托管了匿名令牌自动售货机。尝试成功运行AWSiOSDemoTVM iOS应用程序。

现在我正在尝试编写一个小应用程序,它会将少量记录插入到dynamodb测试表中。不幸的是,提供的AWSiOSDemoTVM没有展示任何动力学特征。我也试过其他的例子。但很难理解。

我有以下示例代码,如果我对凭据进行硬编码,效果很好。

任何人都可以提供示例代码来获取AnonymousTVM client返回的凭据,以便我可以用此替换硬编码凭据。

AmazonCredentials *creds = [[AmazonCredentials alloc] initWithAccessKey:MY_ACCESS_KEY_ID withSecretKey:MY_SECRET_KEY];
AmazonDynamoDBClient *ddb = [[AmazonDynamoDBClient alloc] initWithCredentials:creds];
NSString *ddbendpoint = [AmazonEndpoints ddbEndpoint:US_WEST_2];

DynamoDBPutItemRequest *putItemRequest = [DynamoDBPutItemRequest new];
[putItemRequest setRequestEndpoint:ddbendpoint];
putItemRequest.tableName = @"UserTable";

DynamoDBAttributeValue *value = [[DynamoDBAttributeValue alloc] initWithN:@"1006"];
[putItemRequest.item setValue:value forKey:@"UserId"];

value = [[DynamoDBAttributeValue alloc] initWithS:@"Recod-No-6"];
[putItemRequest.item setValue:value forKey:@"RecordId"];

value = [DynamoDBAttributeValue new];
[value addSS:@"Green"];
[value addSS:@"Red"];
[value addSS:@"Black"];
[putItemRequest.item setValue:value forKey:@"Colors"];

@try {
    DynamoDBPutItemResponse *putItemResponse = [ddb putItem:putItemRequest];
    NSLog(@"Consumed write capacity for putItem: %d", [putItemResponse.consumedCapacity.capacityUnits integerValue]);
    NSLog(@"putItem httpStatusCode: %d",putItemResponse.httpStatusCode);
}
@catch (DynamoDBResourceNotFoundException *exception)
{
    NSLog(@"%@",exception.errorCode);
}

更新: -

我找到了以下获取凭据的方法。 这是对的吗?

AmazonCredentials *credentials = [AmazonKeyChainWrapper getCredentialsFromKeyChain];
if (! credentials){
    NSLog(@"-----> no credentials");
    [AmazonClientManager validateCredentials];
    credentials = [AmazonKeyChainWrapper getCredentialsFromKeyChain];
}

//NSLog(@"  %@",credentials.access) ;
AmazonDynamoDBClient *ddb = [[AmazonDynamoDBClient alloc] initWithCredentials:credentials];
ddb.endpoint = [AmazonEndpoints ddbEndpoint:US_WEST_2];

0 个答案:

没有答案