Organize Blob and Object Storage Without File Search
· 5 min read · Updated

S3-compatible object storage and Azure Blob Storage are excellent at durable, scalable storage. Their basic model is simple on purpose: a bucket or container holds objects identified by keys. The data is safe, but finding a useful subset of it can be difficult.
A typical bucket may contain:
- Camera originals and edited exports
- Client deliverables and internal drafts
- Application uploads with generated names
- Logs, reports, backups, and temporary artifacts
- Years of prefixes created by different teams
Provider consoles commonly support listing by prefix and basic properties. They are not necessarily designed for selecting across several folders visually, reusable include and exclude rules, or rearranging objects into a structure people can browse.
Blober does not add full-text or AI search to object storage. What it does is narrower: it identifies files from their paths and metadata, then copies or moves them into a better layout.
- Browse and select a scope: a bucket area, a folder-like prefix, several folders, or specific files.
- Filter the scope by extension, creation age, size, recursive inclusion, or glob rules.
- Choose a destination: another provider, bucket, container, account, local disk, NAS, or a supported folder that does not overlap the source.
- Build the destination paths, either preserving the hierarchy or creating a custom layout with metadata variables.
The source provider does not need a native integration with the destination provider, because Blober connects to both endpoints from your computer.
Blober can target:
- Paths and filenames
- File extensions
- Source-reported created date
- Source-reported file size
- Folder depth through recursive selection
- Include and exclude glob patterns
Blober path workflows do not provide:
- OCR inside scanned documents
- Full-text search inside PDFs
- Face, object, or scene recognition
- Speech transcription
- Semantic search such as "all beach videos"
If filenames and paths follow useful conventions, Blober can act on them immediately. If the only useful information is inside the file contents, you still need a dedicated indexing system.
Suppose a bucket contains:
uploads/GX015742.MP4
uploads/GOPR0001.JPG
uploads/DSC_4821.ARW
uploads/contract.pdf
uploads/proxies/GX015742-low.mp4
Select uploads, then configure:
Include: **/*.{mp4,mov,jpg,jpeg,arw,dng}
Exclude: **/proxies/**
Template: media/{file_ext}/{file_created_date}/{filename}
The destination becomes browsable by extension and by the creation date the source reports. With the Copy action, the source stays unchanged.
A company bucket mixes customer uploads, generated reports, and temporary processing artifacts.
Selected prefix: production
Include: **/*.{pdf,csv,xlsx,json}
Exclude: **/{tmp,temp,cache,failed}/**
Template: records/{file_modified_date}/{file_dir}/{filename}
This creates a separate records archive and keeps each file's relative source folder in its path.
Large inactive files can stay expensive while they sit in active storage.
Create a workflow that:
- Selects completed project prefixes
- Filters to large files
- Excludes current working or proxy folders
- Copies to a lower-cost archive provider
- Preserves
{file_dir}/{filename}
Verify the archive before considering a move or source cleanup.
Where the adapter supports the selected source and destination action, Blober can copy or move between separate locations on the same provider. Within the same bucket or storage account (and the same region on S3), it first uses the provider's server-side copy, so the data does not pass through your computer; it streams the files only if that fails.
The destination cannot be the same as the source or nested inside a selected source folder. That overlap could make the scan loop over its own output or overwrite files. Choose a sibling prefix, a separate bucket or container, or a separate account.
For example:
Source: messy-imports
Destination: organized-archive
Template: {file_ext}/{file_created_date}/{file_dir}/{filename}
Copy first, then compare counts and sample files. Use Move only when you mean to delete the source.
A search index is appropriate when users need ongoing content discovery. It also brings ingestion, synchronization, schemas, permissions, infrastructure, and recurring cost.
Blober is useful when the immediate need is operational:
- "Copy every final MP4 but not proxies."
- "Move PDFs older than the working set into an archive."
- "Separate RAW files from exports."
- "Preserve every project subfolder while changing the top-level layout."
- "Collect large files into cheaper storage."
Each of those is a transfer with path rules, and none of them needs a permanent search service.
You can write the metadata people browse by into the destination paths during the transfer:
archive/{file_ext}/{file_created_date}/{file_dir}/{filename}
The destination can then be browsed by prefix:
- Start at type
- Narrow to a date
- Keep the project hierarchy
- End at the original filename
That turns an opaque dump into predictable paths, using information you already have.
- Start with one problem prefix.
- Use Copy.
- Add the smallest useful include/exclude rule.
- Add a path template only if keeping the existing structure is not enough.
- Review Preview & Summary.
- Run it, then check object counts and sample files.
- Widen the selection once the rule has proved itself.
See selection and glob filters for pattern details and the complete path-template guide for destination behavior.
Can Blober search inside files stored in S3 or Azure Blob? No. It selects by path, filename, extension, source-reported created date and size, folder depth, and glob patterns. OCR, full-text search, image recognition, transcription and semantic search need a dedicated indexing system.
Can I reorganize a bucket in place? You can copy or move to another location on the same provider where Blober supports it for that provider, but the destination cannot be the source or a folder inside it. Use a sibling prefix, another bucket or container, or another account.
Does organizing a bucket change the original files? Not with the Copy action, which leaves the source unchanged. Move deletes the source files, so copy first and check counts and samples before you move anything.