"specified pipeline was not found" 在亚马逊弹性转码器中

"specified pipeline was not found" in amazon elastic transcoder

我正在尝试使用 amazon elastic transcoder 对作业进行转码,但它一直给我以下错误:

/gems/aws-sdk-v1-1.66.0/lib/aws/core/client.rb:375:in `return_or_raise': The specified pipeline was not found: account=XXXXXXXXX, pipelineId=xxxxxxxxx. (AWS::ElasticTranscoder::Errors::ResourceNotFoundException)

我的简化代码如下:

transcoder = AWS::ElasticTranscoder::Client.new(
  region: "us-west-1",
  access_key_id: AWS_ACCESS_KEY,
  secret_access_key: AWS_SECRET_KEY
)

transcoder.create_job(
  pipeline_id: '0123456789123-sample",
  input: {
    key: "input_key.mp4",
    frame_rate: 'auto',
    resolution: 'auto',
    aspect_ratio: 'auto',
    interlaced: 'auto',
    container: 'auto'
  },
  output: {
    key: "output_key.mp4",
    preset_id: '1351620000001-000010'
  }
)

我在网上查了一些资源,特别是 here and here

两者基本上都说管道区域和 "create job region" 必须完全匹配。我在亚马逊管理控制台中创建的管道,我验证过,是 "Northern California" ("us-west-1"),它似乎可以使用脚本登录。但是,我不知道在哪里,具体是在 "transcoder.create_job" 部分设置区域。有人知道吗?我似乎无法在文档中找到它。

好的,

我知道出了什么问题。我的 pipeline_id 有误 脚本。您可以在 aws 管理面板的管道屏幕上单击带有放大镜的一张纸的小图标以找到 pipeline_id。我将该 ID 放入我的 CreateJob 脚本中,瞧,它成功了!

我正在为 Python 使用 boto3 sdk,但遇到了同样的错误。看起来我服务器上的默认区域名称与我的管道不同。我所做的是添加 region_name 参数并添加管道的区域。

import boto3

client = boto3.client('elastictranscoder', region_name='us-west-2')
list_pipelines = client.list_pipelines()

print list_pipelines