An Airflow plugin for interacting with IOMETE platform.
Project description
IOMETE Airflow Plugin
This Plugin helps to trigger/run Spark Jobs created in IOMETE platform.
Requirements
- Apache Airflow
>=2.10.5, <4.0.0 - Python
3.10–3.13
Installation
This plugin could be easily installed with pip. Just run the following in your aiflow server:
pip install iomete-airflow-plugin
Restart you server and check the plugins page on Airflow's admin panel to make sure plugin loaded successfully.
Usage
Pass your IOMETE connection details directly to IometeOperator. A single Airflow instance can trigger jobs against multiple IOMETE clusters by passing different host/domain/access_token values per task.
from airflow import DAG
from iomete_airflow_plugin.iomete_operator import IometeOperator
dag = DAG(dag_id="...", default_args={}, schedule=None)
task = IometeOperator(
task_id="random_task_id",
job_id="1b0fc29b-5491-4c0a-94ea-48e304c3c72e", # Spark Job ID or Name in IOMETE platform.
host="https://YOUR.iomete.host",
domain="YOUR_DOMAIN",
access_token="YOUR_ACCESS_TOKEN",
dag=dag,
)
To avoid repeating credentials on every task, put them in the DAG's default_args:
dag = DAG(
dag_id="...",
default_args={
"host": "https://YOUR.iomete.host",
"domain": "YOUR_DOMAIN",
"access_token": "YOUR_ACCESS_TOKEN",
},
schedule=None,
)
Loading the access token from an Airflow Variable
If you store tokens as Airflow Variables (one per target IOMETE cluster), pass the Variable name via access_token_variable instead of the raw token. The plugin calls Variable.get at task-execute time, so different tasks can target different IOMETE clusters by naming different Variables. We recommend prefixing your Variable names with iomete_ to keep them grouped in Admin → Variables.
# Define an Airflow Variable named "iomete_prod_token" in Admin → Variables, then:
task = IometeOperator(
task_id="run_on_prod",
job_id="...",
host="https://prod.iomete.com",
domain="prod",
access_token_variable="iomete_prod_token",
dag=dag,
)
Specify either access_token or access_token_variable, never both. If the resolved Variable is unset or empty at execute time the task fails with a clear error.
Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
job_id |
str |
yes | — | Spark Job ID or name in the IOMETE platform. |
host |
str |
yes | — | IOMETE platform host URL. |
domain |
str |
yes | — | IOMETE domain identifier. |
access_token |
str |
one of these two | — | Personal access token, passed as a raw string. |
access_token_variable |
str |
one of these two | — | Name of an Airflow Variable holding the token. Resolved via Variable.get at execute time. |
host_verify |
bool |
no | True |
Verify the TLS certificate of the IOMETE host. |
host, domain, and access_token_variable are Jinja-templatable. access_token is not templatable: Airflow persists rendered template fields to its metadata database and exposes them in the UI, so templating raw tokens would leak them. Use access_token_variable to template the lookup name instead.
Migrating from 2.x
The 2.x plugin read connection details from four Airflow Variables (iomete_host, iomete_access_token, iomete_domain, iomete_host_verify) and exposed a variable_prefix parameter to namespace them. Both are gone in 3.0.0. Pass host, domain, and either access_token or access_token_variable (and optionally host_verify) directly to IometeOperator. If you previously used variable_prefix, set access_token_variable to the full Airflow Variable name instead (e.g. access_token_variable="iomete_prod_token").
Resources
For more information check:
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file iomete_airflow_plugin-3.1.0.tar.gz.
File metadata
- Download URL: iomete_airflow_plugin-3.1.0.tar.gz
- Upload date:
- Size: 5.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.3 CPython/3.13.5 Darwin/24.4.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
aac6fe8c6d15acf500004c4b78e3fd62dc53a6bc6fd8a3c66d0e539b79b02a6a
|
|
| MD5 |
57db46b1ace9acbd57dae41cc794a1f2
|
|
| BLAKE2b-256 |
cb3f8c0f4a8a64404e491a93035ab162c6fe044b3e0809f28e55913b2c946b62
|
File details
Details for the file iomete_airflow_plugin-3.1.0-py3-none-any.whl.
File metadata
- Download URL: iomete_airflow_plugin-3.1.0-py3-none-any.whl
- Upload date:
- Size: 6.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.3 CPython/3.13.5 Darwin/24.4.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6da728864b90d8beebe426bb20d643ceb4cfb1ecc62c82799cad9a16aeb9585c
|
|
| MD5 |
593e612bf4b616b48a7188a68c74f05f
|
|
| BLAKE2b-256 |
109b8499456eed9db008c9d1725ccfe058adb140e1e19d414a487ab12f7797d6
|