Implementing High-Throughput S3 Storage Integration with Custom Edge APIs & Native SDKs
Back to all articles
S3 Object Storage4 min readPublished on 8/28/2026

Implementing High-Throughput S3 Storage Integration with Custom Edge APIs & Native SDKs

Architect high-concurrency S3 storage pipelines using AZBrand custom REST APIs and native S3 SDKs. Learn direct uploads, 3-step presigned zero-buffer flows, and management integration across Node.js, Python, and Go.

A
AZBrand Editorial TeamTechnical Research • AZBrand

High-throughput cloud storage architectures require zero-buffer streaming, deterministic lifecycle execution, and low-latency edge ingestion. When building microservices that interact with modern object stores, relying solely on simple multipart forms can introduce bottlenecks at the API gateway level, resulting in CPU throttling, memory spikes, and socket exhaustion under high concurrency.

AZBrand Cloud Storage provides dual abstraction layers: a high-performance Custom REST API optimized for edge routing and control-plane orchestration, alongside an S3-Compatible Native Endpoint Layer designed for drop-in integration with infrastructure tooling like AWS CLI, Boto3, @aws-sdk/client-s3, and Rclone.

This architectural guide breaks down edge-native direct uploads, the enterprise-grade 3-step presigned direct upload pattern for massive payloads, administrative file/bucket management, and native S3 client configuration.


1. Architecture Design: Direct vs. 3-Step Presigned Pipelines

Architecting for data ingestion at scale requires selecting the correct upload pattern based on payload volume, network stability, and security context.

Direct Upload Flow (POST /files)

Suitable for smaller payloads (< 50 MB), web application forms, and fast operational scripts. The client sends a single multipart payload directly through the API gateway.

code
[ Client App ] --(Multipart/form-data with Key/Secret)--> [ AZBrand REST API Gateway ]
                                                                    |
                                                                    v
                                                         [ Storage Engine & Metadata DB ]

3-Step Presigned Zero-Buffer Pipeline (Large Files / High-Throughput)

Designed for high-throughput streaming (gigabyte to terabyte range), background worker tasks, and client-side uploads. This pattern decouples control plane authorization from data plane ingestion, preventing application servers from proxying heavy binary data.

code
[ Client App ] --(1. POST /files/presign)-------------> [ AZBrand Control Gateway ]
[ Client App ] <-- (Returns uploadUrl & Keys)---------- [ AZBrand Control Gateway ]
     |
     |--(2. Binary PUT Payload directly)--------------> [ Global Edge Storage Pool ]
     |
     +--(3. POST /files/complete Metadata Index)-----> [ AZBrand Control Gateway ]

Workflow Breakdown:

  1. Step 1 (Presign Phase): Requests single-use, timed authorization parameters and storage paths from POST /files/presign.
  2. Step 2 (Data Transfer Phase): Streams raw binary data directly to the edge storage node (uploadUrl) via standard HTTP PUT. No API application memory is consumed.
  3. Step 3 (Index & Verification Phase): Registers object completion metadata in POST /files/complete, making the object instantly discoverable and enforcing quota accounting.

2. API Endpoint & Security Reference

Gateway InterfaceEndpoint Base URL
Custom REST Management APIhttps://azbrand.ca/api/cloud-storage
Native S3 Endpoint Layerhttps://azbrand.ca/api/cloud-storage/v1

Mandatory Authentication Headers (Custom REST API)

All custom REST requests must pass the following headers:

  • x-az-access-key: Your AZBrand cloud tenant access key credential.
  • x-az-secret-key: Your AZBrand cloud tenant secret authorization key.

3. Implementation 1: Direct File Upload Pipeline (POST /files)

cURL

bash
curl -X POST https://azbrand.ca/api/cloud-storage/files \
  -H "x-az-access-key: AZ_ACCESS_KEY_EXAMPLE" \
  -H "x-az-secret-key: AZ_SECRET_KEY_EXAMPLE" \
  -F "bucketId=prd-data-vault" \
  -F "file=@/var/log/syslog.log"

Node.js (TypeScript)

typescript
import fs from 'fs';
import axios from 'axios';
import FormData from 'form-data';

async function uploadFileDirectly(filePath: string, bucketId: string): Promise<void> {
  const form = new FormData();
  form.append('bucketId', bucketId);
  form.append('file', fs.createReadStream(filePath));

  try {
    const response = await axios.post('https://azbrand.ca/api/cloud-storage/files', form, {
      headers: {
        ...form.getHeaders(),
        'x-az-access-key': process.env.AZ_ACCESS_KEY!,
        'x-az-secret-key': process.env.AZ_SECRET_KEY!,
      },
      maxBodyLength: Infinity,
      maxContentLength: Infinity,
    });
    console.log('Upload successful:', response.data);
  } catch (error: any) {
    console.error('Direct upload failed:', error.response?.data || error.message);
  }
}

Python 3

python
import os
import requests

def upload_file_direct(file_path: str, bucket_id: str):
    url = "https://azbrand.ca/api/cloud-storage/files"
    headers = {
        "x-az-access-key": os.getenv("AZ_ACCESS_KEY"),
        "x-az-secret-key": os.getenv("AZ_SECRET_KEY")
    }
    
    with open(file_path, "rb") as f:
        files = {"file": f}
        data = {"bucketId": bucket_id}
        response = requests.post(url, headers=headers, data=data, files=files)
        
    response.raise_for_status()
    return response.json()

Go

go
package main

import (
	"bytes"
	"io"
	"mime/multipart"
	"net/http"
	"os"
	"path/filepath"
)

func UploadFileDirect(filePath, bucketID, accessKey, secretKey string) error {
	file, err := os.Open(filePath)
	if err != nil {
		return err
	}
	defer file.Close()

	body := &bytes.Buffer{}
	writer := multipart.NewWriter(body)
	
	_ = writer.WriteField("bucketId
Topics:#custom s3 api integration#s3 presigned upload pipeline#nodejs boto3 s3 example#cloud storage REST api
Was this article helpful?Your feedback helps our engineering team improve technical guides.

Related Architecture Guides

Continue exploring cloud engineering, telecommunications, and infrastructure articles.

View all →