> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lancedb.com/llms.txt
> Use this file to discover all available pages before exploring further.

# BLOB_DESCRIPTOR

> The blob_descriptor() scalar function: a BlobV2 column's payload location, without reading it.

**Applies to:** Embedded ❌, Enterprise ✅

```sql SQL icon="database" theme={"theme":{"light":"vitesse-light","dark":"catppuccin-mocha"}}
SELECT id, blob_descriptor(video) AS descriptor FROM videos
```

A [BlobV2](https://docs.lancedb.com/management/table.md#managed-blobs) column's bytes are not fetched by
a plain `SELECT`: that already returns `large_binary`, the same as any other
binary column. `blob_descriptor` instead returns a small struct describing
where the payload lives, without reading it. Pass one row's descriptor to
the SDK's blob file reader to open that payload directly:

```python Python icon="python" theme={"theme":{"light":"vitesse-light","dark":"catppuccin-mocha"}}
rows = db.execute_query("SELECT id, blob_descriptor(video) AS descriptor FROM videos").read_all().to_pylist()
with table.open_blob_file(rows[0]["descriptor"]) as reader:
    payload = reader.read()
```

A descriptor is pinned to the table version it was read at: it keeps
resolving correctly even after the table is appended to and checked out to a
newer version.

## What to read next

> [card] [Managed blobs](https://docs.lancedb.com/management/table.md#managed-blobs)
>
> The BlobV2 column type this function describes.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.