0

私は初めてDynamoDBで、S3オブジェクトと照合するキー文字列を保存するために使用したいと思います。文字列をアップロードするための私のコードは次のとおりです。

AmazonCredentials *amazonCreds = [[AmazonCredentials alloc] initWithAccessKey:ACCESS_KEY_ID withSecretKey: SECRET_KEY];

AmazonDynamoDBClient *dClient = [[AmazonDynamoDBClient alloc] initWithCredentials: amazonCreds];

[dClient setEndpoint: [AmazonEndpoints s3Endpoint:AP_SOUTHEAST_1 secure: YES]];

NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:
                          [[DynamoDBAttributeValue alloc] initWithS: req.key],
                          @"QuoteKey",
                          nil];

DynamoDBPutItemRequest *dReq = [[DynamoDBPutItemRequest alloc] initWithTableName:@"TestQuotesTable" andItem: [dict mutableCopy]];
DynamoDBPutItemResponse *dRes = [dClient putItem: dReq];

しかし、コンソールに移動してテーブルに入ると、アイテムがアップロードされません....コードに問題があります。最初にデフォルトのキー/属性名でテーブルを作成したときDynamoDBは「QuoteKey」なので、すべて問題ないはずです。

私のコードに何か問題がありますか?ありがとう

4

1 に答える 1

2

クライアントのエンドポイントをDynamoDBではなくS3エンドポイントに設定しています。交換する必要があります:

[dClient setEndpoint: [AmazonEndpoints s3Endpoint:AP_SOUTHEAST_1 secure: YES]];

次のように:

[dClient setEndpoint: [AmazonEndpoints ddbEndpoint:AP_SOUTHEAST_1 secure: YES]];
于 2012-12-17T17:42:12.477 に答える