Skip to main content
This page describes how Cloud Storage maps to services in the environment where the application runs. Some profiles adapt origin API calls; others translate infrastructure or document target-native behavior.

Supported environments

API means the profile adapts origin API behavior. Infrastructure means the profile changes provisioned resources or documents a target-native alternative without promising an origin API endpoint. Check the operation and capability tables for the behavior your application depends on.

How the targets compare

Each row compares a capability of Cloud Storage with its adaptation on each target. A dash means this profile does not state the capability for that target.

Cloud Adapter

On AWS

S3

Cloud Storage buckets and objects map to Amazon S3. The adapter handles the Cloud Storage JSON API, so the application keeps its client library.

Object identities and conditional writes

The adapter maps source object identifiers to the target version or ETag. Keep the returned identifier with later conditional requests rather than treating it as a provider-independent number. Verify rejection of stale writes and concurrent metadata changes as well as successful reads.

Moving content and readers

Copy the required object bodies, metadata, and historical versions before switching readers. Coordinate writers during the final transfer so later source changes are not lost. Review externally shared links separately: the endpoint that receives a signed URL must understand its signature format.

Compatibility differences

This mapping rejects compose operations with small source parts rather than re-uploading them. S3’s minimum multipart part size is 5 MiB, with an exception for the final part. Storage classes are chosen per bucket: Cloud Storage ARCHIVE and COLDLINE objects can be read synchronously, while their archival S3 counterparts require restoration. Retention policies and object-change notifications are not covered by this mapping, even though S3 provides Object Lock and event notifications.

On Azure

Blob Storage

Each Cloud Storage bucket becomes an Azure Blob Storage container inside a storage account provisioned by Tensor9.

Object identities and conditional writes

The adapter maps source object identifiers to the target version or ETag. Keep the returned identifier with later conditional requests rather than treating it as a provider-independent number. Verify rejection of stale writes and concurrent metadata changes as well as successful reads.

Moving content and readers

Copy the required object bodies, metadata, and historical versions before switching readers. Coordinate writers during the final transfer so later source changes are not lost. Review externally shared links separately: the endpoint that receives a signed URL must understand its signature format.

Compatibility differences

Archived reads are rejected because Azure requires rehydration before reading archive-tier blobs. Client-computed Google V4 signed URLs are rejected by this mapping. Azure SAS tokens use a different signature and authorization format; Azure cannot validate the Google signature.

Existing data and credentials

Selecting a backend does not copy existing data, credentials or access policies. Plan and verify migration separately before changing an application’s endpoint. Do not assume an identifier, credential or encrypted value from the origin service works unchanged on the target.

Configure, tune and debug

Start with setup and configuration. Use tuning to understand supported request tags, debugging to investigate a request, and High Fidelity Cloud Emulators to validate a bounded reproduction.