human
I wrote the below code

    if (not blob_key):
        raise BlobKeyRequiredError('A    Blobkey    is    required    for    this    operation.')
    request = images_service_pb.ImagesDeleteUrlBaseRequest()
    response = images_service_pb.ImagesDeleteUrlBaseResponse()
    request.set_blob_key(_extract_blob_key(blob_key))
    def delete_serving_url_hook(rpc):
        'Checks    success,    handles    exceptions    and    returns    the    converted    RPC    result.\n\n                Args:\n                        rpc:    A    UserRPC    object.\n\n                Raises:\n                        See    docstring    for    delete_serving_url_async    for    more    details.\n                '
        try:
            rpc.check_success()
        except apiproxy_errors.ApplicationError as e:
            raise _ToImagesError(e, blob_key)
    return _make_async_call(rpc, 'DeleteUrlBase', request, response, delete_serving_url_hook, None)

What's a good function header?
assistant
#Here's a good function header.

def delete_serving_url_async(blob_key, rpc=None):