Armazenamento S3
Conecte um bucket do Amazon S3, Cloudflare R2, Backblaze B2, Wasabi, DigitalOcean Spaces, Google Cloud Storage ou de qualquer armazenamento compatível com S3. Os agentes listam, leem, gravam e apagam seus objetos; a chave secreta fica com o Sallyport.
Nesta página
O agente nomeia um objeto. O Sallyport assina a requisição com AWS Signature V4, envia ao seu bucket e devolve a resposta. O agente nunca vê a chave de acesso nem o segredo dela.
Conecte um bucket
- Abra Adicionar chave e escolha “Armazenamento S3” em “Origem da chave”.
- Escolha o “Armazenamento”. A “Região” e o “Endereço do armazenamento” se preenchem sozinhos; mude a “Região” e o endereço acompanha.
- Informe o “Bucket”. Os agentes chegam a este bucket e a nada mais do armazenamento.
- Crie no armazenamento uma chave que só chegue a este bucket e cole o “ID da chave de acesso” e a “Chave de acesso secreta”.
- O “Nome da conexão” é o nome do bucket até você mudá-lo. Escolha o “Espaço de trabalho” e o “Ambiente”.
- Clique em “Salvar e verificar a chave”. O Sallyport sela a chave, cria a conexão e lista com ela um objeto do bucket.
A página da chave mostra o resultado em “Para onde vai esta chave”. Um segredo errado é recusado ali, com as palavras do próprio armazenamento, antes que algum agente o use. Todos os agentes do espaço de trabalho podem usar o bucket assim que ele é salvo.
| Armazenamento | Endereço do armazenamento | Região |
|---|---|---|
| Amazon S3 | https://s3.<region>.amazonaws.com. O bucket vai no nome do host: https://<bucket>.s3.<region>.amazonaws.com. | A região do bucket, por exemplo eu-central-1. |
| Cloudflare R2 | O endereço da API S3 na visão geral do R2: https://<account-id>.r2.cloudflarestorage.com. | auto |
| Backblaze B2 | https://s3.<region>.backblazeb2.com | A região do endereço do bucket, por exemplo eu-central-003. |
| Wasabi | https://s3.<region>.wasabisys.com | A região do bucket, por exemplo eu-central-1. |
| DigitalOcean Spaces | https://<region>.digitaloceanspaces.com | O data center, por exemplo fra1. |
| Google Cloud Storage | https://storage.googleapis.com, com uma chave HMAC de uma conta de serviço. | auto |
| Outro armazenamento compatível com S3 | O endereço HTTPS da sua API S3: MinIO, Hetzner, Scaleway, OVH, IDrive e2 e outros. | A região para a qual ele assina; us-east-1 se não indicar nenhuma. |
O que o agente chama
As ferramentas do bucket terminam em _read e _write. A descrição delas diz ao agente como listar, ler, gravar e apagar, então ele não precisa adivinhar. O caminho é o caminho S3 completo: em todos os armazenamentos, exceto o Amazon S3, ele começa pelo bucket.
{
"method": "GET",
"path": "/reports/",
"params": { "list-type": "2", "prefix": "notes/" }
}{
"method": "PUT",
"path": "/reports/notes/2026-09-30.md",
"headers": { "Content-Type": "text/markdown", "x-amz-meta-author": "agent" },
"body": "# Weekly notes",
"intent": "Salvar as notas desta semana"
}Uma leitura é GET /reports/notes/2026-09-30.md. Uma cópia é um PUT com x-amz-copy-source: /reports/notes/2026-09-30.md. Uma exclusão é DELETE /reports/notes/2026-09-30.md. As respostas vêm no XML do próprio S3.
Quais chamadas esperam por você
| Chamada | Classe |
|---|---|
GET e HEAD: uma listagem, um download, os metadados de um objeto | Leitura |
PUT e POST: um upload, uma cópia, um upload em partes | Escrita |
POST ?delete, que apaga muitos objetos de uma vez | Escrita |
DELETE | Destrutiva |
O nome de um objeto nunca muda a classe dele: ler builds/run.log é uma leitura. As chamadas rodam sem perguntar até você decidir o contrário; as regras ficam na lista “Acesso” do agente. Veja Aprovações.
Arquivos grandes e dados binários
As ferramentas MCP levam texto: CSV, JSON, logs, Markdown. Para arquivos de qualquer tipo, envie os bytes pelo proxy HTTP com o token do agente. O caminho depois de /p/<connection-id> é a chave do objeto dentro do bucket.
export SP_AGENT_TOKEN='<agent-token>'
curl --fail-with-body -X PUT \
-H "Authorization: Bearer $SP_AGENT_TOKEN" \
-H 'Content-Type: application/pdf' \
-H 'X-Sallyport-Intent: Store the signed contract' \
--data-binary @contract.pdf \
"https://mcp.sallyport.cloud/p/<connection-id>/contracts/2026/acme.pdf"
curl --fail-with-body -H "Authorization: Bearer $SP_AGENT_TOKEN" \
-o acme.pdf "https://mcp.sallyport.cloud/p/<connection-id>/contracts/2026/acme.pdf"Um upload pelo proxy leva até 32 MiB; um download, até 512 MiB. Divida um arquivo maior em um upload em partes.