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
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 champassumeRole 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 :
- Trust policy : autorisez l’action
sts:AssumeRolepour le principal IAM de Reelevant (ARN fourni par votre Technical Account Manager). Si vous utilisez unexternalId, ajoutez une condition exigeant quests:ExternalIdsoit égal à cette valeur. - Permissions policy : accordez
s3:ListBucketsur le bucket ets3:GetObjectsur les objets sous lepathconfiguré. Si le bucket utilise le chiffrement SSE-KMS, accordez aussikms:Decryptsur la clé. - 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éfinissezendpoint 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. LorsquepgpPrivateKey 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
exports/products_*.csv— correspond à tous les fichiers CSV commençant parproducts_dans le préfixeexports/data/*.json— correspond à tous les fichiers JSON sous le préfixedata/
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 champprocessType :
Fonctionnement
- 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é. - Le bucket et le chemin spécifiés sont accédés. Si un wildcard est utilisé, les objets correspondants sont listés.
- Les fichiers sont téléchargés, décompressés si nécessaire, et parsés selon le format détecté.
- Les champs sont extraits et rendus disponibles pour le mapping.
- Lors des synchronisations suivantes, les fichiers sont rerécupérés selon le mode de traitement configuré.