| :py:mod:`airflow.providers.google.suite.hooks.drive` |
| ==================================================== |
| |
| .. py:module:: airflow.providers.google.suite.hooks.drive |
| |
| .. autoapi-nested-parse:: |
| |
| Hook for Google Drive service |
| |
| |
| |
| Module Contents |
| --------------- |
| |
| Classes |
| ~~~~~~~ |
| |
| .. autoapisummary:: |
| |
| airflow.providers.google.suite.hooks.drive.GoogleDriveHook |
| |
| |
| |
| |
| .. py:class:: GoogleDriveHook(api_version = 'v3', gcp_conn_id = 'google_cloud_default', delegate_to = None, impersonation_chain = None) |
| |
| Bases: :py:obj:`airflow.providers.google.common.hooks.base_google.GoogleBaseHook` |
| |
| Hook for the Google Drive APIs. |
| |
| :param api_version: API version used (for example v3). |
| :param gcp_conn_id: The connection ID to use when fetching connection info. |
| :param delegate_to: The account to impersonate using domain-wide delegation of authority, |
| if any. For this to work, the service account making the request must have |
| domain-wide delegation enabled. |
| :param impersonation_chain: Optional service account to impersonate using short-term |
| credentials, or chained list of accounts required to get the access_token |
| of the last account in the list, which will be impersonated in the request. |
| If set as a string, the account must grant the originating account |
| the Service Account Token Creator IAM role. |
| If set as a sequence, the identities from the list must grant |
| Service Account Token Creator IAM role to the directly preceding identity, with first |
| account from the list granting this role to the originating account. |
| |
| .. py:method:: get_conn(self) |
| |
| Retrieves the connection to Google Drive. |
| |
| :return: Google Drive services object. |
| |
| |
| .. py:method:: get_media_request(self, file_id) |
| |
| Returns a get_media http request to a Google Drive object. |
| |
| :param file_id: The Google Drive file id |
| :return: request |
| :rtype: HttpRequest |
| |
| |
| .. py:method:: exists(self, folder_id, file_name, drive_id = None) |
| |
| Checks to see if a file exists within a Google Drive folder |
| |
| :param folder_id: The id of the Google Drive folder in which the file resides |
| :param file_name: The name of a file in Google Drive |
| :param drive_id: Optional. The id of the shared Google Drive in which the file resides. |
| :return: True if the file exists, False otherwise |
| :rtype: bool |
| |
| |
| .. py:method:: get_file_id(self, folder_id, file_name, drive_id = None) |
| |
| Returns the file id of a Google Drive file |
| |
| :param folder_id: The id of the Google Drive folder in which the file resides |
| :param file_name: The name of a file in Google Drive |
| :param drive_id: Optional. The id of the shared Google Drive in which the file resides. |
| :return: Google Drive file id if the file exists, otherwise None |
| :rtype: str if file exists else None |
| |
| |
| .. py:method:: upload_file(self, local_location, remote_location, chunk_size = 100 * 1024 * 1024, resumable = False) |
| |
| Uploads a file that is available locally to a Google Drive service. |
| |
| :param local_location: The path where the file is available. |
| :param remote_location: The path where the file will be send |
| :param chunk_size: File will be uploaded in chunks of this many bytes. Only |
| used if resumable=True. Pass in a value of -1 if the file is to be |
| uploaded as a single chunk. Note that Google App Engine has a 5MB limit |
| on request size, so you should never set your chunk size larger than 5MB, |
| or to -1. |
| :param resumable: True if this is a resumable upload. False means upload |
| in a single request. |
| :return: File ID |
| :rtype: str |
| |
| |
| .. py:method:: download_file(self, file_id, file_handle, chunk_size = 100 * 1024 * 1024) |
| |
| Download a file from Google Drive. |
| |
| :param file_id: the id of the file |
| :param file_handle: file handle used to write the content to |
| :param chunk_size: File will be downloaded in chunks of this many bytes. |
| |
| |
| |