深入解析 Terraform AWS Provider 的 `aws_media_convert_queue` 数据源:读取 Elemental MediaConvert 队列信息

发布时间:2026/11/6 16:11:30

深入解析 Terraform AWS Provider 的 `aws_media_convert_queue` 数据源:读取 Elemental MediaConvert 队列信息 深入解析 Terraform AWS Provider 的aws_media_convert_queue数据源读取 Elemental MediaConvert 队列信息【免费下载链接】terraform-provider-awsThe AWS Provider enables Terraform to manage AWS resources.项目地址: https://gitcode.com/GitHub_Trending/te/terraform-provider-aws本指南以 HashiCorp Terraform AWS Provider 官方文档中aws_media_convert_queue数据源Data Source为核心完整讲解如何通过 Terraform 读取 AWS Elemental MediaConvert 队列的标识、ARN、状态与标签信息。读完本文你将掌握该数据源的全部参数与导出属性、底层 SDK 调用链路以及如何与aws_media_convert_queue资源组合实现创建即引用的典型场景。一、数据源概览它解决什么问题AWS Elemental MediaConvert 是一项媒体转码服务队列Queue用于管理转码作业Job的调度与并发。在实际基础设施管理中你经常需要引用已存在队列的 ARN例如配置转码作业、IAM 策略或事件通知而不是重复硬编码。aws_media_convert_queue数据源正是为此设计给定队列的唯一标识idTerraform 会向 MediaConvert 服务发起查询返回队列的 ARN、名称、当前状态以及全部标签供配置中的其他资源引用。官方文档对该数据源的定位表述为Retrieve information about a AWS Elemental MediaConvert Queue参见 website/docs/d/media_convert_queue.html.markdown。二、最小可用示例官方文档给出的最简用法只需一个必填参数iddata aws_media_convert_queue example { id tf-example-queue }执行terraform plan或terraform apply后即可通过data.aws_media_convert_queue.example.arn、.status等属性在配置中引用查询结果。注意该数据源隶属于Elemental MediaConvert子分类使用前请确保 AWS 账号已开通 MediaConvert 服务且 Terraform 执行环境具备读取队列所需的 IAM 权限对应 MediaConvertGetQueueAPI 操作。三、Argument Reference支持的查询参数数据源支持以下两个参数参数必填说明region可选队列所在的 AWS 区域。默认使用 provider 配置中设置的区域也可以通过 provider 的region或各资源级region覆盖。MediaConvert 采用区域化端点因此跨区域查询时必须显式指定。id必填队列的唯一标识符其值与队列的name相同。文档明确指出The same asname。四、Attribute Reference导出的属性查询成功后该数据源在参数之外还导出以下属性属性类型说明arnstring队列的 Amazon Resource NameARN。namestring队列名称与id相同。statusstring队列当前状态如ACTIVE或PAUSED。tagsmap资源上的标签映射包含从 providerdefault_tagsconfiguration block 继承的标签。一个常见的输出用法output queue_arn { value data.aws_media_convert_queue.example.arn } output queue_status { value data.aws_media_convert_queue.example.status } output queue_tags { value data.aws_media_convert_queue.example.tags }五、底层实现解析数据源是如何工作的在 Terraform AWS Provider 仓库中该数据源的完整实现位于 internal/service/mediaconvert/queue_data_source.go。阅读源码可以验证文档描述与真实行为完全一致5.1 Schema 定义实现采用 Terraform Plugin SDK v2通过SchemaFunc定义字段names.AttrARN: { Type: schema.TypeString, Computed: true }, names.AttrID: { Type: schema.TypeString, Required: true }, names.AttrName: { Type: schema.TypeString, Computed: true }, names.AttrStatus: { Type: schema.TypeString, Computed: true }, names.AttrTags: tftags.TagsSchemaComputed(),可以看到id是唯一 Required必填字段arn、name、status均为 Computed只读导出tags使用TagsSchemaComputed()——这正是文档中tags包含从 providerdefault_tags继承标签的源码级体现。5.2 读取流程dataSourceQueueRead是核心读取函数调用链如下conn : meta.(*conns.AWSClient).MediaConvertClient(ctx) id : d.Get(names.AttrID).(string) queue, err : findQueueByName(ctx, conn, id) ... name : aws.ToString(queue.Name) d.SetId(name) d.Set(names.AttrARN, queue.Arn) d.Set(names.AttrName, name) d.Set(names.AttrStatus, queue.Status)关键点通过AWSClient.MediaConvertClient(ctx)获取 MediaConvert 的 AWS SDK for Go v2 客户端调用findQueueByName按名称查询队列该函数定义于 internal/service/mediaconvert/queue.go内部封装了conn.GetQueueAPI 调用并对NotFoundException与空结果分别转换为retry.NotFoundError和tfresource.NewEmptyResultError查询成功后将返回的队列Name写回id印证文档所述id与name相同再依次填充arn、name、status。六、数据从哪来配套的aws_media_convert_queue资源数据源查询的对象通常由aws_media_convert_queue资源管理资源文档见 website/docs/r/media_convert_queue.html.markdown。掌握资源的全部参数有助于理解队列可查询的字段来源。6.1 资源参数一览参数必填默认值说明name是—队列唯一标识创建后不可更改ForceNew。concurrent_jobs否由服务端决定队列可并发处理的作业数上限。按需ON_DEMAND队列受账号配额约束预留RESERVED队列由预订计划决定。description否—队列描述。pricing_plan否ON_DEMAND计费计划可选ON_DEMAND或RESERVED创建后不可更改。reservation_plan_settings否—预留队列的详细计费计划见下文。status否ACTIVE队列状态可选ACTIVE或PAUSED。tags否—资源标签可与 providerdefault_tags合并。说明资源源码位于 internal/service/mediaconvert/queue.go其中pricing_plan默认值types.PricingPlanOnDemand、status默认值types.QueueStatusActive均通过Default字段声明并与文档一致。资源也支持terraform import按队列名称导入如terraform import aws_media_convert_queue.test tf-test-queue。6.2reservation_plan_settings子块仅当pricing_plan RESERVED时使用包含三个必填字段字段可选值说明commitmentONE_YEAR预订计划的承诺期限长度。renewal_typeAUTO_RENEW/EXPIRE预订期限到期后的续订方式。reserved_slots整数队列预留的转码槽位RTS数量。在源码中这三个字段分别通过enum.Validate[types.Commitment]()与enum.Validate[types.RenewalType]()做枚举校验并由expandReservationPlanSettings/flattenReservationPlan函数完成 Terraform 结构与 AWS SDK 类型之间的转换。七、典型组合用法创建队列并立即引用实际工程中最常见的模式是资源创建 数据源引用既能在同一配置内管理队列又能把 ARN 安全地传递给下游资源。数据源测试中也采用了这种模式见 internal/service/mediaconvert/queue_data_source_test.goresource aws_media_convert_queue example { name tf-example-queue description Video transcode queue for production concurrent_jobs 10 pricing_plan ON_DEMAND status ACTIVE tags { Environment production Team media } } data aws_media_convert_queue example { # id 与资源 name 一致直接引用资源属性即可保证同步 id aws_media_convert_queue.example.id } output example_queue_arn { value data.aws_media_convert_queue.example.arn } output example_queue_status { value data.aws_media_convert_queue.example.status }这样下游无论需要队列 ARN用于授权转码、构建作业配置还是状态用于自动化判断都可以从data.aws_media_convert_queue.example.*稳定获取。八、标签是如何读取的tags与tags_all的机制数据源的tags属性由tftags.TagsSchemaComputed()生成。标签的实际读取通过 MediaConvert 的ListTagsForResourceAPI 完成实现在 internal/service/mediaconvert/tags_gen.go 的listTags函数中——它以资源的 ARN 为标识与数据源 Schema 上的Tags(identifierAttributearn)注解对应发起请求input : mediaconvert.ListTagsForResourceInput{ Arn: aws.String(identifier), } output, err : conn.ListTagsForResource(ctx, input, optFns...)需要留意两个细节数据源导出的是tags含继承的default_tags而资源额外导出tags_all同样含继承标签两者语义在文档中均有明确区分若队列本身没有标签tags会是一个空 map不会导致数据源读取失败。九、测试验证数据源行为如何被保障仓库中的 internal/service/mediaconvert/queue_data_source_test.go 提供了数据源的验收测试TestAccMediaConvertQueueDataSource_basic。其核心断言如下resource.TestCheckResourceAttrPair(resourceName, names.AttrARN, dataSourceName, names.AttrARN), resource.TestCheckResourceAttrPair(resourceName, names.AttrName, dataSourceName, names.AttrName), resource.TestCheckResourceAttrPair(resourceName, acctest.CtTagsPercent, dataSourceName, acctest.CtTagsPercent),测试逻辑清晰可验证先创建资源aws_media_convert_queue.test再声明数据源data.aws_media_convert_queue.test且数据源id直接引用aws_media_convert_queue.test.id用TestCheckResourceAttrPair断言资源与数据源的arn、name完全一致——从验收层面再次证明数据源读取的就是同名队列对比tags.%标签数量一致确认标签读取链路工作正常。配套的资源级测试internal/service/mediaconvert/queue_test.go还覆盖了concurrent_jobs动态调整100→5、status在PAUSED/ACTIVE间切换、description更新、多标签增删以及pricing_plan RESERVED的预订计划场景为数据源可查询到的字段取值提供了完整佐证。十、使用注意事项区域一致性region参数默认继承 provider 配置跨区域查询队列时必须显式设置否则会因端点区域不匹配而查询失败。id即name查询标识就是队列名称无独立 UUID因此按资源属性id引用即可无需额外转换。只读语义数据源不会创建或修改任何 AWS 资源仅执行一次GetQueue读取对队列的管理应交给aws_media_convert_queue资源完成。权限要求执行读取需要具备mediaconvert:GetQueue及读取标签所需的mediaconvert:ListTagsForResource权限。综上aws_media_convert_queue数据源是一个轻量但可靠的队列信息读取入口。无论是对接转码作业配置、构建依赖 ARN 的基础设施编排还是自动化巡检队列状态你都可以基于本文的用法与源码依据放心使用。【免费下载链接】terraform-provider-awsThe AWS Provider enables Terraform to manage AWS resources.项目地址: https://gitcode.com/GitHub_Trending/te/terraform-provider-aws创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/11/4 21:28:07

大数据运维规划实战:从集群部署到监控容灾的完整指南

简介:这是一份关于大数据运维规划的解决方案文档,面向运维工程师、数据分析师及企业技术管理者,聚焦于业务系统与分析系统融合趋势下运维体系的设计与落地。文档从运维组织架构切入,对比了纵向一体化、完全分离及均衡三种交维模式…

2026/11/6 18:33:02

基于深度学习的火场灰度图像去烟算法:从数据合成到边缘部署

简介:这份PDF文献面向图像处理、计算机视觉方向的研究者与消防信息化技术人员,聚焦火场灰度监控画面因烟雾导致的清晰度与对比度下降问题,提出一套基于深度学习的去烟方案。资源包仅含1个PDF文件,大小约1.26MB,便于在移…

2026/11/7 10:48:45

电工作业复审pdf通过率揭秘:转岗从业者怎么避开报名陷阱

电工作业复审pdf通过率揭秘:转岗从业者怎么避开报名陷阱 你是不是也遇到过这种情况,手上拿着电工作业证书,却不知道去哪里复审?或者担心被中介坑了钱还办不成事?这些问题在漯河转岗从业者中特别常见。尤其是现在, 电工作业复审pdf…

2026/11/7 10:48:45

盐池考电工证有效期多久 你知道官方报名入口在哪吗

盐池考电工证有效期多久 你知道官方报名入口在哪吗 你现在是不是正为找工作发愁?急需特种作业证才能上岗找工作,而你手上还缺一张 盐池考电工证 ?别急,这篇文章就是为像你这样正在找证、找工作的兄弟准备的。我们来聊聊 盐池考电工证 的有效期、…

2026/11/7 10:48:45

公司需要高压电工证怎么报名才能避免被查

公司需要高压电工证怎么报名才能避免被查 证书过期了不知道怎么复审延期,公司里好几个高压电工证都快到期了,你是不是也正在为怎么报名发愁?特别是像洛阳这种中小型施工企业,高压电工证不仅是员工上岗的门槛,也是公司合规经营的关键。今天我们就来聊聊怎…

2026/11/7 10:48:45

桃江低压电工证考前押题怎么找?实操考试心里没底怕挂科

桃江低压电工证考前押题怎么找?实操考试心里没底怕挂科 实操考试心里没底怕挂科,是很多准备报考桃江低压电工证的学员共同的担忧。尤其是对新手来说,从零基础开始准备,不仅需要掌握大量的理论知识,还要面对真实的设备和操作流程,稍有疏忽就可能因为一个…

2026/11/7 10:48:45

西宁电工证卷怎么考?考前押题帮你少走弯路

西宁电工证卷怎么考?考前押题帮你少走弯路 你现在在工地找活干,手里却没个电工证,连面试机会都少一半。西宁电工证卷已经不是什么新鲜事了,但真正知道怎么考、怎么拿证、怎么用证的人却不多。今天我就从一个干了十多年特种作业证业务的老手角度,跟你聊聊…

2026/11/5 15:39:06

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/6 10:49:01

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/7 0:03:08

郑州报考避坑指南:电工证和钳工证怎么选?实操考试心里没底怕挂科

郑州报考避坑指南:电工证和钳工证怎么选?实操考试心里没底怕挂科 实操考试心里没底怕挂科?你不是一个人。特别是在郑州这样的城市,很多施工企业负责人和一线作业人员在报考电工证和钳工证时都面临着同样的困惑。到底该考哪个证?哪个更适合自己?哪个证书…

2026/11/7 0:03:08

广西电工证办理流程全解析:外省证怎么转?在哪考最靠谱?

广西电工证办理流程全解析:外省证怎么转?在哪考最靠谱? 之前考的证在外省能不能转过来?这个问题我遇到太多了,今天就拿广西电工证办理流程来具体说说,别再走弯路了。广西电工证的报考、复审、继续教育这些环节,如果你不了解,真的会吃大亏,尤其对于从…

2026/11/7 0:03:08

电气电工证都有哪些保姆级教程

电气电工证都有哪些保姆级教程 你是不是正愁不知道去哪报名,怕被中介坑?别急,这篇保姆级教程专为河南初次报考人员准备,帮你搞清楚 电气电工证都有哪些 ,以及如何避开那些坑。 电气电工证都有哪些?别被五花八门的证书搞懵了…

2026/11/5 15:39:06

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/6 10:49:01

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑