Example: S3 to Google Cloud Storage
Suppose an application usesPutObject to write report.pdf to an S3 bucket named media. Cloud Adapter handles that request as follows:
The AWS CLI can make the same call by changing its endpoint:
- The AWS CLI or application’s S3 client sends an S3 API request with the bucket name, object key, bytes and metadata to the adapter endpoint—not to Amazon S3.
- The S3 service adapter translates the S3 request to a Google Cloud Storage request.
- The adapter calls the GCS API with the target identity configured for the deployment.
- Cloud Storage writes the object to
gs://media/report.pdf. - The adapter returns an S3 success response and ETag. The AWS CLI or S3 SDK receives the response format it expects.
GetObject, HeadObject, ListObjectsV2, multipart upload and other operations each have their own published behavior.
See the S3 to Google Cloud Storage service profile →
Example: DynamoDB to Azure Cosmos DB
A database request requires more adaptation than an object write. Consider this conditional update to an item in theorders table:
UpdateItem takes a more involved path:
- The DynamoDB SDK sends the operation, typed attributes, update expression and condition to the adapter’s DynamoDB API endpoint.
- The DynamoDB service adapter parses the request and identifies the logical table and partition route.
- It preserves the DynamoDB item types and maps the requested behavior to Cosmos DB.
- Because this request uses a conditional
SET, the adapter runs a partition-scoped stored procedure that reads the item, evaluates the condition, applies the update and checks the resulting item size atomically. - The adapter calls the Azure Cosmos DB API, which commits the document update. A concurrent write conflict remains retryable rather than appearing as a failed DynamoDB condition.
- The adapter returns DynamoDB attributes, status or a DynamoDB-shaped conditional error.
AWS_ENDPOINT_URL_S3 routes S3 commands and AWS_ENDPOINT_URL_DYNAMODB routes DynamoDB commands to the adapter without adding --endpoint-url to each command. Use service-specific settings so an unrelated AWS call is not redirected by accident. The AWS CLI guide shows endpoint setup and verification.
Compatibility is specific
An adapter can support one operation without supporting every feature or option of that operation. Check the service reference for required configuration, supported operations and known differences. Adaptation also has a direction. An S3-to-Cloud Storage mapping does not imply that a Cloud Storage client can use S3 through the same adapter. Nor does one successful request establish all the behavior your application depends on.Management APIs and data planes are different
Cloud Adapter handles supported calls to an origin cloud API. It does not automatically proxy every protocol that a target service exposes. An S3 management request and an application’s native database connection are different paths and may have different identities, endpoints and consistency behavior.
This is why the Guides begin with API clients and infrastructure tools rather than promising that every application protocol is proxied.
Native application traffic does not always pass through a service adapter. For example, adapting an infrastructure-management API is different from proxying every database query or network packet. The request path depends on the service and mapping.
Service adapters and cloud adapters
A service adapter covers a specific origin service and backend. A cloud adapter groups service adapters for a particular origin-to-target cloud direction. You can start with a single service and add others as your workload requires them. The deployment model supports a single process and a provisioned installation. The deployment choice does not change the meaning of a service mapping.See what the adapter is doing
Tuning tags let supported origin requests supply target-native choices. Diagnostic response headers help interpret a response.tensor9 explain describes the selected profile or a covered request’s adapter decisions without requiring you to infer them from implementation details.
Choose the mode deliberately: a hypothetical explanation does not apply the target operation, while ExecuteAndExplain does. A receipt identifies the resulting report; it does not by itself establish success, authorization or side effects. The worked adapter investigations show how to combine the report with the origin response and native target observations for S3 to Cloud Storage and more complex mappings.
Begin with key concepts, or evaluate an adapter against your application’s operations.