On this page

TAG works with any S3-compatible client. The only change you need to make is pointing the endpoint URL at TAG and enabling path-style addressing. Standard S3 operations work as expected — this page covers the TAG-specific setup.

## Credentials by mode

In transparent proxy mode (the default), clients authenticate with their own Tigris credentials — TAG forwards the signature to Tigris and never stores client secrets. In signing mode, clients must use credentials known to TAG's credential store. See [Security and Access Control](/content/docs/acceleration-gateway/security/index.html) for details.

## AWS CLI

Pass `--endpoint-url` with each command, or set up a named profile so you don't have to:

```bash
aws s3 ls --endpoint-url http://localhost:8080
```

### Named profile

Add to `~/.aws/credentials`:

```ini
[tag]

aws_access_key_id = your_access_key

aws_secret_access_key = your_secret_key

endpoint_url = http://localhost:8080
```

Then use `--profile tag` or set `AWS_PROFILE=tag`.

## Python (boto3)

The key requirement is `addressing_style: 'path'`:

```python
import boto3

from botocore.config import Config

s3 = boto3.client(

's3',

endpoint_url='http://localhost:8080',

aws_access_key_id='your_access_key',

aws_secret_access_key='your_secret_key',

config=Config(s3={'addressing_style': 'path'}),

)
```

If your credentials are already in environment variables, you can omit `aws_access_key_id` and `aws_secret_access_key`.

### Streaming large files

For large files, stream instead of loading entire objects into memory:

```python
response = s3.get_object(Bucket='my-bucket', Key='large-file.bin')

with open('local-file.bin', 'wb') as f:

for chunk in response['Body'].iter_chunks(chunk_size=1024*1024):

f.write(chunk)
```

For large uploads, configure multipart thresholds:

```python
from boto3.s3.transfer import TransferConfig

s3.upload_file(

'large-file.bin',

'my-bucket',

'large-file.bin',

Config=TransferConfig(

multipart_threshold=8*1024*1024,

multipart_chunksize=8*1024*1024,

max_concurrency=10,

),

)
```

## Verifying cache behavior

Check the `X-Cache` header to confirm TAG is caching. For details on cache control headers and invalidation, see [Cache Control and Revalidation](/content/docs/acceleration-gateway/cache-control/index.html).

## Troubleshooting

For connection errors, authentication failures, timeouts, and path-style addressing issues, see [Troubleshooting](/content/docs/acceleration-gateway/deployment-guide/#troubleshooting/index.html) in the Deployment Guide.
