> ## Documentation Index
> Fetch the complete documentation index at: https://docs.fastino.ai/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Use https://docs.fastino.ai/llms.txt to discover and navigate pages. Use https://docs.fastino.ai/llms-full.txt when you need the complete documentation corpus. Use https://docs.fastino.ai/openapi.json as the source of truth for customer-facing routes. For GLiDE decision inference, call POST https://api.fastino.ai/v1/systemone with model fastino/GLiDE. Start managed training (config job) with POST /v1/training/jobs using base_model. For interactive training, native JSON clients use the public operations under /v1/training/jobs and /v1/training/usage. Existing Tinker clients use tinker==0.32.0 with TINKER_BASE_URL=https://api.fastino.ai/v1/training/compat/tinker and TINKER_CREDENTIAL_CMD. Compatibility child routes are private and absent from OpenAPI. Auto Train is private access and has no public route; direct interested users to sales@fastino.ai. Do not infer undocumented routes. Read API keys from FASTINO_API_KEY and never embed credentials in code, logs, or reports.

# Conecta datos de Amazon S3 con un agente

> Pide a Cursor, Claude Code o Codex que conecte un bucket de Amazon S3 a un proyecto de Fastino con acceso de solo lectura.

En lugar de preparar a mano solicitudes a la API y políticas de IAM, un agente de
programación puede crear el conector del proyecto, crear en tu cuenta de AWS un rol
de IAM de solo lectura que Fastino puede asumir, probar la conexión e iniciar una
instantánea inmutable del conjunto de datos. Mantienes el control del bucket.
Fastino importa los datos seleccionados a tu proyecto de Fastino sin recibir tus
claves de acceso de AWS.

## Qué debes proporcionar

* El nombre del bucket y, opcionalmente, un prefijo de claves como `incoming/`.
* El nombre o ID del proyecto de Fastino.
* El uso de los datos: `training` o `evaluation`.

El agente obtiene la región y la cuenta del bucket desde tu sesión autenticada de
AWS CLI. Elige el nombre del rol de IAM que crea, y los nombres del conector y del
conjunto de datos pueden derivarse del nombre del bucket.

## Antes de empezar

Conecta tu agente al endpoint MCP de Fastino de tu equipo:

```text theme={null}
https://api.fastino.ai/v1/teams/YOUR_TEAM_ID/mcp
```

Después, confirma que AWS CLI está autenticada en la cuenta propietaria del bucket:

```bash theme={null}
aws sts get-caller-identity
```

Tu identidad de AWS también debe poder crear roles de IAM y adjuntar políticas en
línea en esa cuenta, por ejemplo con `iam:CreateRole`,
`iam:UpdateAssumeRolePolicy` y `iam:PutRolePolicy`.

> [!NOTE]
>
> Crea el rol en la cuenta propietaria del bucket. Una política de bucket o una
> política de control de servicios que deniegue el rol sigue bloqueando a Fastino,
> aunque las políticas del propio rol permitan la lectura.

## Pide la conexión al agente

```text theme={null}
Conecta el bucket de S3 customer-data, prefijo training/incoming/, a mi proyecto
de Fastino "support-classifier" como datos de entrenamiento.

Usa mi sesión actual de AWS CLI. Crea un rol de IAM dedicado que solo pueda leer
este prefijo, prueba el conector, sincronízalo, espera a que termine la
sincronización e informa de los conjuntos de datos resultantes. No inicies el
entrenamiento.
```

## Qué hace el agente

La respuesta del conector incluye `s3_setup`: `external_id` (un valor exclusivo de
este conector que exige la política de confianza del rol; no es secreto),
`broker_role_arn` (el rol de Fastino autorizado a asumir el tuyo), los documentos
de política de IAM `trust_policy` y `read_policy`, y `setup_commands` (comandos de
AWS CLI que crean o reparan el rol). El rol no necesita existir al crear el
conector. El agente ejecuta `setup_commands` con tus credenciales de AWS, prueba el
acceso de solo listado e inicia la sincronización.

## Resultados de la sincronización

Una sincronización convierte y valida los archivos del prefijo seleccionado antes
de publicar conjuntos de datos. Una sincronización correcta enumera sus conjuntos
de datos en el informe.

* Si un archivo no supera la validación, la sincronización falla y no publica ningún
  conjunto de datos. El informe indica los archivos que debes revisar. El agente
  transmite esos fallos y pregunta antes de excluir archivos o cambiar el prefijo.
* Si la conversión de documentos alcanza un límite de frecuencia, el informe se
  marca como `partial` (los conjuntos listados se pueden usar, pero faltan algunos
  archivos) o `transient` (no se publicó nada nuevo) e incluye `retryable_files`.
  Pide al agente que vuelva a sincronizar sin volver a probar ni cambiar el prefijo.
* La sincronización es opcional si delegas un ajuste fino mediante Fastino MCP.
  Después de que apruebes el plan, el agente de ajuste fino puede inspeccionar y
  preprocesar los archivos sin procesar del bucket conectado.

## Modelo de seguridad

Fastino lee tu bucket asumiendo el rol que creaste. Su política de confianza
nombra un único rol de Fastino y exige el ID externo de este conector, por lo que
ningún otro principal de AWS ni otro cliente de Fastino puede usarlo. La política
de lectura permite `s3:ListBucket` sobre el prefijo seleccionado y `s3:GetObject`
sobre las claves que contiene, sin acceso de escritura, eliminación ni
configuración del bucket. Las sesiones de Fastino en tu rol son temporales y duran
como máximo una hora. No se aceptan claves de acceso, claves secretas ni tokens de
sesión.

Cambiar el prefijo o el rol del conector lo devuelve a `pending` hasta que se
vuelva a probar. Tras cambiar el prefijo, vuelve a ejecutar los nuevos
`s3_setup.setup_commands` para que la política de lectura del rol coincida.
Eliminar un conector detiene las sincronizaciones futuras, pero no elimina los
conjuntos de datos ya publicados. Para revocar el acceso al almacenamiento, elimina
los permisos de lectura del rol y revoca sus [sesiones activas](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_revoke-sessions.html).
Los cambios de IAM pueden tardar en propagarse.

## Comparte el conector con tu equipo

Un conector pertenece a un único proyecto de Fastino, y un proyecto solo es
visible para quien lo creó salvo que su visibilidad sea `team`. Crea el proyecto
como proyecto de equipo, por ejemplo pidiendo a tu agente que lo cree con
visibilidad de equipo, para que los miembros con los permisos de equipo necesarios vean el conector, lo
sincronicen y hagan ajuste fino con sus conjuntos de datos.

Los miembros del equipo no necesitan acceso a AWS: Fastino lee el bucket con
el rol de IAM que creaste, no con la cuenta del miembro. Solo quien configura el conector
necesita permisos de AWS. No pidas a los miembros que creen un segundo
conector para el mismo bucket en su propio proyecto; eso repite la configuración y
requiere su propio acceso a AWS.

## Solución de problemas

| Estado | Significado | Acción |
| - | - | - |
| `trust_missing` | Fastino no pudo asumir el rol: no existe, o su política de confianza no nombra `s3_setup.broker_role_arn` con `s3_setup.external_id` | Ejecuta `s3_setup.setup_commands` en la cuenta del bucket y vuelve a probar |
| `access_denied` | Se asumió el rol, pero no puede listar el prefijo | Adjunta `s3_setup.read_policy` al rol. Si el bucket usa SSE-KMS, permite también `kms:Decrypt` sobre su clave. Después vuelve a probar |
| `bucket_missing` | El bucket no existe o está en otra región | Comprueba el nombre y la región del bucket y actualiza el conector |
| `unavailable` | AWS o Fastino no pudo completar la prueba | Repite la prueba; si sigue fallando, contacta con el soporte de Fastino |

Cuando AWS devuelve un código de error, el resultado de la prueba lo incluye en
`provider_error_code`. Los cambios de IAM suelen aplicarse en segundos, pero pueden
tardar más. El agente debe repetir la prueba antes de crear otro conector.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.