мы пытаемся установить несколько полей 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];
Мы не могли видеть данные, отображаемые в журналах. У кого-нибудь есть опыт выполнения любого из этих? Спасибо.