_S3Connection
Base class for managing connections to Amazon S3 buckets.
This class provides the foundational functionality for connecting to S3 buckets using either 's3fs' or 'boto3' as the underlying package.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
|
str
|
Package to use for S3 connections ('s3fs' or 'boto3'). Defaults to "boto3". |
'boto3'
|
Attributes:
| Name | Type | Description |
|---|---|---|
s3_package |
str
|
The package being used for S3 connectivity |
s3 |
str
|
The S3 connection object (initialized when needed) |
Raises:
| Type | Description |
|---|---|
ValueError
|
If s3_package is not 's3fs' or 'boto3' |
Examples:
Using boto3:
>>> conn = _S3Connection()
>>> conn._connect(
... aws_access_key_id='YOUR_KEY',
... aws_secret_access_key='YOUR_SECRET'
... )
Using s3fs with custom endpoint:
>>> conn = _S3Connection(s3_package='s3fs')
>>> conn._connect(endpoint_url='https://custom.endpoint')
Notes
- AWS credentials can be provided either through environment variables or as parameters during connection.
- Environment variables used:
- AWS_S3_ENDPOINT
- AWS_ACCESS_KEY_ID
- AWS_SECRET_ACCESS_KEY
- AWS_SESSION_TOKEN
Source code in dashboard_template_database/storage/s3/_connection.py
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 | |