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

Ios 直接从令牌自动售货机获取凭证,ios,amazon-dynamodb,Ios,Amazon Dynamodb,在我开始之前,我要问的问题可能被认为是“新手”,但是由于时间不够,我需要帮助,无法通过提供的大多数文档找到简单的答案。 我已成功托管匿名令牌自动售货机。已尝试成功运行AWSiOSDemoTVM iOS应用程序 现在我正在尝试编写一个小应用程序,它将向dynamodb测试表插入一些记录。不幸的是,提供的AWSiOSDemoTVM没有演示任何dynamodb特性。我也试过其他例子。但是很难理解 我有下面的示例代码,如果我硬编码凭证,它将非常有用 有人能给我提供示例代码来获取AnonymousTVM客

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

现在我正在尝试编写一个小应用程序,它将向dynamodb测试表插入一些记录。不幸的是,提供的AWSiOSDemoTVM没有演示任何dynamodb特性。我也试过其他例子。但是很难理解

我有下面的示例代码,如果我硬编码凭证,它将非常有用

有人能给我提供示例代码来获取AnonymousTVM客户端返回的凭据,这样我就可以用这个替换硬编码的凭据了

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];