Пример #1
0
def check_object(container, object):
    """Check object in Swift.

    1. If the object exists.
    2. Object size.

    :param container: Container name.
    :param object: Object name.
    :return: True if object exists, otherwise return False.
    """
    swift_conn = keystone.get_swiftclient()

    try:
        header = swift_conn.head_object(container, object)
    except ClientException:
        LOG.error('The object %s in container %s was not found', object,
                  container)
        return False
    except Exception:
        LOG.exception("Error when communicating with Swift.")
        return False

    if int(header['content-length']) > constants.MAX_PACKAGE_SIZE:
        LOG.error('Object size is greater than %s', constants.MAX_PACKAGE_SIZE)
        return False

    return True
Пример #2
0
def download_object(container, object):
    swift_conn = keystone.get_swiftclient()

    # Specify 'resp_chunk_size' here to return a file reader.
    _, obj_reader = swift_conn.get_object(
        container, object, resp_chunk_size=65536
    )

    return obj_reader
Пример #3
0
def download_object(container, object):
    swift_conn = keystone.get_swiftclient()

    try:
        # Specify 'resp_chunk_size' here to return a file reader.
        _, obj_reader = swift_conn.get_object(container,
                                              object,
                                              resp_chunk_size=65536)
    except Exception:
        LOG.exception("Error when downloading object from Swift.")
        raise exc.SwiftException()

    return obj_reader
Пример #4
0
def check_object(container, object):
    """Check if object exists in Swift.

    :param container: Container name.
    :param object: Object name.
    :return: True if object exists, otherwise return False.
    """
    swift_conn = keystone.get_swiftclient()

    try:
        swift_conn.head_object(container, object)
        return True
    except ClientException:
        LOG.error('The object %s in container %s was not found', object,
                  container)
        return False