0

我配置了一个 Elastic Transcoder 管道,它已成功处理通过 AWS 管理控制台创建的作业。但是,当使用 Ruby API 时,管道似乎不存在:

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

create_job同样,使用正确的调用:pipeline_id会引发错误,声称 AWS 为该管道 ID 返回了 404。

根据文档,这并不表示权限错误。权限错误应该返回 403。但为了确定,我将 IAM 用户的权限设置为超级用户,如下所示:

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

为什么找不到管道?

4

1 回答 1

1

您必须连接到管道所在的同一 AWS 区域。要找出管道所在的区域:

  1. 转到 AWS 管理控制台中的管道列表。
  2. 单击管道的放大镜图标。这应该会打开管道的详细信息。
  3. 在 ARN 字符串中查找区域。例如,us-west-2

然后,当您连接到 AWS 时,请执行以下操作:

AWS.config({
  :access_key_id => 'abc',
  :secret_access_key => '123',
  :region => 'us-west-2' # Or whatever your region is
})
于 2014-04-22T17:51:35.750 回答