【问题标题】:Extract email content through Airflow通过 Airflow 提取电子邮件内容
【发布时间】:2021-11-08 10:11:00
【问题描述】:

有没有办法可以从电子邮件中提取以下信息:

  1. 主题
  2. 发件人
  3. 接收者
  4. 时间戳

根据抄送的电子邮件搜索电子邮件。邮箱是gmail

我已经浏览过这个article 但这是为了下载附件。

我只需要以上信息。然后存放在 BQ 中。 我怎样才能做到这一点?

到目前为止,这就是我所做的:

from airflow.operators import IMAPAttachmentOperator

extract_email = IMAPAttachmentOperator(
    imap_conn_id='my_email_conn',
    mailbox='inbox',
    search_criteria={"CC": "some_email@gmail.com"},
    task_id='extract_email_content',
    dag=dag)

【问题讨论】:

    标签: python google-bigquery airflow gmail-api


    【解决方案1】:

    据我所知,没有现成的运算符,因此您需要自己构建。好的一面是,Airflow 中似乎有足够的逻辑可以重用或用作指导。例如,IMapHook 中的这里是获取电子邮件的逻辑,然后您可以在运算符中过滤它们。其他选择是使用search,类似IMapHook().mail_client.search(...),参考search docs

    关于在 BQ 中存储信息 - 使用 BigQueryHook.insert_rows 构建您的自定义运算符以将所需信息保存到 BQ。

    您可以使用也可以使用GCSHook.upload将数据上传到GCS然后使用GCSToBigQueryOperator

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-10
      • 2012-08-04
      • 1970-01-01
      • 2014-10-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多