amazon-s3 - 想要使用 apache 气流 [DAG] 文件将文件上传到 s3
问题描述
我想制作一个 DAG 文件(apache 气流),用于将 rar 文件上传到任何人尝试过的 s3 存储桶。?请建议,
我在我的 DAG 文件上尝试了这些东西,但出现了一些错误
from airflow.operators import SimpleHttpOperator, HttpSensor, , EmailOperator, S3KeySensor
错误是
/usr/local/lib/python3.6/dist-packages/airflow/utils/helpers.py:439:弃用警告:直接从“airflow.operators”导入“SimpleHttpOperator”已被弃用。请改为从“airflow.operators.[operator_module]”导入。Airflow 2.0 将完全放弃对直接导入的支持。
弃用警告)/usr/local/lib/python3.6/dist-packages/airflow/utils/helpers.py:439:弃用警告:直接从“airflow.operators”导入“HttpSensor”已被弃用。请改为从“airflow.operators.[operator_module]”导入。Airflow 2.0 将完全放弃对直接导入的支持。
DeprecationWarning)/usr/local/lib/python3.6/dist-packages/airflow/utils/helpers.py:439:DeprecationWarning:直接从“airflow.operators”导入“EmailOperator”已被弃用。请改为从“airflow.operators.[operator_module]”导入。Airflow 2.0 将完全放弃对直接导入的支持。
如何解决这个问题。?
解决方案
这只是一个警告,而不是错误。ADeprecationWarning
通常暗示你正在做的事情现在可以工作,但可能会在未来的版本中中断。如果您的任务失败,请忽略这些消息并查找正确的错误。
运算符的代码一直位于 下,但为了方便起见airflow.operators.[operator_module]
,它也直接在下提供。airflow.operators
例如,SimpleHttpOperator
在https://github.com/apache/airflow/blob/1.10.9/airflow/operators/http_operator.py中定义,因此从中导入它airflow.operators.http_operator
肯定会起作用。但是,由于https://github.com/apache/airflow/blob/1.10.9/airflow/operators/init .py #L97-L99airflow.operators
中当前存在的代码,从它导入它也将起作用,至少目前如此在您当前版本的 Airflow 中。基本上,您可以通过将导入更新为以下内容来解决这些警告:
from airflow.operators.http_operator import SimpleHttpOperator
from airflow.operators.email_operator import EmailOperator
from airflow.sensors.http_sensor import HttpSensor
from airflow.sensors.s3_key_sensor import S3KeySensor
请注意,目前仅在master分支上,尚未发布任何版本,一些第三方运营商和传感器也已再次移动。例如,S3KeySensor
将在 下找到providers.amazon.aws.sensors.s3_key.py
。正如预期的那样,从“旧”路径导入会得到类似的弃用消息,https://github.com/apache/airflow/blob/97a429f9d0cf740c5698060ad55f11e93cb57b55/airflow/sensors/s3_key_sensor.py#L25-L28。
推荐阅读
- android - 无法从 android studio 的调色板中拖放某些组件
- tensorflow - 使用 TensorRT 8 将我的 Jetson NX 刷新到 JetPack-4.6 后,使用 Tensorflow 安装不同的 Tensorflow 版本时会出现一些问题
- java - 如何使用 Java 8 流迭代多级映射?
- python-3.x - 警告:此笔记本不是由 Google 编写的 如何确定是否可以安全运行?
- python - 使用函数名获取函数的方法 ID
- xpath - 从具有多个元素的类中获取文本
- python - 在 django 中更改变量后需要重新启动服务器以更新变量
- html - 对齐右侧的 2 个按钮
- reactjs - React Native - 找不到模块 X 或其相应的类型声明
- sql - 排序时如何只看到最上面的结果