airflow.providers.pagerduty.hooks.pagerduty_events

用于从 PagerDuty 发送或接收数据以及创建 PagerDuty 事件的 Hook。

PagerdutyEventsHook

这个类可以用于与 Pagerduty Events API 进行交互。

模块内容

class airflow.providers.pagerduty.hooks.pagerduty_events.PagerdutyEventsHook(integration_key=None, pagerduty_events_conn_id=None)[source]

基类: airflow.hooks.base.BaseHook

这个类可以用于与 Pagerduty Events API 进行交互。

它同时接受 Events API token 以及一个包含 Events API token 的 PagerDuty 连接

(即 Integration key)作为密码/Pagerduty API token。如果两者都提供,则将使用 token。

参数:
  • integration_key (str | None) – PagerDuty Events API token

  • pagerduty_events_conn_id (str | None) – 连接,其 Pagerduty API token 字段中包含 PagerDuty integration key

conn_name_attr = 'pagerduty_events_conn_id'[source]
default_conn_name = 'pagerduty_events_default'[source]
conn_type = 'pagerduty_events'[source]
hook_name = 'Pagerduty Events'[source]
classmethod get_ui_field_behaviour()[source]

返回自定义字段行为。

integration_key = None[source]
send_event(summary, severity, source='airflow', action='trigger', dedup_key=None, custom_details=None, group=None, component=None, class_type=None, images=None, links=None)[source]

为服务集成创建事件。

参数:
  • summary (str) – 事件摘要

  • severity (str) – 事件严重性,必须是以下之一:info, warning, error, critical

  • source (str) – 具体的、人类可读的唯一标识符,例如遇到问题的系统的主机名。

  • action (str) – 事件动作,必须是以下之一:trigger, acknowledge, resolve。如果未指定,默认为 trigger。

  • dedup_key (str | None) – 一个用于识别给定事件触发的警报的字符串。对于 acknowledge 和 resolve 动作是必需的。

  • custom_details (Any | None) – 事件的自由格式详情。可以是字典或字符串。如果传入字典,它将在 PagerDuty 中显示为表格。

  • group (str | None) – 源的集群或分组。例如,源“prod-datapipe-02”和“prod-datapipe-03”可能都属于“prod-datapipe”的一部分

  • component (str | None) – 受影响系统中发生故障的部分或组件。

  • class_type (str | None) – 事件的类别/类型。

  • images (list[Any] | None) – 要包含的图片列表。列表中的每个字典接受以下键:src:附加到事件的图片的来源(URL)。该图片必须通过 HTTPS 提供。href:[可选] 用于使图片成为可点击链接的 URL。alt:[可选] 图片的替代文本。

  • links (list[Any] | None) – 要包含的链接列表。列表中的每个字典接受以下键:href:要附加的链接的 URL。text:[可选] 描述链接用途的纯文本,可用作链接的文本。

返回值:

PagerDuty Events API v2 响应。

返回类型:

dict

static prepare_event_data(summary, severity, source, custom_details, component, group, class_type, action, dedup_key, images, links, action_key_name='action')[source]

为 send_event / post(‘/v2/enqueue’) 方法准备事件数据。

create_change_event(summary, source='airflow', custom_details=None, timestamp=None, links=None)[source]

为服务集成创建变更事件。

参数:
  • summary (str) – 事件摘要

  • source (str) – 具体的、人类可读的唯一标识符,例如遇到问题的系统的主机名。

  • custom_details (Any | None) – 事件的自由格式详情。可以是字典或字符串。如果传入字典,它将在 PagerDuty 中显示为表格。

  • timestamp (datetime.datetime | None) – 发出工具检测或生成事件的时间。

  • links (list[Any] | None) – 要包含的链接列表。列表中的每个字典接受以下键:href:要附加的链接的 URL。text:[可选] 描述链接用途的纯文本,可用作链接的文本。

返回值:

PagerDuty Change Events API v2 响应。

返回类型:

dict

test_connection()[source]

此条目有帮助吗?