airflow.hooks.S3_hook¶
Interact with AWS S3, using the boto3 library.
Module Contents¶
- 
class airflow.hooks.S3_hook.S3Hook[source]¶
- Bases: - airflow.contrib.hooks.aws_hook.AwsHook- Interact with AWS S3, using the boto3 library. - 
check_for_bucket(self, bucket_name)[source]¶
- Check if bucket_name exists. - Parameters
- bucket_name (str) – the name of the bucket 
 
 - 
get_bucket(self, bucket_name)[source]¶
- Returns a boto3.S3.Bucket object - Parameters
- bucket_name (str) – the name of the bucket 
 
 - 
check_for_prefix(self, bucket_name, prefix, delimiter)[source]¶
- Checks that a prefix exists in a bucket 
 - 
list_prefixes(self, bucket_name, prefix='', delimiter='', page_size=None, max_items=None)[source]¶
- Lists prefixes in a bucket under prefix 
 - 
list_keys(self, bucket_name, prefix='', delimiter='', page_size=None, max_items=None)[source]¶
- Lists keys in a bucket under prefix and not containing delimiter 
 - 
select_key(self, key, bucket_name=None, expression='SELECT * FROM S3Object', expression_type='SQL', input_serialization=None, output_serialization=None)[source]¶
- Reads a key with S3 Select. - Parameters
- key (str) – S3 key that will point to the file 
- bucket_name (str) – Name of the bucket in which the file is stored 
- expression (str) – S3 Select expression 
- expression_type (str) – S3 Select expression type 
- input_serialization (dict) – S3 Select input data serialization format 
- output_serialization (dict) – S3 Select output data serialization format 
 
- Returns
- retrieved subset of original data by S3 Select 
- Return type
 - See also - For more details about S3 Select parameters: http://boto3.readthedocs.io/en/latest/reference/services/s3.html#S3.Client.select_object_content 
 - 
check_for_wildcard_key(self, wildcard_key, bucket_name=None, delimiter='')[source]¶
- Checks that a key matching a wildcard expression exists in a bucket 
 - 
get_wildcard_key(self, wildcard_key, bucket_name=None, delimiter='')[source]¶
- Returns a boto3.s3.Object object matching the wildcard expression 
 - 
load_file(self, filename, key, bucket_name=None, replace=False, encrypt=False, gzip=False, acl_policy=None)[source]¶
- Loads a local file to S3 - Parameters
- filename (str) – name of the file to load. 
- key (str) – S3 key that will point to the file 
- bucket_name (str) – Name of the bucket in which to store the file 
- replace (bool) – A flag to decide whether or not to overwrite the key if it already exists. If replace is False and the key exists, an error will be raised. 
- encrypt (bool) – If True, the file will be encrypted on the server-side by S3 and will be stored in an encrypted form while at rest in S3. 
- gzip (bool) – If True, the file will be compressed locally 
- acl_policy (str) – String specifying the canned ACL policy for the file being uploaded to the S3 bucket. 
 
 
 - 
load_string(self, string_data, key, bucket_name=None, replace=False, encrypt=False, encoding='utf-8', acl_policy=None)[source]¶
- Loads a string to S3 - This is provided as a convenience to drop a string in S3. It uses the boto infrastructure to ship a file to s3. - Parameters
- string_data (str) – str to set as content for the key. 
- key (str) – S3 key that will point to the file 
- bucket_name (str) – Name of the bucket in which to store the file 
- replace (bool) – A flag to decide whether or not to overwrite the key if it already exists 
- encrypt (bool) – If True, the file will be encrypted on the server-side by S3 and will be stored in an encrypted form while at rest in S3. 
- encoding (str) – The string to byte encoding 
- acl_policy (str) – The string to specify the canned ACL policy for the object to be uploaded 
 
 
 - 
load_bytes(self, bytes_data, key, bucket_name=None, replace=False, encrypt=False, acl_policy=None)[source]¶
- Loads bytes to S3 - This is provided as a convenience to drop a string in S3. It uses the boto infrastructure to ship a file to s3. - Parameters
- bytes_data (bytes) – bytes to set as content for the key. 
- key (str) – S3 key that will point to the file 
- bucket_name (str) – Name of the bucket in which to store the file 
- replace (bool) – A flag to decide whether or not to overwrite the key if it already exists 
- encrypt (bool) – If True, the file will be encrypted on the server-side by S3 and will be stored in an encrypted form while at rest in S3. 
- acl_policy (str) – The string to specify the canned ACL policy for the object to be uploaded 
 
 
 - 
load_file_obj(self, file_obj, key, bucket_name=None, replace=False, encrypt=False, acl_policy=None)[source]¶
- Loads a file object to S3 - Parameters
- file_obj (file-like object) – The file-like object to set as the content for the S3 key. 
- key (str) – S3 key that will point to the file 
- bucket_name (str) – Name of the bucket in which to store the file 
- replace (bool) – A flag that indicates whether to overwrite the key if it already exists. 
- encrypt (bool) – If True, S3 encrypts the file on the server, and the file is stored in encrypted form at rest in S3. 
- acl_policy (str) – The string to specify the canned ACL policy for the object to be uploaded 
 
 
 - 
_upload_file_obj(self, file_obj, key, bucket_name=None, replace=False, encrypt=False, acl_policy=None)[source]¶
 - 
copy_object(self, source_bucket_key, dest_bucket_key, source_bucket_name=None, dest_bucket_name=None, source_version_id=None, acl_policy='private')[source]¶
- Creates a copy of an object that is already stored in S3. - Note: the S3 connection used here needs to have access to both source and destination bucket/key. - Parameters
- source_bucket_key (str) – - The key of the source object. - It can be either full s3:// style url or relative path from root level. - When it’s specified as a full s3:// url, please omit source_bucket_name. 
- dest_bucket_key (str) – - The key of the object to copy to. - The convention to specify dest_bucket_key is the same as source_bucket_key. 
- source_bucket_name (str) – - Name of the S3 bucket where the source object is in. - It should be omitted when source_bucket_key is provided as a full s3:// url. 
- dest_bucket_name (str) – - Name of the S3 bucket to where the object is copied. - It should be omitted when dest_bucket_key is provided as a full s3:// url. 
- source_version_id (str) – Version ID of the source object (OPTIONAL) 
- acl_policy (str) – The string to specify the canned ACL policy for the object to be copied which is private by default. 
 
 
 
-