使用amazon ios sdk对amazon弹性转码器的Rest调用
我查看了文档,没有看到对ios弹性代码转换sdk的支持。 我的用例是将文件“videoFile.mp4”从mp4格式的“bucket1”移到转码,并再次将文件“videoFile.webm”创建回“bucket1” 如何使用AmazonSDK(代码示例)进行其余调用来完成此任务 更新: 我能做点什么,但我有另一个问题。 但是当我打电话给使用amazon ios sdk对amazon弹性转码器的Rest调用,ios,amazon-web-services,Ios,Amazon Web Services,我查看了文档,没有看到对ios弹性代码转换sdk的支持。 我的用例是将文件“videoFile.mp4”从mp4格式的“bucket1”移到转码,并再次将文件“videoFile.webm”创建回“bucket1” 如何使用AmazonSDK(代码示例)进行其余调用来完成此任务 更新: 我能做点什么,但我有另一个问题。 但是当我打电话给 通常,您应该从AWS管理控制台设置管道,因为它是一次性设置。从移动设备创建管道是没有意义的。从移动设备上,您只需将视频文件上传到AmazonS3存储桶。后端服务
通常,您应该从AWS管理控制台设置管道,因为它是一次性设置。从移动设备创建管道是没有意义的。从移动设备上,您只需将视频文件上传到AmazonS3存储桶。后端服务器(例如Amazon EC2和AWS Elastic Beanstalk都是不错的选择)应该监控存储桶并为弹性转码器创建作业。AWS刚刚发布了AWS Lambda,您可能想查看一下。工作完成后,您可以使用Amazon SNS获得通知
<InvalidSignatureException>
<Message>Credential should be scoped to correct service: 'elastictranscoder'. </Message>
</InvalidSignatureException>
AmazonCredentials *credentials = [[AmazonCredentials alloc] init];
credentials.secretKey = SECRET_KEY;
credentials.accessKey = ACCESS_KEY_ID;
NSMutableDictionary *parameter = [NSMutableDictionary dictionaryWithObjectsAndKeys:
// dateString1, @"x-amz-date",
@"elastictranscoder.us-west-2.amazonaws.com:443",@"host",
@"application/x-amz-json-1.0", @"content-type",
length, @"content-length",
nil];
AmazonServiceRequest *request = [[AmazonServiceRequest alloc] init];
request.urlRequest.HTTPMethod = @"POST";
request.regionName = @"us-west-2";
request.serviceName = @"ets";
NSLog(@"***********************************************************************************************");
NSLog(@"***********************************************************************************************");
[AmazonAuthUtils signRequestV4:request headers:parameter payload:jsonStringData credentials:credentials];
NSLog(@"***********************************************************************************************");
NSLog(@"***********************************************************************************************");
NSMutableURLRequest *mutableRequest = [[NSMutableURLRequest alloc]
initWithURL:[NSURL
URLWithString:@"https://elastictranscoder.us-west-2.amazonaws.com"]];
[mutableRequest setHTTPMethod:@"POST"];
for(id key in parameter){
[mutableRequest setValue:[parameter objectForKey:key] forHTTPHeaderField:key];
}
NSLog([request.urlRequest valueForHTTPHeaderField:@"x-amz-date"]);
NSLog([request.urlRequest valueForHTTPHeaderField:@"Authorization"]);
// add the Authorization signature and the date
[mutableRequest setValue:[request.urlRequest valueForHTTPHeaderField:@"x-amz-date"] forHTTPHeaderField:@"x-amz-date"];
[mutableRequest setValue:[request.urlRequest valueForHTTPHeaderField:@"Authorization"] forHTTPHeaderField:@"Authorization"];
[mutableRequest setHTTPBody:[jsonStringData dataUsingEncoding:NSUTF8StringEncoding]];
[[NSURLConnection alloc] initWithRequest:mutableRequest delegate:self];