Я скачал пример пользовательских настроек (для Xcode) с сайта Amazon. Я вставил свои ключи в код, как и просили. Затем запустите приложение. Предполагается создать таблицу с именем TestUserPrefence. Кажется, в приложении это делается правильно, потому что приложение работает нормально после создания таблицы и вставки данных; однако, когда вы заходите в консоль AWS для DynamoDB, таблица не создается. Кроме того, когда я выхожу из приложения и запускаю его снова, таблица исчезает, и мне приходится создавать ее заново.
Итак, как мне добавить таблицы в target c, которые остаются и видны в консоли aws?
Вот код, который должен создавать таблицы (скопирован из примера).
#define TEST_TABLE_NAME @"TestUserPreference"
#define TEST_TABLE_HASH_KEY @"userNo"
+(void)createTable
{
DynamoDBCreateTableRequest *createTableRequest = [[DynamoDBCreateTableRequest new] autorelease];
DynamoDBProvisionedThroughput *provisionedThroughput = [[DynamoDBProvisionedThroughput new] autorelease];
provisionedThroughput.readCapacityUnits = [NSNumber numberWithInt:10];
provisionedThroughput.writeCapacityUnits = [NSNumber numberWithInt:5];
DynamoDBKeySchemaElement *keySchemaElement = [[[DynamoDBKeySchemaElement alloc] initWithAttributeName:TEST_TABLE_HASH_KEY
andKeyType:@"HASH"] autorelease];
DynamoDBAttributeDefinition *attributeDefinition = [[DynamoDBAttributeDefinition new] autorelease];
attributeDefinition.attributeName = TEST_TABLE_HASH_KEY;
attributeDefinition.attributeType = @"N";
createTableRequest.tableName = TEST_TABLE_NAME;
createTableRequest.provisionedThroughput = provisionedThroughput;
[createTableRequest addKeySchema:keySchemaElement];
[createTableRequest addAttributeDefinition:attributeDefinition];
DynamoDBCreateTableResponse *response = [[AmazonClientManager ddb] createTable:createTableRequest];
if(response.error != nil)
{
[AmazonClientManager wipeCredentialsOnAuthError:response.error];
NSLog(@"Error: %@", response.error);
}
}
Дополнительная информация: я обнаружил, что таблица создается на другом сервере (по какой-то причине в Северной Вирджинии), а не на том, который я просматривал на консоли (по умолчанию в Орегоне). Очевидно, вам нужно создать таблицу в консоли на сервере, который будет использовать ваше приложение; однако, похоже, нет способа установить это.