문제

I have an Elastic Transcoder pipeline configured, and it has successfully processed jobs created via the AWS Management Console. However, when using the Ruby API, the pipeline doesn't appear to exist:

et = AWS::ElasticTranscoder::Client.new
puts et.list_pipelines.inspect
# {:pipelines=>[], :request_id=>"e9e5ae2b-ca43-11e3-969d-530832cf62dd"}

Similarly, calling create_job with the correct :pipeline_id raises an error, claiming AWS returned a 404 for that pipeline ID.

According to the documentation, this does not indicate a permissions error. A permissions error should return a 403. But just to be sure, I set the IAM user's permissions to superuser as follows:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "*",
      "Resource": "*"
    }
  ]
}

Why would the pipeline not be found?

도움이 되었습니까?

해결책

You have to connect to the same AWS region in which your pipeline resides. To find out the pipeline's region:

  1. Go to the list of pipelines in the AWS Management Console.
  2. Click the magnifying glass icon for your pipeline. This should open the pipeline's details.
  3. Find the region in the ARN string. For example, us-west-2.

Then, when you connect to AWS, do it like this:

AWS.config({
  :access_key_id => 'abc',
  :secret_access_key => '123',
  :region => 'us-west-2' # Or whatever your region is
})
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top