Skip to main content

Présentation

La source S3 récupère des fichiers de données depuis un bucket Amazon S3 ou tout service de stockage compatible S3 (par ex. MinIO, DigitalOcean Spaces, OVH Object Storage). Utilisez-la lorsque vos données sont stockées sous forme de fichiers dans S3 et que vous souhaitez les importer dans Reelevant pour la personnalisation.

Configuration

Champs obligatoires

Champs optionnels

Pour AWS S3 standard, la accessKey doit appartenir à un utilisateur ou rôle IAM disposant au minimum des permissions s3:GetObject et s3:ListBucket sur le bucket cible. Avec assumeRole, seule la permission d’endosser un rôle qui les possède est nécessaire.

Accès inter-comptes avec AssumeRole

Lorsque le bucket appartient à votre propre compte AWS, vous pouvez préférer ne pas confier à Reelevant une clé qui le lit directement. Créez plutôt dans votre compte un rôle IAM que Reelevant est autorisé à endosser. Les clés de Reelevant servent uniquement à obtenir des identifiants temporaires pour ce rôle. Ce sont ensuite ces identifiants qui listent et téléchargent les fichiers. Renseignez le champ assumeRole avec les options suivantes : Avec assumeRole renseigné, accessKey et secretKey sont les identifiants de base de Reelevant (fournis par votre Technical Account Manager), et non une clé de votre compte. bucket, path, region et les autres options conservent la même signification. Sur votre compte AWS, configurez le rôle ainsi :
  1. Trust policy : autorisez l’action sts:AssumeRole pour le principal IAM de Reelevant (ARN fourni par votre Technical Account Manager). Si vous utilisez un externalId, ajoutez une condition exigeant que sts:ExternalId soit égal à cette valeur.
  2. Permissions policy : accordez s3:ListBucket sur le bucket et s3:GetObject sur les objets sous le path configuré. Si le bucket utilise le chiffrement SSE-KMS, accordez aussi kms:Decrypt sur la clé.
  3. Durée de session maximale : conservez-la supérieure ou égale à durationSeconds.
La configuration de la Datasource est rejetée si roleArn n’est pas un ARN de rôle IAM valide, si durationSeconds est hors limites, ou si externalId est vide. accessKey, secretKey et externalId sont stockés comme champs sensibles et ne sont jamais affichés une fois enregistrés. Les identifiants temporaires sont conservés uniquement en mémoire.

Services compatibles S3

La source S3 fonctionne avec tout service implémentant l’API S3. Définissez endpoint sur l’URL de votre fournisseur : | Fournisseur | Exemple d’endpoint | ||-----------------| | AWS S3 | https://s3.amazonaws.com (par défaut) | | MinIO | https://minio.example.com | | DigitalOcean Spaces | https://nyc3.digitaloceanspaces.com | | OVH Object Storage | https://s3.gra.io.cloud.ovh.net | | Scaleway | https://s3.fr-par.scw.cloud |

Formats de fichiers pris en charge

S3 détecte automatiquement le format du fichier. Les formats suivants sont pris en charge :
Les fichiers compressés (.gz, .zip) sont automatiquement décompressés avant le parsing.

Déchiffrement PGP

La source S3 prend en charge les fichiers chiffrés PGP. Lorsque pgpPrivateKey est configuré, les fichiers sont déchiffrés de manière transparente avant la décompression et le parsing. Les fichiers chiffrés armored (.asc) et binary (.pgp, .gpg) sont pris en charge.
Consultez le guide de déchiffrement PGP pour plus de détails sur la génération de clés, les formats pris en charge et la gestion des erreurs.

Chemins wildcards

Vous pouvez utiliser un wildcard (*) dans le chemin du fichier pour correspondre à plusieurs fichiers. Cela est utile lorsque :
  • Un nouveau fichier est exporté périodiquement avec un nom différent (par ex. exports/products_20240101.csv, exports/products_20240102.csv)
  • Les données sont réparties sur plusieurs fichiers dans le même répertoire
Exemples de patterns :
  • exports/products_*.csv — correspond à tous les fichiers CSV commençant par products_ dans le préfixe exports/
  • data/*.json — correspond à tous les fichiers JSON sous le préfixe data/

Modes de traitement des fichiers

Lors de l’utilisation de chemins wildcards, vous pouvez configurer la manière dont les fichiers sont sélectionnés via le champ processType :

Fonctionnement

  1. Reelevant s’authentifie auprès de S3 avec la clé d’accès et la clé secrète fournies. Avec assumeRole, il les échange d’abord contre des identifiants temporaires du rôle configuré.
  2. Le bucket et le chemin spécifiés sont accédés. Si un wildcard est utilisé, les objets correspondants sont listés.
  3. Les fichiers sont téléchargés, décompressés si nécessaire, et parsés selon le format détecté.
  4. Les champs sont extraits et rendus disponibles pour le mapping.
  5. Lors des synchronisations suivantes, les fichiers sont rerécupérés selon le mode de traitement configuré.
Assurez-vous que l’utilisateur ou le rôle IAM dispose des permissions s3:GetObject et s3:ListBucket sur le bucket cible. Pour les services compatibles S3, assurez-vous que les permissions de lecture équivalentes sont accordées.