| :mod:`airflow.contrib.hooks.datastore_hook` |
| =========================================== |
| |
| .. py:module:: airflow.contrib.hooks.datastore_hook |
| |
| |
| Module Contents |
| --------------- |
| |
| .. py:class:: DatastoreHook(datastore_conn_id='google_cloud_datastore_default', delegate_to=None, api_version='v1') |
| |
| Bases: :class:`airflow.contrib.hooks.gcp_api_base_hook.GoogleCloudBaseHook` |
| |
| Interact with Google Cloud Datastore. This hook uses the Google Cloud Platform connection. |
| |
| This object is not threads safe. If you want to make multiple requests |
| simultaneously, you will need to create a hook per thread. |
| |
| :param api_version: The version of the API it is going to connect to. |
| :type api_version: str |
| |
| |
| .. method:: get_conn(self, version=None) |
| |
| Establishes a connection to the Google API. |
| |
| :return: a Google Cloud Datastore service object. |
| :rtype: Resource |
| |
| |
| |
| |
| .. method:: allocate_ids(self, partial_keys) |
| |
| Allocate IDs for incomplete keys. |
| |
| .. seealso:: |
| https://cloud.google.com/datastore/docs/reference/rest/v1/projects/allocateIds |
| |
| :param partial_keys: a list of partial keys. |
| :type partial_keys: list |
| :return: a list of full keys. |
| :rtype: list |
| |
| |
| |
| |
| .. method:: begin_transaction(self) |
| |
| Begins a new transaction. |
| |
| .. seealso:: |
| https://cloud.google.com/datastore/docs/reference/rest/v1/projects/beginTransaction |
| |
| :return: a transaction handle. |
| :rtype: str |
| |
| |
| |
| |
| .. method:: commit(self, body) |
| |
| Commit a transaction, optionally creating, deleting or modifying some entities. |
| |
| .. seealso:: |
| https://cloud.google.com/datastore/docs/reference/rest/v1/projects/commit |
| |
| :param body: the body of the commit request. |
| :type body: dict |
| :return: the response body of the commit request. |
| :rtype: dict |
| |
| |
| |
| |
| .. method:: lookup(self, keys, read_consistency=None, transaction=None) |
| |
| Lookup some entities by key. |
| |
| .. seealso:: |
| https://cloud.google.com/datastore/docs/reference/rest/v1/projects/lookup |
| |
| :param keys: the keys to lookup. |
| :type keys: list |
| :param read_consistency: the read consistency to use. default, strong or eventual. |
| Cannot be used with a transaction. |
| :type read_consistency: str |
| :param transaction: the transaction to use, if any. |
| :type transaction: str |
| :return: the response body of the lookup request. |
| :rtype: dict |
| |
| |
| |
| |
| .. method:: rollback(self, transaction) |
| |
| Roll back a transaction. |
| |
| .. seealso:: |
| https://cloud.google.com/datastore/docs/reference/rest/v1/projects/rollback |
| |
| :param transaction: the transaction to roll back. |
| :type transaction: str |
| |
| |
| |
| |
| .. method:: run_query(self, body) |
| |
| Run a query for entities. |
| |
| .. seealso:: |
| https://cloud.google.com/datastore/docs/reference/rest/v1/projects/runQuery |
| |
| :param body: the body of the query request. |
| :type body: dict |
| :return: the batch of query results. |
| :rtype: dict |
| |
| |
| |
| |
| .. method:: get_operation(self, name) |
| |
| Gets the latest state of a long-running operation. |
| |
| .. seealso:: |
| https://cloud.google.com/datastore/docs/reference/data/rest/v1/projects.operations/get |
| |
| :param name: the name of the operation resource. |
| :type name: str |
| :return: a resource operation instance. |
| :rtype: dict |
| |
| |
| |
| |
| .. method:: delete_operation(self, name) |
| |
| Deletes the long-running operation. |
| |
| .. seealso:: |
| https://cloud.google.com/datastore/docs/reference/data/rest/v1/projects.operations/delete |
| |
| :param name: the name of the operation resource. |
| :type name: str |
| :return: none if successful. |
| :rtype: dict |
| |
| |
| |
| |
| .. method:: poll_operation_until_done(self, name, polling_interval_in_seconds) |
| |
| Poll backup operation state until it's completed. |
| |
| :param name: the name of the operation resource |
| :type name: str |
| :param polling_interval_in_seconds: The number of seconds to wait before calling another request. |
| :type polling_interval_in_seconds: int |
| :return: a resource operation instance. |
| :rtype: dict |
| |
| |
| |
| |
| .. method:: export_to_storage_bucket(self, bucket, namespace=None, entity_filter=None, labels=None) |
| |
| Export entities from Cloud Datastore to Cloud Storage for backup. |
| |
| .. note:: |
| Keep in mind that this requests the Admin API not the Data API. |
| |
| .. seealso:: |
| https://cloud.google.com/datastore/docs/reference/admin/rest/v1/projects/export |
| |
| :param bucket: The name of the Cloud Storage bucket. |
| :type bucket: str |
| :param namespace: The Cloud Storage namespace path. |
| :type namespace: str |
| :param entity_filter: Description of what data from the project is included in the export. |
| :type entity_filter: dict |
| :param labels: Client-assigned labels. |
| :type labels: dict of str |
| :return: a resource operation instance. |
| :rtype: dict |
| |
| |
| |
| |
| .. method:: import_from_storage_bucket(self, bucket, file, namespace=None, entity_filter=None, labels=None) |
| |
| Import a backup from Cloud Storage to Cloud Datastore. |
| |
| .. note:: |
| Keep in mind that this requests the Admin API not the Data API. |
| |
| .. seealso:: |
| https://cloud.google.com/datastore/docs/reference/admin/rest/v1/projects/import |
| |
| :param bucket: The name of the Cloud Storage bucket. |
| :type bucket: str |
| :param file: the metadata file written by the projects.export operation. |
| :type file: str |
| :param namespace: The Cloud Storage namespace path. |
| :type namespace: str |
| :param entity_filter: specify which kinds/namespaces are to be imported. |
| :type entity_filter: dict |
| :param labels: Client-assigned labels. |
| :type labels: dict of str |
| :return: a resource operation instance. |
| :rtype: dict |
| |
| |
| |
| |