S3Client pronto do AWS SDK.
Ambos os métodos precisam de uma chave de API. Um cliente criado com um token de upload recebe
403 UPLOAD_TOKEN_NOT_ALLOWED, e uma chave em formato antigo recebe LEGACY_API_KEY.s3()
s3() retorna um S3Client do @aws-sdk/client-s3, já configurado com o endpoint, a região e as credenciais do gateway, e com forcePathStyle: true.
@aws-sdk/client-s3 é uma peer dependency opcional: instale-a apenas se você usar s3(). Ela é carregada sob demanda, então o SDK em si continua sem dependências.
- npm
- yarn
- pnpm
- bun
Buckets
Veja Buckets e Chaves para saber como as chaves S3 correspondem aos objetos, e Operações suportadas para o que o gateway aceita.
s3Credentials()
Para outros clientes S3 (aws-cli, rclone, boto3, …), s3Credentials() retorna o par de chaves bruto:
Use endereçamento path-style com qualquer outro cliente.
Cache
O par é determinístico por chave de API, então o SDK o armazena em cache por instância do cliente:s3Credentials() e s3() chamam a API uma vez, e as chamadas seguintes reutilizam o resultado. Uma chamada que falha não é armazenada em cache, então a próxima chamada tenta novamente.
Referência da API: Credenciais S3.
