code: def get_airflow_run_facet(
      dag_run: DagRun,
      dag: DAG,
      task_instance: TaskInstance,
      task: BaseOperator,
      task_uuid: str,
  ):
      return {
          "airflow": json.loads(
              json.dumps(
                  asdict(
                      AirflowRunFacet(
                          dag=DagInfo(dag),
                          dagRun=DagRunInfo(dag_run),
                          taskInstance=TaskInstanceInfo(task_instance),
                          task=TaskInfo(task),
                          taskUuid=task_uuid,
                      )
                  ),
                  default=str,
              )
          )
      }
  
imports: from __future__ import annotations
  import datetime
  import json
  import logging
  import os
  from contextlib import suppress
  from functools import wraps
  from typing import TYPE_CHECKING, Any, Iterable
  from urllib.parse import parse_qsl, urlencode, urlparse, urlunparse
  import attrs
  from attrs import asdict
  from openlineage.client.utils import RedactMixin
  from airflow.compat.functools import cache
  from airflow.configuration import conf
  from airflow.providers.openlineage.plugins.facets import AirflowMappedTaskRunFacet, AirflowRunFacet
  from airflow.utils.context import AirflowContextDeprecationWarning
  from airflow.utils.log.secrets_masker import Redactable, Redacted, SecretsMasker, should_hide_value_for_key
label_desc: Use image node_id 9 for calling a global function with example usage: get_airflow_run_facet(dag_run, dag, task_instance, task, task_uuid) and returns: dict