首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在气流变量上强制执行Jinja模板?

如何在气流变量上强制执行Jinja模板?
EN

Stack Overflow用户
提问于 2018-03-28 15:24:27
回答 2查看 5.3K关注 0票数 5

Airflow docs说:You can use Jinja templating with every parameter that is marked as “templated” in the documentation。气流自动模板化气流世界中的特定参数(例如PythonOperator的某些参数)是有意义的。我想知道最好的/正确的方法是让一个非气流变量模板化。我的具体用例类似于:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from airflow import DAG
from airflow.operators.python_operator import PythonOperator
from somewhere import export_votes_data, export_queries_data
from elsewhere import ApiCaucus, ApiQueries

dag = DAG('export_training_data',
          description='Export training data for all active orgs to GCS',
          schedule_interval=None,
          start_date=datetime(2018, 3, 26), catchup=False)

HOST = "http://api-00a.dev0.solvvy.co"
BUCKET = "gcs://my-bucket-name/{{ ds }}/" # I'd like this to get templated

votes_api = ApiCaucus.get_votes_api(HOST)
queries_api = ApiQueries.get_queries_api(HOST)

export_votes = PythonOperator(task_id="export_votes", python_callable=export_votes_data,
                              op_args=[BUCKET, votes_api], dag=dag)
export_queries = PythonOperator(task_id="export_queries", python_callable=export_query_data,
                                op_args=[BUCKET, queries_api, export_solutions.task_id], dag=dag,
                                provide_context=True)
EN

回答 2

Stack Overflow用户

发布于 2018-03-29 15:32:49

PythonOperatorprovide_context参数将传递用于模板的参数。来自the documentation

Airflow provide_context (bool) -如果设置为true,

将传递一组可在函数中使用的关键字参数。这组kwargs与您可以在jinja模板中使用的kwargs完全对应。为了让它工作,你需要在你的函数头中定义**kwargs。

有了提供给callable的上下文,您就可以在函数中进行插值了:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
def your_callable(bucket, api, **kwargs):
  bucket = bucket.format(**kwargs)
  [...]
票数 3
EN

Stack Overflow用户

发布于 2018-08-07 03:08:33

在操作员的方法(execute/pre_execute/post_execute,以及可以获得Airflow context的任何地方)中:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
BUCKET = "gcs://my-bucket-name/{{ ds }}/" # I'd like this to get templated

jinja_context = context['ti'].get_template_context()
rendered_content = self.render_template('', BUCKET, jinja_context)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49538414

复制
相关文章
jQuery实现Select自动选择默认值
==========================================================================================
IT工作者
2021/12/28
2.2K0
select选择 原
使用select选择,下面展示出选择的内容,用2种方法实现 一、未用bootstrap Table插件写法 <!doctype html> <html> <head> <meta charset="utf-8"> <title>select选择</title> <link rel="stylesheet" href="../bootstrap/css/bootstrap.min.css"> <link rel="stylesheet" href="css/main.css
tianyawhl
2019/04/04
1.2K0
vue动态选择select
本文实例讲述了vue中动态select的使用方法。分享给大家供大家参考,具体如下:
kirin
2020/06/15
1.7K0
AngularJS Select(选择框)
在 AngularJS 中我们可以使用 ng-option 指令来创建一个下拉列表,列表项通过对象和数组循环输出,如下实例:
陈不成i
2021/07/23
2.5K0
PHP配合javascript实现select快速设置默认值
今天在做一个select选中默认值的时候,不想用以前的老方法了,然后我就各种百度啊!
墨渊
2018/05/25
1.3K0
python selenium select选择器
from selenium.webdriver.support.select import Select select_by_value(value) select_by_index(index) select_by_visible_text(text)
用户5760343
2022/05/13
9090
select多路选择的模拟实现
有时候有这样一种应用场景:需要等待多个事件到达,然后返回尽可能多的事件;如果没有事件到达就阻塞等待。例如服务器等待客户端建立连接,或者等待客户端数据等就有这种应用需求。 在go语言里,可以利用select原语和它的非阻塞(default)分支组合实现这个功能: // 从ch获取尽可能多的数据放到events里,并返回实际数量;如果没有数据就阻塞等待 func wait(ch chan int, events []int) int { count := 0 for count < len(ev
李海彬
2018/03/22
1.2K0
el-select选择组件中@change事件返回对象方法
选中多选框的部门后,还要去查询到该部门是否有负责人,有负责人就能够保存;无负责人,就提示“该部门暂未设置负责人”。
程序媛夏天
2024/01/18
5150
el-select选择组件中@change事件返回对象方法
select2如何黏贴选择
有时在使用select2插件时会遇到这种需求:一次性选择一些数据,然后根据这些数据自动选择相关项,我也遇到了这种需求并实现,这里简单讲讲我的做法:
johnhuster的分享
2022/03/29
1.1K0
[Go] golang的select多路选择功能
基于select的多路复用: 1.解决如果一个channel中没有事件发过来,程序会立即阻塞,无法接收到第二个channel中的事件 2.一般每一个case都代表一个通信操作,多个case会选一个能执行的 3.default会默认执行,因此可以作为轮询channel来用
唯一Chat
2019/09/10
9130
[Go] golang的select多路选择功能
react antd select组件添加全选功能
本文最后更新于 57 天前,其中的信息可能已经有所发展或是发生改变。 1、需求 最近遇到一个需求,一张表格中需要有个下拉框,antd官网中有相应的Select组件,但是由于数据比较多,用户需要一个全选的需求。即点击全选下拉框数据全部选中,再次点击取消全选即选中的数据清空。然后数据一条一条点击完后全选框会被选中,反之不会被选中。 2、实现代码 import React from 'react'; import 'antd/dist/antd.css'; import './index.css'; imp
likepoems
2023/03/04
2K0
mysql中select子查(select中的select子查询)询探索
通过执行计划可以看出,先执行的是DEPENDENT SUBQUERY这部分(id大的优先执行),也就是select dname from dept d where e.deptno = d.deptno但是这部分是不能单独执行的,所以猜测mysql对这部分做了处理,处理成类似这种select d.dname,e.deptno from dept d join emp e on d.deptno = e,deptno,生成了一个临时表,然后再执行主表和临时表的连表查询(临时表的意思是啥?比如dept表有很多列,同时又很多行,其中还有一大部分不满足d.deptno = e,deptno这个条件,此时临时表相对于对大表做了一个精简)
九转成圣
2024/05/24
1160
可以添加自定义的Select控件
1.控件dom <select name="WebSiteTarget" id="WebSiteTarget" class="w1" onchange="editable2(this);"> <option value="-1">请选择城市</option> <option>福州</option> <option>厦门</option> <option>南平</option> <option value="0">(自定义输入)</option> </select> 2
用户1055830
2018/01/18
9330
可以添加自定义的Select控件
laravel-admin select、multipleSelect从api中获取选项列表
select、multipleSelect从api中获取选项列表 $form->select($column[, $label])->options([1 => 'foo', 2 => 'bar', 'val' => 'Option name']); 或者从api中获取选项列表: $form->select($column[, $label])->options('/api/users'); 其中api接口的格式必须为下面格式: [ { "id": 9, "tex
友儿
2022/09/11
3.8K0
Django CKEditor 给 a tag(标签)添加 target 默认值
https://ckeditor.com/docs/ckeditor4/latest/guide/dev_disallowed_content.html
卓越笔记
2023/02/18
1.5K0
Django CKEditor 给 a tag(标签)添加 target 默认值
从iView中Select的渲染了解vue的渲染机制
cronObj.hour默认有值假如是*,在mounted的时候我们赋值为5,按道理组件上应该是5的,但是实际上却是*。
码客说
2024/03/29
1780
select选择标签自定义下拉按钮
<select><option value="" disabled selected style="display:none;">请选择时间</option></select>select::-ms-expand { display: none; } //兼容ie隐藏select{ appearance: none; -moz-appearance: none; -webkit-appearance: none; background: url(../images/go.
马克社区
2022/07/18
1.6K0
select2没有默认选择项
往select2里面通过jquery的append添加数据,但是没有默认选择第一项,通过设置select默认选择项的方法设置该选择框的默认选择项,虽然通过$("#select").val()的方法知道该选择框有了默认选择项,但是select2显示的是placeholder的内容,如何解决?
johnhuster的分享
2022/03/29
1.2K0
select标签添加onclick()事件的兼容写法
以上代码片是可以在Firefox和IE9下运行的,但是它在我的360浏览器上就是无效的,究其原因还是IE版本的问题(存在兼容性问题), 也就是:老版本只能这样 <select onclick() ></select>
ZONGLYN
2019/08/08
7.8K0
select2如何清除选择项
这个功能很小,只是一个函数的问题,之所以写这篇文章是因为当时遇到这个问题在百度上搜索半天无果,希望能帮到遇到该问题的朋友。
johnhuster的分享
2022/03/29
8740

相似问题

媒体库中的自定义字段不保存,select ()函数不添加“select”以选择列表输入类型

10

Woocommerce:更改变体选择默认值?

10

无法添加Select2以在可变产品中进行选择(管理)

10

如果将默认值用作变量,如何向get_option添加默认值?

10

get_terms <select> <option>在resualt中添加了斜线。

20
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文