S3 to Google Cloud Storage
This example keeps the S3 API at the application boundary and stores object bytes in Google Cloud Storage.What belongs in each layer
There is no service row whose only purpose is to say S3 maps to Cloud Storage.
1. Write the installation configuration
2. Confirm target access
Use the native verification identity to confirm that the target bucket exists:3. Start a local adapter or use the installed endpoint
For a local configuration check, start the directed mapping:--backend is a property of this single-service local command. A provisioned origin-and-target installation derives the same normal mapping from the catalog.
4. Route only S3
Set the AWS SDK’s service-specific endpoint for the current process:5. Write one object
Choose an origin-facing bucket name, a disposable key and a small body:AWS_ENDPOINT_URL_S3, pass --endpoint-url "$T9_CLOUD_ADAPTER_ENDPOINT" to each AWS CLI command instead.
6. Verify both interfaces
Read through S3:7. Clean up the test object
What this proves
This bounded test proves that the selected client can reach the adapter, the tested S3 operations are served by the selected mapping, and the expected object bytes appear in the target bucket. It does not prove compatibility for untested S3 operations, migrate existing objects or validate production throughput.DynamoDB to provisioned Azure Cosmos DB
This example creates anorders table through the DynamoDB API, selects the provisioned Cosmos DB mapping and gives the target container an autoscale maximum of 40,000 RU/s.
What belongs in each layer
The capacity choice belongs to the table. It is not a global installation setting.
1. Write the installation configuration
2. Set endpoint and native target values
AWS_ENDPOINT_URL_DYNAMODB affects DynamoDB clients in this process. It does not redirect S3 or STS.
3. Build a complete CreateTable request
create-orders-table.json.
BillingMode remains part of the DynamoDB-facing description. The tuning tag controls the effective Cosmos DB autoscale maximum. A later DynamoDB UpdateTable does not automatically resize the Cosmos container.
40,000 RU/s is an example. Choose a supported value for the target region and workload. The documented tuning field accepts a minimum of 1,000 RU/s in 1,000-RU/s increments.
4. Create the table through DynamoDB
5. Verify the Cosmos DB container and size
Inspect the target container:40000. If the container exists but the throughput differs, preserve the create response and use Explain before changing capacity.
6. Exercise the key schema
Write one disposable item:7. Measure before accepting the capacity
Run a representative workload and record:- request rate and item-size distribution;
- consumed RUs and throttled requests;
- p50, p95 and p99 latency at the application;
- partition-key distribution;
- adapter CPU, memory and target-call latency;
- Cosmos DB cost at the selected maximum;
- retries and origin-shaped errors.
PutItem. The autoscale maximum defines a cost and throttling envelope, not a performance guarantee.
8. Clean up deliberately
Delete the test item first:DeleteTable and native physical cleanup are separate in this mapping. Confirm target state and billing through Azure rather than assuming the DynamoDB response deleted the Cosmos DB account or shared database.
What this proves
This test proves that the table request selected the provisioned Cosmos DB mapping, the key schema was accepted, the effective autoscale maximum matches the tuning tag, and one item can round-trip through the DynamoDB API. It does not prove compatibility for every expression, transaction, index or stream behavior.Promote a tested configuration
Before moving either example beyond development:- save the reviewed installation file without secrets;
- record the exact service profile and adapter version tested;
- replace disposable identities with dedicated least-privilege runtime identities;
- repeat the operation matrix the application actually uses;
- establish native backup, recovery, quota and alerting procedures;
- document endpoint rollout and rollback;
- retain a redacted Explain example for the service;
- test cleanup and uncertain-write recovery.