SNOWPIPE AVEC AWS / Blogs / Perficient/SNOWPIPE-Abdul

CHAMPINEE DE FLOCON DE NEIGE
Tuyau à neige:
snow pipe est l’une des stratégies de chargement de données dans snowflake, pour le chargement continu des données, créera un snow pipe pour charger les données de n’importe quelle source de données ou stockage ou de n’importe quel cloud vers des tables de flocon de neige, c’est une idéologie de déclenchement d’événement chaque fois qu’un fichier arrive la source sera immédiatement déclenchée et notifiée à l’étape externe particulière du flocon de neige et chargera immédiatement les données dans la table
procédure de sntuyau de débit :
Configuration du godet S3 pour tuyau à neige :
Créez un compartiment s3 dans AWS et un dossier dans celui-ci :
Création d’un JE SUIS policy
- Dans le tableau de bord d’accueil, recherchez et sélectionnez IAM.
- Dans le volet de navigation de gauche, sélectionnez Paramètres du compte.
- Sous Security Token Service (STS) dans la liste Endpoints, recherchez la région Snowflake où se trouve votre compte. Si l’état STS est inactif, déplacez le commutateur sur Actif.
- Dans le volet de navigation de gauche, sélectionnez Stratégies.
- Sélectionnez Créer une stratégie.
- Pour Éditeur de stratégie, sélectionnez JSON.
- Ajoutez un document de stratégie qui permettra à Snowflake d’accéder au compartiment et au dossier S3.
La stratégie suivante (au format JSON) fournit à Snowflake les autorisations requises pour charger ou décharger des données à l’aide d’un seul chemin de compartiment et de dossier.
Copiez et collez le texte dans l’éditeur de stratégie :
{
« Version » : « 2012-10-17 »,
« Déclaration »: [
{
“Effect”: “Allow”,
“Action”: [
“s3:GetObject”,
“s3:GetObjectVersion”
],
« Ressource » : « arn:aws:s3:::
}
- Notez que les politiques AWS prennent en charge une variété de cas d’utilisation de sécurité différents.
- Sélectionnez Suivant.
- Entrez un nom de stratégie (par exemple, snowflake_integration)
- Sélectionnez Créer une stratégie.
Étape 2 : Créer le rôle IAM dans AWS
Pour configurer les autorisations d’accès pour Snowflake dans AWS Management Console, procédez comme suit :
- Dans le volet de navigation de gauche du tableau de bord de gestion des identités et des accès (IAM), sélectionnez Rôles.
- Sélectionnez Créer un rôle.
- Sélectionnez Compte AWS comme type d’entité de confiance.
- Dans le champ ID de compte, saisissez temporairement votre propre ID de compte AWS. Plus tard, vous modifiez la relation d’approbation et accordez l’accès à Snowflake.
- Sélectionnez l’option Exiger un identifiant externe. Un identifiant externe est utilisé pour accorder l’accès à vos ressources AWS (telles que les compartiments S3) à un tiers comme Snowflake.
Entrez un ID d’espace réservé tel que 0000. Dans une étape ultérieure, vous modifierez la relation d’approbation de votre rôle IAM et spécifierez l’ID externe de votre intégration de stockage.
- Sélectionnez Suivant.
- Sélectionnez la stratégie que vous avez créée dans Étape 1 : configurer les autorisations d’accès pour le compartiment S3(dans ce sujet).
- Sélectionnez Suivant.
- Saisissez un nom et une description pour le rôle, puis sélectionnez Créer un rôle.
Vous avez maintenant créé une stratégie IAM pour un compartiment, créé un rôle IAM et attaché la stratégie au rôle.
- Sur la page de résumé du rôle, recherchez et enregistrez la valeur ARN du rôle. À l’étape suivante, vous créerez une intégration Snowflake qui fait référence à ce rôle.
Note
Snowflake met en cache les informations d’identification temporaires pendant une période qui ne peut pas dépasser le délai d’expiration de 60 minutes. Si vous révoquez l’accès à Snowflake, les utilisateurs pourront peut-être répertorier les fichiers et accéder aux données depuis l’emplacement de stockage cloud jusqu’à l’expiration du cache.
Étape 3 : Créer une intégration de stockage cloud dans Snowflake
Une intégration de stockage est un objet Snowflake qui stocke un utilisateur de gestion des identités et des accès (IAM) généré pour votre stockage cloud S3, ainsi qu’un ensemble facultatif d’emplacements de stockage autorisés ou bloqués (c’est-à-dire des compartiments). Les administrateurs du fournisseur cloud de votre organisation accordent des autorisations sur les emplacements de stockage à l’utilisateur généré. Cette option permet aux utilisateurs d’éviter de fournir des informations d’identification lors de la création d’étapes ou du chargement de données.
CRÉER ou remplacer l’INTÉGRATION DE STOCKAGE bowiya_inte
TYPE = EXTERNAL_STAGE
STOCKAGE_PROVIDER = ‘S3’
ACTIVÉ = VRAI
STORAGE_AWS_ROLE_ARN = ‘arn:aws:iam::151364773749:role/manojrole’
STORAGE_ALLOWED_LOCATIONS = (‘s3://newbucket1.10/sample.csv’);
Ce qui suit créera une intégration qui permettra d’accéder à tous les compartiments du compte.
Des étapes externes supplémentaires qui utilisent également cette intégration peuvent faire référence aux compartiments et chemins autorisés :
Étape 4 : Récupérez l’utilisateur AWS IAM pour votre compte Snowflake
- Pour récupérer l’ARN de l’utilisateur IAM créé automatiquement pour votre compte Snowflake, utilisez :
desc intégration bowiya_inte;
Étape 5 : Accorder à l’utilisateur IAM les autorisations pour accéder aux objets du compartiment
Les instructions étape par étape suivantes décrivent comment configurer les autorisations d’accès IAM pour Snowflake dans votre AWS Management Console afin que vous puissiez utiliser un compartiment S3 pour charger et décharger des données :
- Connectez-vous à AWS Management Console.
- Sélectionnez IAM.
- Dans le volet de navigation de gauche, sélectionnez Rôles.
- Sélectionnez le rôle que vous avez créé
- Sélectionnez l’onglet Relations de confiance.
- Sélectionnez Modifier la stratégie de confiance.
- Modifier le document de stratégie avec le document de stratégie DESC STORAGE INTEGRATION pour le rôle IAM
Étape 6 : CRÉER UNE SCÈNE DANS SNOWFLAKE :
Une étape est un objet dans lequel les fichiers peuvent être stockés temporairement à partir d’un stockage local ou d’un stockage cloud, en utilisant l’étape, nous pouvons charger les données dans des tables.
CRÉER ou remplacer STAGE mystage
URL = ‘s3://newbucket1.10/sample.csv’
STORAGE_INTEGRATION = bowiya_inte;
Étape 7 : CRÉER UN TUYAU À NEIGE EN FLOCON DE NEIGE :
CRÉER ou remplacer PIPE mypipe
AUTO_INGEST = VRAI
COMME
COPIER DANS table1
DE @mystage
FILE_FORMAT = (type = ‘CSV’ SKIP_HEADER = 1);
Étape 7 : CRÉER UNE NOTIFICATION D’ÉVÉNEMENT DANS S3 :
La notification d’événement avertira lorsqu’un objet est modifié ou ajouté dans le compartiment.
Dans s3, accédez aux propriétés et créez un événement de notification.
ÉTAPE 8 : Obtenez l’identifiant de la file d’attente SQS à partir de votre canal de flocon de neige.
Une fois l’événement de notification créé, le tuyau de neige chargera les données chaque fois que le fichier est ajouté ou modifié dans le compartiment s3.
ÉTAPE 9 : SURVEILLER L’ÉTAT DU TUYAU À NEIGE.

Cheikh Abdoul Kalam
Shaik Abdul Kalam est consultant technique associé chez Perficient et il est basé à Chennai. Il possède une solide compréhension des technologies telles que IICS-CDI, Snowflake et SQL et souhaite apprendre de nouvelles technologies.
NOTE: Snow Pipe ne chargera plus le même fichier, car la file d’attente SQS lit le nom du fichier, lit le fichier et les métadonnées ont été capturées. Si nous téléchargeons à nouveau le même fichier, la file d’attente SQS ne recevra aucune notification et Snow Pipe ne pourra donc pas charger à nouveau le même fichier.
Source link