.. autoclass:: moto.s3.models.S3Backend
[X] abort_multipart_upload
[X] complete_multipart_upload
[X] copy_object
[X] create_bucket
[X] create_multipart_upload
[ ] create_session
[X] delete_bucket
[ ] delete_bucket_analytics_configuration
[X] delete_bucket_cors
[X] delete_bucket_encryption
[ ] delete_bucket_intelligent_tiering_configuration
[ ] delete_bucket_inventory_configuration
[X] delete_bucket_lifecycle
[ ] delete_bucket_metrics_configuration
[X] delete_bucket_ownership_controls
[X] delete_bucket_policy
[X] delete_bucket_replication
[X] delete_bucket_tagging
[X] delete_bucket_website
[X] delete_object
[X] delete_object_tagging
[X] delete_objects
[X] delete_public_access_block
[ ] get_bucket_accelerate_configuration
[X] get_bucket_acl
[ ] get_bucket_analytics_configuration
[X] get_bucket_cors
[X] get_bucket_encryption
[ ] get_bucket_intelligent_tiering_configuration
[ ] get_bucket_inventory_configuration
[X] get_bucket_lifecycle
[ ] get_bucket_lifecycle_configuration
[X] get_bucket_location
[X] get_bucket_logging
[ ] get_bucket_metrics_configuration
[ ] get_bucket_notification
[X] get_bucket_notification_configuration
[X] get_bucket_ownership_controls
[X] get_bucket_policy
[ ] get_bucket_policy_status
[X] get_bucket_replication
[ ] get_bucket_request_payment
[X] get_bucket_tagging
[X] get_bucket_versioning
[ ] get_bucket_website
[X] get_object
[X] get_object_acl
[X] get_object_attributes
The following attributes are not yet returned: DeleteMarker, RequestCharged, ObjectParts
[X] get_object_legal_hold
[X] get_object_lock_configuration
[ ] get_object_retention
[X] get_object_tagging
[ ] get_object_torrent
[X] get_public_access_block
[X] head_bucket
[X] head_object
[ ] list_bucket_analytics_configurations
[ ] list_bucket_intelligent_tiering_configurations
[ ] list_bucket_inventory_configurations
[ ] list_bucket_metrics_configurations
[X] list_buckets
[ ] list_directory_buckets
[ ] list_multipart_uploads
[X] list_object_versions
[X] list_objects
[X] list_objects_v2
[X] list_parts
[X] put_bucket_accelerate_configuration
[X] put_bucket_acl
[ ] put_bucket_analytics_configuration
[X] put_bucket_cors
[X] put_bucket_encryption
[ ] put_bucket_intelligent_tiering_configuration
[ ] put_bucket_inventory_configuration
[X] put_bucket_lifecycle
[ ] put_bucket_lifecycle_configuration
[X] put_bucket_logging
[ ] put_bucket_metrics_configuration
[ ] put_bucket_notification
[X] put_bucket_notification_configuration
The configuration can be persisted, but at the moment we only send notifications to the following targets:
- AWSLambda
- SNS
- SQS
- EventBridge
- For the following events:
- 's3:ObjectCreated:Copy'
- 's3:ObjectCreated:Put'
[X] put_bucket_ownership_controls
[X] put_bucket_policy
Basic policy enforcement is in place.
- Restrictions:
- Only statements with principal=* are taken into account
- Conditions are not taken into account
[X] put_bucket_replication
[ ] put_bucket_request_payment
[X] put_bucket_tagging
[X] put_bucket_versioning
[ ] put_bucket_website
[X] put_object
[X] put_object_acl
[X] put_object_legal_hold
[X] put_object_lock_configuration
[X] put_object_retention
[X] put_object_tagging
[X] put_public_access_block
[ ] restore_object
[X] select_object_content
Highly experimental. Please raise an issue if you find any inconsistencies/bugs.
- Known missing features:
- Function aliases (count(*) as cnt)
- Most functions (only count() is supported)
- Result is always in JSON
- FieldDelimiters are ignored
[X] upload_part
[X] upload_part_copy
[ ] write_get_object_response