> ## 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.

# Connecter des données Amazon S3 avec un agent

> Demandez à Cursor, Claude Code ou Codex de connecter un bucket Amazon S3 à un projet Fastino avec un accès en lecture seule.

Plutôt que d'assembler à la main des requêtes d'API et des stratégies IAM, un agent
de code peut créer le connecteur du projet, créer dans votre compte AWS un rôle IAM
en lecture seule que Fastino peut assumer, tester la connexion et lancer un
instantané immuable du jeu de données. Vous gardez le contrôle de votre bucket.
Fastino importe les données sélectionnées dans votre projet Fastino sans recevoir
vos clés d'accès AWS.

## Ce que vous fournissez

* Le nom du bucket et, si besoin, un préfixe de clés comme `incoming/`.
* Le nom ou l'ID du projet Fastino.
* L'usage des données : `training` ou `evaluation`.

L'agent lit la région et le compte du bucket depuis votre session AWS CLI
authentifiée. Il nomme le rôle IAM qu'il crée, et les noms du connecteur et du jeu
de données peuvent être dérivés du nom du bucket.

## Avant de commencer

Connectez votre agent au point de terminaison MCP Fastino de votre équipe :

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

Vérifiez ensuite qu'AWS CLI est authentifiée auprès du compte propriétaire du bucket :

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

Votre identité AWS doit aussi pouvoir créer des rôles IAM et y attacher des
stratégies intégrées dans ce compte, par exemple avec `iam:CreateRole`,
`iam:UpdateAssumeRolePolicy` et `iam:PutRolePolicy`.

> [!NOTE]
>
> Créez le rôle dans le compte propriétaire du bucket. Une stratégie de bucket ou une
> stratégie de contrôle des services qui refuse le rôle bloque toujours Fastino, même
> si les stratégies du rôle autorisent la lecture.

## Demander à l'agent

```text theme={null}
Connecte le bucket S3 customer-data, préfixe training/incoming/, à mon projet
Fastino "support-classifier" comme données d'entraînement.

Utilise ma session AWS CLI actuelle. Crée un rôle IAM dédié qui ne peut lire que
ce préfixe, teste le connecteur, synchronise-le, attends la fin de la
synchronisation et indique les jeux de données obtenus. Ne lance pas
d'entraînement.
```

## Ce que fait l'agent

La réponse du connecteur contient `s3_setup` : `external_id` (une valeur propre à
ce connecteur que la stratégie d'approbation du rôle exige ; elle n'est pas
secrète), `broker_role_arn` (le rôle Fastino autorisé à assumer le vôtre), les deux
documents de stratégie IAM `trust_policy` et `read_policy`, et `setup_commands`
(des commandes AWS CLI qui créent ou réparent le rôle). Le rôle n'a pas besoin
d'exister à la création du connecteur. L'agent exécute `setup_commands` avec vos
identifiants AWS, teste l'accès en liste seule et lance la synchronisation.

## Résultats de la synchronisation

Une synchronisation convertit et valide les fichiers du préfixe choisi avant de
publier des jeux de données. Une synchronisation réussie liste ses jeux de données
dans son rapport.

* Si un fichier échoue à la validation, la synchronisation échoue et ne publie aucun
  jeu de données. Le rapport liste les fichiers à vérifier. L'agent relaie ces échecs
  et demande votre accord avant d'exclure des fichiers ou de changer le préfixe.
* Si la conversion de documents atteint une limite de débit, le rapport est marqué
  `partial` (les jeux de données listés sont utilisables, certains fichiers manquent)
  ou `transient` (rien de nouveau n'a été publié) et liste `retryable_files`.
  Demandez à l'agent de resynchroniser sans retester ni changer le préfixe.
* La synchronisation est facultative si vous déléguez un fine-tuning via Fastino
  MCP. Après votre approbation du plan, l'agent de fine-tuning peut inspecter et
  prétraiter les fichiers bruts du bucket connecté.

## Modèle de sécurité

Fastino lit votre bucket en assumant le rôle que vous avez créé. Sa stratégie
d'approbation nomme un seul rôle Fastino et exige l'ID externe de ce connecteur :
aucun autre principal AWS ni aucun autre client Fastino ne peut l'utiliser. La
stratégie de lecture autorise `s3:ListBucket` sur le préfixe choisi et
`s3:GetObject` sur les clés qu'il contient, sans accès en écriture, en suppression
ni à la configuration du bucket. Les sessions de Fastino sur votre rôle sont
temporaires et durent au plus une heure. Les clés d'accès, clés secrètes et jetons
de session ne sont pas acceptés.

Changer le préfixe ou le rôle du connecteur le remet à `pending` jusqu'au prochain
test. Après un changement de préfixe, relancez les nouvelles
`s3_setup.setup_commands` pour que la stratégie de lecture du rôle corresponde.
Supprimer un connecteur arrête les synchronisations futures mais ne supprime pas
les jeux de données déjà publiés. Pour révoquer l'accès au stockage, retirez les
autorisations de lecture du rôle et révoquez ses [sessions actives](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_revoke-sessions.html).
La propagation des modifications IAM peut prendre du temps.

## Partager le connecteur avec votre équipe

Un connecteur appartient à un seul projet Fastino, et un projet n'est visible que
par son créateur tant que sa visibilité n'est pas `team`. Créez le projet comme
projet d'équipe, par exemple en demandant à votre agent de le créer avec une
visibilité d'équipe : les membres disposant des autorisations d'équipe nécessaires voient alors le connecteur et peuvent le
synchroniser et faire du fine-tuning sur ses jeux de données.

Les membres de l'équipe n'ont besoin d'aucun accès AWS : Fastino lit le bucket
avec le rôle IAM que vous avez créé, et non avec le compte du membre. Seule la personne qui configure
le connecteur a besoin de permissions AWS. Ne demandez pas aux membres de
créer un second connecteur vers le même bucket dans leur propre projet : cela
répète la configuration et exige leur propre accès AWS.

## Dépannage

| Statut | Signification | Action |
| - | - | - |
| `trust_missing` | Fastino n'a pas pu assumer le rôle : il n'existe pas, ou sa stratégie d'approbation ne nomme pas `s3_setup.broker_role_arn` avec `s3_setup.external_id` | Exécutez `s3_setup.setup_commands` dans le compte du bucket, puis retestez |
| `access_denied` | Le rôle a été assumé mais ne peut pas lister le préfixe | Attachez `s3_setup.read_policy` au rôle. Si le bucket utilise SSE-KMS, autorisez aussi `kms:Decrypt` sur sa clé. Puis retestez |
| `bucket_missing` | Le bucket n'existe pas ou se trouve dans une autre région | Vérifiez le nom et la région du bucket, puis mettez à jour le connecteur |
| `unavailable` | AWS ou Fastino n'a pas pu terminer le test | Relancez le test ; contactez le support Fastino si l'échec persiste |

Lorsque AWS renvoie un code d'erreur, le résultat du test l'inclut dans
`provider_error_code`. Les modifications IAM prennent généralement effet en quelques
secondes, mais peuvent prendre plus de temps. L'agent doit relancer le test avant
de créer un autre connecteur.


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