airflow-provider-bigquery-reservation


Nameairflow-provider-bigquery-reservation JSON
Version 1.1.1 PyPI version JSON
download
home_pagehttps://github.com/PierreC1024/airflow-provider-bigquery-reservation
SummaryAn Apache Airflow provider concerning BigQuery reservation.
upload_time2023-03-24 08:25:21
maintainer
docs_urlNone
authorPierre Cardona
requires_python>=3.7
licenseApache License 2.0
keywords airflow bigquery
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <p align="center">
  <a href="https://www.airflow.apache.org">
    <img alt="Airflow" src="https://cwiki.apache.org/confluence/download/attachments/145723561/airflow_transparent.png?api=v2" width="60" />
  </a>
  <a href="https://cloud.google.com/bigquery/docs">
    <img alt="BigQuery Pricing" src="https://storage.googleapis.com/data-fullstack-utils-public/logo_bq_pricing_bg.png" width="80" />
  </a>
</p>
<h1 align="center">
  Airflow BigQuery Reservation Provider
</h1>
<br/>

[![PyPI version](https://badge.fury.io/py/airflow-provider-bigquery-reservation.svg)](https://badge.fury.io/py/airflow-provider-bigquery-reservation)
[![codecov](https://codecov.io/gh/PierreC1024/airflow-provider-bigquery-reservation/branch/main/graph/badge.svg?token=VQ18VBAGNO)](https://codecov.io/gh/PierreC1024/airflow-provider-bigquery-reservation)
![Github Action Test](https://github.com/PierreC1024/airflow-provider-bigquery-reservation/actions/workflows/test.yaml/badge.svg)

> **Warning**
> This package is a pre-released of the official apache-airflow-providers-google package. All of these operators will be integrated to the official package, soon.

This repository provides an Apache Airflow provider based on [BigQuery Reservation API](https://cloud.google.com/python/docs/reference/bigqueryreservation/latest).

## Airflow Operators
* `BigQueryReservationCreateOperator`: Buy BigQuery slots (commitments) and assign them to a GCP project (reserve and assign).
* `BigQueryReservationDeleteOperator`: Delete BigQuery commitments and remove associated ressources (rservation and assignment).
* `BigQueryBiEngineReservationCreateOperator`: Create or Update a BI engine reservation.
* `BigQueryBiEngineReservationDeleteOperator`: Delete or Update a BI engine reservation.

You could find DAG samples [here](https://github.com/PierreC1024/airflow-provider-bigquery-reservation/tree/main/airflow_provider_bigquery_reservation/example_dags).

### Requirements

* A [Google Cloud connection](https://airflow.apache.org/docs/apache-airflow-providers-google/stable/connections/gcp.html) has to be defined.
By default, all hooks and operators use `google_cloud_default`.
* This connection requires the following roles on the Google Cloud project(s) used in these operators:
  * [BigQuery Resource Admin](https://cloud.google.com/iam/docs/understanding-roles#bigquery.resourceAdmin)
  * [BigQuery Job User](https://cloud.google.com/iam/docs/understanding-roles#bigquery.jobUser) - *Required for `BigQueryReservationCreateOperator` because of the reservation attachment check.*

*Defining a new dedicated connection and custom GCP role could be good practices to respect the principle of least privilege.*

## How to install

```bash
pip install --user airflow-provider-bigquery-reservation
```

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/PierreC1024/airflow-provider-bigquery-reservation",
    "name": "airflow-provider-bigquery-reservation",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": "",
    "keywords": "airflow,bigquery",
    "author": "Pierre Cardona",
    "author_email": "pierre@data-fullstack.com",
    "download_url": "https://github.com/PierreC1024/airflow-provider-bigquery-reservation/archive/refs/tags/0.2.0.tar.gz",
    "platform": null,
    "description": "<p align=\"center\">\n  <a href=\"https://www.airflow.apache.org\">\n    <img alt=\"Airflow\" src=\"https://cwiki.apache.org/confluence/download/attachments/145723561/airflow_transparent.png?api=v2\" width=\"60\" />\n  </a>\n  <a href=\"https://cloud.google.com/bigquery/docs\">\n    <img alt=\"BigQuery Pricing\" src=\"https://storage.googleapis.com/data-fullstack-utils-public/logo_bq_pricing_bg.png\" width=\"80\" />\n  </a>\n</p>\n<h1 align=\"center\">\n  Airflow BigQuery Reservation Provider\n</h1>\n<br/>\n\n[![PyPI version](https://badge.fury.io/py/airflow-provider-bigquery-reservation.svg)](https://badge.fury.io/py/airflow-provider-bigquery-reservation)\n[![codecov](https://codecov.io/gh/PierreC1024/airflow-provider-bigquery-reservation/branch/main/graph/badge.svg?token=VQ18VBAGNO)](https://codecov.io/gh/PierreC1024/airflow-provider-bigquery-reservation)\n![Github Action Test](https://github.com/PierreC1024/airflow-provider-bigquery-reservation/actions/workflows/test.yaml/badge.svg)\n\n> **Warning**\n> This package is a pre-released of the official apache-airflow-providers-google package. All of these operators will be integrated to the official package, soon.\n\nThis repository provides an Apache Airflow provider based on [BigQuery Reservation API](https://cloud.google.com/python/docs/reference/bigqueryreservation/latest).\n\n## Airflow Operators\n* `BigQueryReservationCreateOperator`: Buy BigQuery slots (commitments) and assign them to a GCP project (reserve and assign).\n* `BigQueryReservationDeleteOperator`: Delete BigQuery commitments and remove associated ressources (rservation and assignment).\n* `BigQueryBiEngineReservationCreateOperator`: Create or Update a BI engine reservation.\n* `BigQueryBiEngineReservationDeleteOperator`: Delete or Update a BI engine reservation.\n\nYou could find DAG samples [here](https://github.com/PierreC1024/airflow-provider-bigquery-reservation/tree/main/airflow_provider_bigquery_reservation/example_dags).\n\n### Requirements\n\n* A [Google Cloud connection](https://airflow.apache.org/docs/apache-airflow-providers-google/stable/connections/gcp.html) has to be defined.\nBy default, all hooks and operators use `google_cloud_default`.\n* This connection requires the following roles on the Google Cloud project(s) used in these operators:\n  * [BigQuery Resource Admin](https://cloud.google.com/iam/docs/understanding-roles#bigquery.resourceAdmin)\n  * [BigQuery Job User](https://cloud.google.com/iam/docs/understanding-roles#bigquery.jobUser) - *Required for `BigQueryReservationCreateOperator` because of the reservation attachment check.*\n\n*Defining a new dedicated connection and custom GCP role could be good practices to respect the principle of least privilege.*\n\n## How to install\n\n```bash\npip install --user airflow-provider-bigquery-reservation\n```\n",
    "bugtrack_url": null,
    "license": "Apache License 2.0",
    "summary": "An Apache Airflow provider concerning BigQuery reservation.",
    "version": "1.1.1",
    "split_keywords": [
        "airflow",
        "bigquery"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6ce41e0fb487177f6e84b2299a5de1bf00d2b266325de8b82cf3f71140dac9db",
                "md5": "4a4b25aeabf1dfa8fb8ffb69b0f53086",
                "sha256": "9b5cacba58eeb927947d9bcb66900002d2358f95965a26116a50164e0be5e053"
            },
            "downloads": -1,
            "filename": "airflow_provider_bigquery_reservation-1.1.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "4a4b25aeabf1dfa8fb8ffb69b0f53086",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 16065,
            "upload_time": "2023-03-24T08:25:21",
            "upload_time_iso_8601": "2023-03-24T08:25:21.401796Z",
            "url": "https://files.pythonhosted.org/packages/6c/e4/1e0fb487177f6e84b2299a5de1bf00d2b266325de8b82cf3f71140dac9db/airflow_provider_bigquery_reservation-1.1.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-03-24 08:25:21",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "github_user": "PierreC1024",
    "github_project": "airflow-provider-bigquery-reservation",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "airflow-provider-bigquery-reservation"
}
        
Elapsed time: 0.05468s