10

Stworzyłem potok na AWS Elastic Transcoder i próbuję utworzyć dla niego zadania używając jego api. Właśnie to robię.Elastyczny transkoderem AWS tworzenie zadania od Parse.com CloudCode Javascript http żąda

Parse.Cloud.define("createJobOnElastic", function(request, response){ 
 

 
    Parse.Cloud.httpRequest({ 
 
    
 
    method: 'POST', 
 
    headers: { 
 
    'Content-Type': 'application/json; charset=UTF-8', 
 
    'Accept': '*/*', 
 
    'Host': 'elastictranscoder.us-east-1.amazonaws.com:443', 
 
    'Content-Length': '300', 
 
    "x-amz-date": new Date().getTime() 
 
    }, 
 

 
    url: 'https://aws.elastictranscoder.us-east-1.amazonaws.com:443/2012-09-25/jobs', 
 
    body:{ 
 
     
 
     "Input":{ 
 
      "Key":"fullViewLq1teqJ1Ym-nHGwcJtRuL-1433857991.895335.mp4", 
 
      "FrameRate":"auto", 
 
      "Resolution":"auto", 
 
      "AspectRatio":"auto", 
 
      "Interlaced":"auto", 
 
      "Container":"mp4" 
 
      }, 
 
    "OutputKeyPrefix":"compressed/", 
 
    "Outputs":[ 
 
     { 
 
     "Key":"fullViewLq1teqJ1Ym-nHGwcJtRuL-1433857991.895335.mp4", 
 
     "Rotate":"0", 
 
     "PresetId":"1351620000001-000030" 
 
     } 
 
    ], 
 
    "PipelineId":"xxxxxxxxx-xxxx" 
 
}, 
 
    success: function(httpResponse) { 
 
      // console.log(httpResponse); 
 

 
      alert("Worked TRANCODER"); 
 
      response.success(); 
 
      }, 
 
     error: function(httpResponse) { 
 
      // console.error(httpResponse); 
 
      alert("Did not work TRANSCODER"); 
 
      response.error(httpResponse); 
 
     } 
 
    
 
    }); 
 

 

 
});

widzę, że mój adres url jest prawdopodobnie źle, ale to dlatego, że tak naprawdę nie można powiedzieć, która url powinien być wysłanie żądania z ich dokumentacją tutaj: http://docs.aws.amazon.com/elastictranscoder/latest/developerguide/create-job.html#create-job-description

to co dostaję w odpowiedzi:

{"uuid":"7dd5e323-167f-fe75-ca64-0adeeebad099","status":0,"headers":{"Connection":"keep-alive","Content-Language":"en","Content-Length":"3871","Content-Type":"text/html","Date":"Tue, 09 Jun 2015 14:44:23 GMT","Mime-Version":"1.0","Server":"squid/3.1.19","Vary":"Accept-Language","X-Squid-Error":"ERR_DNS_FAIL 0"},"text":"Request failed; 56-111 Failure when receiving data from the peer; Connection refused","buffer":[],"cookies":{}} 

Wszelkie uwagi na temat jak to zrobić będzie gr jeść.

Dzięki.

+0

Też biorę to, szukałem od dłuższego czasu. Wydaje się, że to może być coś nowego, co powoduje, że myślę, że to może być błąd? – whitfin

Odpowiedz

0

kilka rzeczy tutaj:

  • można nie tylko dodawać do elastycznej końcowym transkodera bez podpisywania żądania. Wszystkie usługi AWS wymagają podpisania żądań. Zobacz tutaj: http://docs.aws.amazon.com/general/latest/gr/signing_aws_api_requests.html
  • prawdopodobnie nie należy określać w nagłówkach Hosta i Content-Length.
  • To trochę mylące, że klucz wyjściowy jest taki sam jak klucz wejściowy
  • powinieneś prawdopodobnie pokazać, jak potok jest tworzony dla kompletności.
+0

Czy to możliwe, aby pokazać przykład, jak powinien wyglądać? Klucz wyjściowy jest taki sam jak wejście, ponieważ służy tylko do kompresji, a istnieje folder dla skompresowanych filmów. – RJiryes