Skip to content

iter_list_parts

iter_list_parts(
    bucket: BucketName,
    key: ObjectKey,
    upload_id: MultipartUploadId,
    *,
    config_overrides: Optional[S3ClientConfig] = None,
    max_parts: Optional[MaxParts] = None,
    part_number_marker: Optional[PartNumberMarker] = None,
    request_payer: Optional[RequestPayer] = None,
    expected_bucket_owner: Optional[AccountId] = None,
    sse_customer_algorithm: Optional[SSECustomerAlgorithm] = None,
    sse_customer_key: Optional[SSECustomerKey] = None,
    sse_customer_key_md5: Optional[SSECustomerKeyMD5] = None,
) -> Iterator[Part]
Source code in docs_src/capo_s3/_services/s3.py
def iter_list_parts(
    self,
    bucket: "capo_s3.types.bucket_name.BucketName",
    key: "capo_s3.types.object_key.ObjectKey",
    upload_id: "capo_s3.types.multipart_upload_id.MultipartUploadId",
    *,
    config_overrides: Optional[S3ClientConfig] = None,
    max_parts: Optional["capo_s3.types.max_parts.MaxParts"] = None,
    part_number_marker: Optional[
        "capo_s3.types.part_number_marker.PartNumberMarker"
    ] = None,
    request_payer: Optional["capo_s3.types.request_payer.RequestPayer"] = None,
    expected_bucket_owner: Optional["capo_s3.types.account_id.AccountId"] = None,
    sse_customer_algorithm: Optional[
        "capo_s3.types.sse_customer_algorithm.SSECustomerAlgorithm"
    ] = None,
    sse_customer_key: Optional[
        "capo_s3.types.sse_customer_key.SSECustomerKey"
    ] = None,
    sse_customer_key_md5: Optional[
        "capo_s3.types.sse_customer_key_md5.SSECustomerKeyMD5"
    ] = None,
) -> "Iterator[capo_s3.types.part.Part]":
    _token = part_number_marker
    while True:
        _response = self.list_parts(
            bucket,
            key,
            upload_id,
            config_overrides=config_overrides,
            max_parts=max_parts,
            part_number_marker=_token,
            request_payer=request_payer,
            expected_bucket_owner=expected_bucket_owner,
            sse_customer_algorithm=sse_customer_algorithm,
            sse_customer_key=sse_customer_key,
            sse_customer_key_md5=sse_customer_key_md5,
        )
        _page = _resolve_path(_response, ("parts",))
        for _item in _page or []:
            yield _item
        _token = _resolve_path(_response, ("next_part_number_marker",))
        if not _token or not _resolve_path(_response, ("is_truncated",)):
            break