def _report_part(api, url, upload, part, e_tag):
    """
    Used by the worker to report the completion of the part upload.
    :param api: Api instance.
    :param url: Part url.
    :param upload: Upload identifier.
    :param part: Part number.
    :param e_tag: ETag
    """
    part_data = {
        'part_number': part,
        'response': {
            'headers': {
                'ETag': e_tag
            }
        }
    }
    try:
        api.post(
            url.format(upload_id=upload, part_number=''), data=part_data
        )
    except Exception as e:
        raise SbgError(
            'Unable to report part number {}. Reason: {}'.format(
                part, six.text_type(e)
            )
        )