AI Powered integration with expert operators

Azure Blob Storage

Integration iPaaS Agency

Azure Blob Storage sits underneath more retail integrations than its dashboard suggests: price files, stock feeds, EDI drops, marketplace exports, all landing in containers nobody quite owns. The failure mode is rarely the storage account. It's the file that arrived late, the schema that changed without warning, and the margin that leaked out through a silent drop in a container nobody was watching.

Castore
Lounge
Oliver Bonas
Green People
Tatty Devine
Cult
Intelligent Consulting

Most Azure Blob Storage work we're brought into starts with a margin question, not a technical one: why did last month's landed cost run high, or why did a container of return credits sit unprocessed for ten days. We start by pulling the containers apart by purpose: which hold inbound feeds, which hold outbound exports, which are dead drops left by a project that moved on. A storage account with a SAS token for every partner, never rotated, tells you who built this in a hurry. Before we recommend anything, we map what's actually landing, how often, and which team would notice if it stopped. That diagnostic is what turns into a scoped build, not a guess at architecture.

Detailed Solution Design

Blob Storage doesn't own anything. It's a drop point, which is exactly the problem when two systems both assume it's authoritative. Ownership and handoff redesign starts with naming, container by container, which system writes first and which system only reads: a landed cost file that ERP should treat as read-only, a warehouse feed written by a 3PL that nobody else touches. The costly version of this gets skipped: a marketing team drops a product feed into the same container a pricing job reads from, and a promotional price survives two weeks after the campaign ends because nobody agreed who could overwrite what.

Ownership map: - Containers: who writes, who reads, who deletes - SAS tokens: scoped by permission and expiry, not shared as a master key - Schema changes: owned by the producing system, versioned, never silent

Get this wrong and the integration looks healthy right up until a stale file gets read as current.

Smooth Integration

Point-to-point blob integrations age badly. Each new partner means another SAS token, another schema to track, another CSV someone's quietly uploading by hand to cover a gap nobody fixed. That manual step is a common tell: a named person pulling a file every morning is doing the work the architecture should be doing.

Patchworks gives this a proper home. Containers become managed connections rather than one-off scripts, schema changes are caught before they corrupt a feed, and onboarding a new warehouse or marketplace takes days of configuration, not a rebuild. Cost stays predictable because adding a channel doesn't mean adding a bespoke integration to maintain.

Cogent² runs this with AI-assisted monitoring watching arrival patterns and schema drift across every container, flagging what a human reviewer would otherwise catch days late. We're operators who use that tooling well, not a vendor selling the tooling itself.

Visibility

Monitoring a blob-based feed means watching for absence as much as error. A file that doesn't arrive by six in the morning looks identical to a quiet night, until three days later someone in finance asks why landed costs haven't updated. We set alerting on file arrival windows, row counts against a rolling average, and schema drift on column names and types, because a renamed column passes silently and a mapped field starts receiving nulls.

Where this breaks: a partner renames a field in their export, the consuming system maps it to the old name, and for two weeks every stock update for that supplier writes zero. Nobody notices because the job runs green. It only surfaces at a stocktake, or when a customer orders something the warehouse has already sold out of.

Training

Whoever owns a container needs a one-page runbook: what lands, how often, what a stale file looks like, who to call. We write these short on purpose, because long SOPs don't get read at seven in the morning when a feed is missing. Named escalation matters more than documentation volume: one person for SAS token rotation, one for schema questions on the producing side, one for the consuming system. Without named owners, a missing file becomes a group chat instead of a fix.

Support

After go-live we stay on the containers through the first peak, because that's when file volumes jump and a feed sized for a normal Tuesday starts arriving in batches the trigger wasn't built to handle. Hypercare means watching arrival timing, queue depth and retry counts daily, not waiting for a complaint to surface the gap. Escalation during peak needs a shorter path than the standard runbook: a direct line to whoever can rotate a SAS token or bump a trigger's concurrency in the middle of the night, not a ticket queue. Once the pattern holds through one full peak, we step back to a lighter cadence, but the runbooks and alerts stay in place for whoever's on call next.

Integration operating model

Day to day, this runs on exceptions, not dashboards. The team that owns the business process, finance for cost files, merchandising for pricing feeds, fulfilment for stock, should be the one reviewing failed-file alerts, not a central integration team fielding every container across the business. We split ownership three ways:

  • Container ownership: who's accountable for what lands and when
  • Exception handling: who resolves a failed parse or missing file, and how fast
  • Change control: who approves a schema change before it ships

That split is what stops a SAS token expiring quietly on a Friday and nobody finding out until Monday's stock feed fails. It also stops every unusual file landing on the desk of whoever built the integration two years ago and has since moved teams.

Common failures

Silent schema drift on a partner feed

Operational impact: A renamed or reordered column in a blob export maps to the wrong field, so stock or cost data updates with nulls or zeros instead of failing outright, and nobody notices until a stocktake or a finance review flags it.

Prevention or action: Alert on schema drift (column names, types, count) separately from alerting on job success, and treat any schema change as a versioned event the producing system owns.

Pagination caps truncate exports

Operational impact: A returns or shipment API feeding a blob export caps records per page; an integration built against an old limit silently drops records beyond it, leaving items unreported until a stock reconciliation gap appears.

Prevention or action: Build cursor-based pagination against current vendor limits, and test against a file volume larger than the biggest day on record, not an average day.

SAS token over-scoped or left to expire

Operational impact: A token issued with account-wide access and no expiry becomes a standing security gap, while an expired token breaks a feed without warning at the worst possible moment, often mid-peak.

Prevention or action: Scope every SAS token to the minimum permission and container needed, set and track expiry, and rotate on a schedule a named owner is accountable for.

Manual CSV propping up a missing feed

Operational impact: A named person uploads a file every morning because an automated feed was never finished; the process looks stable until that person is on leave or leaves the business, and the gap shows up as a stock or cost discrepancy.

Prevention or action: Treat a recurring manual upload as an unfinished integration, not a workaround, and scope it into the build rather than leaving it in someone's calendar.

Frequently asked questions

Does Azure Blob Storage own inventory data, or does ERP?

Blob Storage never owns data; it's a drop point. Inventory ownership sits with whichever system, usually ERP or a WMS, is agreed as the source of truth, with the container acting purely as the transport between it and everything else.

How do we reconcile cost or payout files that arrive through blob exports?

Reconcile against row counts and totals in the source system before a cost file is treated as final, not after it's loaded into finance. A mismatch caught at the blob stage is a five-minute fix; caught at month end, it's a rebuild.

What happens to blob feeds at peak?

File sizes and arrival frequency both jump, and a trigger or queue sized for a normal week can fall behind. We test trigger concurrency and queue depth against last year's peak volume, not current averages, before the first peak after go-live.

How long does an Azure Blob Storage integration take to build?

It depends on how many containers and partners are involved, but the diagnostic and container audit typically take one to two weeks, with the build and cutover following a scoped plan rather than a fixed timeline quoted blind.

Can we use Blob Storage with SFTP instead of the REST API?

Yes, if the hierarchical namespace feature and SFTP are switched on, but only route through SFTP if a partner genuinely can't speak the REST API. Direct, SAS-scoped REST connections have fewer moving parts and fewer failure points to monitor.

Who should hold the SAS token for a new partner integration?

Whoever operates that specific feed, scoped to only the container and permission they need, with an expiry a named owner tracks. A shared master key handed round the business is how one leaver becomes a security incident.

Get Started

We would love to hear about your brand and project