list_object_versions#

Improve the list_object_versions and ListObjectVersions API.

New in version 2.0.1.

class s3pathlib.better_client.list_object_versions.ObjectVersionTypeDefIterproxy(iterable: Iterable)[source]#

An iterproxy that yields the “Versions” part of the ListObjectVersions response.

New in version 2.0.1.

class s3pathlib.better_client.list_object_versions.DeleteMarkerEntryTypeDefIterproxy(iterable: Iterable)[source]#

An iterproxy that yields the “DeleteMarkers” part of the ListObjectVersions response.

New in version 2.0.1.

class s3pathlib.better_client.list_object_versions.CommonPrefixTypeDefIterproxy(iterable: Iterable)[source]#

An iterproxy that yields the “CommonPrefixes” part of the ListObjectVersions response.

New in version 2.0.1.

class s3pathlib.better_client.list_object_versions.ListObjectVersionsOutputTypeDefIterproxy(iterable: Iterable)[source]#

An iterproxy that yields the original ListObjectVersions response. It has two utility methods to get the contents and common prefixes.

New in version 2.0.1.

versions() ObjectVersionTypeDefIterproxy[source]#

Iterate object versions.

New in version 2.0.1.

delete_markers() DeleteMarkerEntryTypeDefIterproxy[source]#

Iterate delete markers.

New in version 2.0.1.

common_prefixes() CommonPrefixTypeDefIterproxy[source]#

Iterate folders.

New in version 2.0.1.

versions_and_delete_markers_and_common_prefixes() Tuple[List[ObjectVersionTypeDef], List[DeleteMarkerEntryTypeDef], List[CommonPrefixTypeDef]][source]#

Return the full list of object versions, delete markers and folders.

New in version 2.0.1.

iterate_key_and_version() Iterator[Tuple[str, str]][source]#

Iterate the key and version pairs.

s3pathlib.better_client.list_object_versions.paginate_list_object_versions(s3_client: S3Client, bucket: str, prefix: str, batch_size: int = 1000, limit: int = Sentinel('NOTHING'), delimiter: str = Sentinel('NOTHING'), encoding_type: str = Sentinel('NOTHING'), expected_bucket_owner: str = Sentinel('NOTHING')) ListObjectVersionsOutputTypeDefIterproxy[source]#

Wrapper of list_object_versions and ListObjectVersions. However, it returns a user-friendly ListObjectsV2OutputTypeDefIterproxy object.

Example:

>>> proxy = paginate_list_object_versions(
...     s3_client=s3_client,
...     bucket="my-bucket",
...     prefix="my-folder",
... )
>>> (versions, delete_markers, common_prefixes) = proxy.versions_and_delete_markers_and_common_prefixes()
Parameters:
Returns:

a ListObjectVersionsOutputTypeDefIterproxy object.

New in version 2.0.1.