Almacenamiento S3
Conecta un bucket de Amazon S3, Cloudflare R2, Backblaze B2, Wasabi, DigitalOcean Spaces, Google Cloud Storage o cualquier almacenamiento compatible con S3. Los agentes listan, leen, escriben y eliminan sus objetos; la clave secreta se queda con Sallyport.
En esta página
El agente nombra un objeto. Sallyport firma la solicitud con AWS Signature V4, la envía a tu bucket y devuelve la respuesta. El agente nunca ve la clave de acceso ni su secreto.
Conecta un bucket
- Abre Añadir una clave y elige «Almacenamiento S3» en «Origen de la clave».
- Elige el «Almacenamiento». La «Región» y la «Dirección del almacenamiento» se rellenan solas; cambia la «Región» y la dirección la sigue.
- Escribe el «Bucket». Los agentes llegan a este bucket y a nada más del almacenamiento.
- Crea en el almacenamiento una clave que solo llegue a este bucket y pega su «ID de la clave de acceso» y su «Clave de acceso secreta».
- El «Nombre de la conexión» es el nombre del bucket hasta que lo cambies. Elige el «Espacio de trabajo» y el «Entorno».
- Pulsa «Guardar y comprobar la clave». Sallyport sella la clave, crea la conexión y lista con ella un objeto del bucket.
La página de la clave muestra el resultado en «A dónde va esta clave». Un secreto incorrecto se rechaza ahí, con las palabras del propio almacenamiento, antes de que lo pruebe ningún agente. Todos los agentes del espacio de trabajo pueden usar el bucket desde el momento en que se guarda.
| Almacenamiento | Dirección del almacenamiento | Región |
|---|---|---|
| Amazon S3 | https://s3.<region>.amazonaws.com. El bucket va en el nombre del host: https://<bucket>.s3.<region>.amazonaws.com. | La región del bucket, por ejemplo eu-central-1. |
| Cloudflare R2 | La dirección de la API S3 de la vista general de R2: https://<account-id>.r2.cloudflarestorage.com. | auto |
| Backblaze B2 | https://s3.<region>.backblazeb2.com | La región de la dirección del bucket, por ejemplo eu-central-003. |
| Wasabi | https://s3.<region>.wasabisys.com | La región del bucket, por ejemplo eu-central-1. |
| DigitalOcean Spaces | https://<region>.digitaloceanspaces.com | El centro de datos, por ejemplo fra1. |
| Google Cloud Storage | https://storage.googleapis.com, con una clave HMAC de una cuenta de servicio. | auto |
| Otro almacenamiento compatible con S3 | La dirección HTTPS de su API S3: MinIO, Hetzner, Scaleway, OVH, IDrive e2 y otros. | La región para la que firma; us-east-1 si no indica ninguna. |
Qué llama el agente
Las herramientas del bucket terminan en _read y _write. Su descripción le dice al agente cómo listar, leer, escribir y eliminar, así que no tiene que adivinar. La ruta es la ruta S3 completa: en todos los almacenamientos salvo Amazon S3 empieza por el 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": "Guardar las notas de esta semana"
}Una lectura es GET /reports/notes/2026-09-30.md. Una copia es un PUT con x-amz-copy-source: /reports/notes/2026-09-30.md. Una eliminación es DELETE /reports/notes/2026-09-30.md. Las respuestas son el XML del propio S3.
Qué llamadas te esperan
| Llamada | Clase |
|---|---|
GET y HEAD: un listado, una descarga, los metadatos de un objeto | Lectura |
PUT y POST: una subida, una copia, una subida multiparte | Escritura |
POST ?delete, que elimina muchos objetos a la vez | Escritura |
DELETE | Destructiva |
El nombre de un objeto nunca cambia su clase: leer builds/run.log es una lectura. Las llamadas se ejecutan sin preguntar hasta que decidas otra cosa; las reglas están en la lista «Acceso» del agente. Consulta Aprobaciones.
Archivos grandes y datos binarios
Las herramientas MCP llevan texto: CSV, JSON, logs, Markdown. Para archivos de cualquier tipo, envía los bytes por el proxy HTTP con el token del agente. La ruta después de /p/<connection-id> es la clave del objeto dentro del 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"Una subida por el proxy lleva hasta 32 MiB; una descarga, hasta 512 MiB. Divide un archivo mayor en una subida multiparte.