Настройка поля User Agent или Получить параметры в S3 Lib для iOS - PullRequest
2 голосов
/ 15 декабря 2011

мы пытаемся установить несколько полей HTTP для запросов S3 приложения iOS. Мы пытаемся получить эти данные, когда читаем из настроенного журнала S3. Мы пытаемся провести различие между разными клиентами и разными версиями, получающими доступ к нашей корзине S3. Мы попробовали некоторый код, но результаты, которые нам нужны, просто не отображаются в журнале.

Для нас было бы полезно установить поле User-Agent или добавить дополнительные параметры GET в запрос. Согласно документации S3 Log , «Amazon S3 будет игнорировать параметры строки запроса, которые начинаются с« x- », но будет включать эти параметры в запись журнала доступа для запроса как часть запроса Поле URI записи журнала. " Мы попробовали это с помощью следующего кода, но казалось, что библиотека игнорирует данные:

S3GetObjectRequest* s3request = [[S3GetObjectRequest alloc] initWithKey:pdfInfo.s3Path
                                                            withBucket:[Authenticate sharedInstance].bucket];

NSString* urlstring = [NSString stringWithFormat:@"%@?X-App-Version=%@;X-App-Client=iOS", s3request.urlRequest.URL.absoluteURL, kAppVersion];
s3request.urlRequest.URL = [NSURL URLWithString:urlstring];

[s3request.urlRequest setValue:kAppVersion forHTTPHeaderField:@"X-App-Version"];
[s3request.urlRequest setValue:@"iOS" forHTTPHeaderField:@"X-App-Client"];
[s3request.urlRequest setValue:[NSString stringWithFormat:@"App-IOS/%@ Alpha", kAppVersion] forHTTPHeaderField:@"USER_AGENT"];

Затем мы попытались установить поле User Agent, например:

AmazonS3Client *s3 = [[AmazonS3Client alloc] initWithAccessKey:[Authenticate sharedInstance].accessKey
     withSecretKey:[Authenticate sharedInstance].secretKey];

s3.userAgent = [NSString stringWithFormat:@"%@ X-App-Version %@", s3.userAgent, kAppVersion];

Мы не могли видеть данные, отображаемые в журналах. У кого-нибудь есть опыт выполнения любого из этих? Спасибо.

...