Voir les catégories

Comment exposer une base de données Snowflake en tant qu'API REST sécurisée

13 min de lecture

Logo flocon de neige FLOCON DE NEIGE API REST

Transformer une requête Snowflake en une requête sécurisée API REST — pas d'API SQL à configurer, pas de comptes à partager.

Enregistrez une requête SQL sur votre entrepôt Snowflake, générez une clé API par destinataire et fournissez à un partenaire un point de terminaison JSON opérationnel. Non API SQL Snowflake Intégration à développer, pas de paire de clés OAuth, pas de licence d'entrepôt à distribuer — juste un accès en lecture seule et contrôlé API REST Snowflake en quelques minutes.

Pas de sièges à partager Clés par destinataire Lecture seule appliquée Rien à déployer

Query Streams est une plateforme d'intégration de bases de données sécurisée et en temps réel qui transforme toute requête Snowflake enregistrée en un point de terminaison d'API REST prêt pour les partenaires, avec des clés par destinataire, une application en lecture seule et une piste d'audit complète. Vous obtenez une vie API REST Snowflake sans développer d'applications basées sur l'API SQL de Snowflake, sans distribuer d'identifiants de compte ni héberger de passerelle. Pour en savoir plus, rendez-vous sur QueryStreams.com. et Inscrivez-vous gratuitement pour publier votre premier point de terminaison Snowflake en quelques minutes.

Pourquoi exposer une base de données Snowflake sous forme d'API REST ?

Vos données organisées sont stockées dans Snowflake, et tôt ou tard, une personne extérieure à votre équipe en aura besoin : un client souhaite ses chiffres sur un tableau de bord, un fournisseur préfère un flux en direct à une exportation nocturne, ou l’application d’un partenaire doit lire un ensemble de résultats structurés. Les options natives ont toutes un coût que vous préféreriez éviter. L’API SQL de Snowflake est puissante, mais elle implique la mise en place d’une authentification par paire de clés ou OAuth, d’un entrepôt de données opérationnel et de la gestion de la pagination côté client. Fournir à un partenaire un identifiant Snowflake (ou un compte lecteur) lui donne accès à bien plus qu’à un simple rapport, et chaque accès a un coût. Les pipelines ETL inversés déplacent les données vers un autre emplacement. API REST Snowflake Voici la version simplifiée : le partenaire reçoit une URL et un jeton, pas votre compte. Query Streams crée une requête enregistrée et y ajoute une clé.

Aucun compte, places à offrir

Les destinataires ne reçoivent jamais d'identifiants Snowflake, de compte lecteur ni de client OAuth. L'agent réseau exécute la requête avec vos droits de lecture seule ; le partenaire ne détient qu'une clé API.

Clés API par destinataire

Chaque bénéficiaire reçoit le sien qsapi_* clé. Révoquez-en une sans toucher aux autres et sans modifier vos identifiants Snowflake.

Conçu pour la lecture seule

Un validateur en lecture seule rejette toute instruction autre que SELECT avant qu'elle n'atteigne Snowflake. Il n'y a pas d'erreur. MISE À JOUR, FUSIONNER, ou BAISSE chemin à travers l'API.

Vos données SQL restent confidentielles

Le destinataire voit l'URL du point de terminaison, la réponse JSON et les filtres que vous avez exposés — jamais votre SQL, votre entrepôt de données, votre identifiant de compte ni votre schéma.

Rien à héberger ni à patcher

Aucune intégration d'API SQL, aucun serveur OAuth, aucun pipeline ETL inversé. Le point de terminaison fonctionne comme une fonctionnalité gérée ; il n'y a donc aucun pipeline de déploiement ni code de renouvellement de jeton à gérer.

Permanent, éphémère ou autodestructeur

Rendez un point de terminaison permanent, programmez son expiration à une date précise ou attribuez-lui un budget d'appels fixe qui s'autodétruit après un nombre défini de requêtes.

Snowflake SQL via API REST : les méthodes habituelles et leurs inconvénients

Il existe des solutions efficaces pour créer une interface HTTP sur Snowflake. Le hic ? Chacune d’elles vous laisse responsable de l’authentification, de l’infrastructure ou d’une copie des données. Voici comment les approches courantes se comparent à un point de terminaison partagé Query Streams lorsque l’objectif est simplement de permettre à un partenaire spécifique de lire un ensemble de résultats spécifique.

Préoccupation API SQL Snowflake (native) Service ETL inverse / service DIY Flux de requêtes
Ce que le destinataire détient Paire de clés au niveau du compte ou client OAuth Une copie de vos données dans un autre outil Une clé à usage unique pour une seule requête
Surface exposée Toute requête SQL que le rôle peut exécuter Quel que soit le pipeline synchronisé Une seule requête enregistrée, rien d'autre.
Authentification que vous avez configurée Paire de clés JWT / OAuth + entrepôt de données Identifiants du pipeline aux deux extrémités Agent sortant uniquement, rôle en lecture seule
Clés par destinataire + révocation Construisez-le vous-même Construisez-le vous-même Intégré dans
Journal d'audit de chaque appel Via ACCOUNT_USAGE, auto-assemblage Ajoutez-le vous-même Intégré dans
Vous gérez / corrigez / faites tourner l'authentification Oui, pour toujours Oui, pour toujours Géré pour vous
Temps jusqu'au premier point final Quelques heures à quelques jours Jours Minutes

Vous recherchez une alternative à l'API SQL de Snowflake pour le partage entre partenaires ?

L'API SQL de Snowflake est idéale lorsque vous contrôlez l'ensemble du processus et souhaitez un accès programmatique complet à votre compte. En revanche, si vous préférez fournir à un partenaire désigné un ensemble de résultats en lecture seule et contrôlé (avec sa propre clé, un journal d'audit et sans intégration d'authentification à mettre en place), Query Streams répond précisément à ce besoin. Les deux solutions peuvent coexister : l'API SQL pour vos propres applications et Query Streams pour le partage sortant.

Comment Query Streams transforme une requête Snowflake en une API REST

Une fois l'agent réseau installé et votre connecteur Snowflake configuré, la promotion d'une requête enregistrée vers un point de terminaison REST partagé se fait en trois étapes environ. Si vous utilisez déjà Query Streams pour Excel, Google Sheets ou le serveur MCP, votre agent et votre connecteur sont déjà en place ; vous passez directement à l'étape deux.

1

Connectez Snowflake via l'agent

Installez l'agent réseau et ajoutez un connecteur Snowflake avec un rôle dédié en lecture seule et un petit entrepôt de données. L'agent établit une connexion TLS sortante vers Query Streams ; aucune information d'identification de compte n'est jamais transmise au destinataire.

2

Enregistrer une requête SQL

Écrivez le SELECTIONNER Dans le générateur de requêtes de votre connexion Snowflake, les jointures, les CTE, les fonctions de fenêtre et les paramètres sont tous acceptés. Nommez votre requête et enregistrez-la. Tout élément pouvant être sélectionné peut devenir un point de terminaison.

3

Faites-en la promotion et partagez une clé

Ouvrez l'onglet Installation, choisissez le type de point de terminaison (permanent, temporaire ou à budget d'appels) et le format de sortie, puis invitez un destinataire par e-mail. Il recevra un lien magique et son propre qsapi_* clé.

Maintenez les crédits d'entrepôt à un niveau bas.

Chaque appel d'API exécute votre requête enregistrée sur l'entrepôt de données auquel vous avez attribué le connecteur. Configurez-le pour qu'il pointe vers un petit entrepôt à suspension automatique afin qu'il s'arrête entre les appels ; ainsi, le cache de résultats de Snowflake permet de traiter à moindre coût les appels identiques répétés. Une requête enregistrée à portée restreinte garantit la prévisibilité du nombre d'octets analysés et des crédits consommés.

Pas de compte partagé, pas d'entrepôt exposé

Le modèle de sécurité est la raison pour laquelle les équipes privilégient cette solution plutôt qu'une connexion Snowflake ou une intégration d'API SQL publique. Vos identifiants Snowflake sont stockés exclusivement dans le coffre-fort chiffré de l'agent sur votre réseau ; ils ne sont jamais transmis à notre cloud et restent invisibles pour le destinataire. De plus, chaque point de terminaison vous offre des contrôles spécifiques à chaque destinataire, que vous pouvez renforcer avant tout partage.

Agent sortant uniquement

L'agent atteint agent.querystreams.com sur le port 443, votre réseau ne voit donc que du trafic HTTPS sortant normal — aucun port entrant, aucun VPN, aucun tunnel. Comment fonctionne une connexion sortante uniquement ?

Application en lecture seule

Un validateur s'exécute dans l'agent, sur votre réseau, avant qu'une requête n'atteigne Snowflake. Les requêtes autres que SELECT sont rejetées. VIOLATION EN LECTURE SEULE.

Listes blanches IP + CORS

Associer la clé d'un destinataire à des adresses IP ou des plages CIDR spécifiques et restreindre les origines de navigateur autorisées à appeler chaque point de terminaison. Les appels hors liste sont bloqués avant toute exécution de requête SQL.

Limites de débit + quotas d'octets

Des limites de débit à deux niveaux (par clé et par point de terminaison) ainsi qu'une limite mensuelle optionnelle en octets permettent de maintenir un destinataire bruyant dans un rayon d'explosion sûr et vos crédits d'entrepôt prévisibles.

Appelez votre API REST Snowflake

Les destinataires appellent le point de terminaison comme n'importe quelle autre API REST : un jeton d'authentification et une URL. Tout paramètre de requête enregistré que vous avez exposé peut être défini pour chaque appel, dans la chaîne de requête. OBTENIR ou dans un corps JSON pour POSTEL'agent lie ces valeurs en tant que paramètres liés appropriés, jamais par concaténation de chaînes, de sorte qu'un destinataire ne peut pas contourner un filtre pour injecter du SQL.

GET avec paramètre de filtre
# Appel du destinataire vers votre point de terminaison Snowflake boucle -H « Autorisation : Porteur qsapi_K7…ZmQ » \ « https://api.querystreams.com/v1/endpoints/revenue-by-segment?segment=Enterprise&since=2026-01-01 »

Choisissez le format de sortie pour chaque appel avec le Accepter en-tête (ou un ?format= paramètre de requête) : JSON pour un seul tableau, CSV pour les tableurs et pandas, ou, sur un point de terminaison de flux, NDJSON (une ligne JSON par ligne) pour les pipelines d'analyse à la demande — une solution adaptée aux grands ensembles de résultats produits par Snowflake. Pour les consommateurs sensibles à la bande passante, optez pour LZ4 Compression de la charge utile avec Accept-Encoding: lz4; les réponses non compressées reçoivent également une compression standard gzip sur le réseau automatiquement. Pour une description complète des modes statique et de flux, des quatre combinaisons de fils et de la génération OpenAPI 3.1, consultez le API REST instantanée pour les bases de données SQL guide.

Modalités de facturation de la consommation

La plateforme API est incluse dans chaque forfait et utilise la même allocation mensuelle de données qu'Excel, Sheets et MCP — les crédits de calcul Snowflake pour la requête s'exécutant toujours sur votre propre entrepôt de données, comme d'habitude. Comment fonctionnent la facturation des octets alloués et de la compression ?

Connectez-le à Power BI, Tableau et à tout logiciel capable de lire du JSON.

Parce que chaque point de terminaison renvoie une norme JSON — avec CSV et NDJSON en streaming à disposition — tout outil capable de lire un flux REST consomme directement vos données Snowflake, sans rien à installer de leur côté et sans pilote Snowflake requis. Power Query est le pont le plus facile vers la suite Microsoft BI : dans Power BI choisir Récupérer des données → Depuis le Web, collez l'URL du point de terminaison, ajoutez votre Autorisation L'en-tête est analysé par Power Query, qui convertit le JSON en un tableau actualisable alimentant votre modèle de données. (Pour les données en direct dans une feuille de calcul, la méthode native est utilisée.) Module complémentaire Excel Query Streams c'est la voie la plus simple — Power Query est là lorsque vous souhaitez intégrer les données directement dans le modèle Power BI.)

Logo Microsoft Power Query Power Query Récupérer les données → Depuis le Web, collez l'URL et le jeton d'authentification, puis développez le JSON en un tableau actualisable.
Logo Microsoft Power BI Power BI Même moteur Power Query — chargez le point de terminaison directement dans votre modèle et planifiez une actualisation
Logo Tableau Tableau Configurez un connecteur de données Web ou une source JSON pour qu'elle pointe vers le point de terminaison des tableaux de bord en direct.
Logo du facteur Facteur Importez la spécification OpenAPI 3.1, puis envoyez, inspectez et partagez des requêtes en un seul clic.

Il nourrit également n8n, Qlik, boucle, Python (demandes ou pandas.read_json), Insomnia, Hoppscotch — ou tout script ou flux de travail capable d'envoyer une requête HTTP et de lire du JSON.

Fonctionne sur AWS, Azure et Google Cloud

Peu importe le cloud sur lequel votre compte Snowflake est hébergé. L'agent se connecte de la même manière, que votre compte soit hébergé sur AWS, Azure ou Google Cloud, et quelle que soit la région. Pour une latence minimale, déployez l'agent dans la même région cloud que votre compte Snowflake ; un compte Query Streams peut exécuter plusieurs agents dans différentes régions et sur différents clouds, et un point de terminaison unique se comporte de manière identique quel que soit l'agent qui le gère.

Plus qu'un flocon de neige

Le même flux de travail permet de transférer une requête enregistrée depuis PostgreSQL, Microsoft SQL Server, MySQL, MariaDB, SQLite, Microsoft Access, Oracle, BigQuery ou DuckDB vers un point de terminaison REST. Snowflake est simplement l'un des points de départ les plus populaires. Parcourez les ressources disponibles. Guides d'installation des connecteurs pour la liste actuelle.

Questions fréquemment posées

Dois-je configurer l'API SQL de Snowflake ou distribuer les accès aux comptes ? +
Non. Vous n'avez jamais à configurer l'API SQL de Snowflake, à émettre une paire de clés ni à créer de compte lecteur pour le destinataire. L'agent réseau se connecte à Snowflake avec votre rôle en lecture seule et établit une connexion TLS sortante vers agent.querystreams.com sur le port 443. Le destinataire ne détient jamais qu'une seule clé API Query Streams limitée à une seule requête enregistrée.
Le destinataire peut-il voir mes identifiants SQL ou Snowflake ? +
Jamais. Le destinataire voit l'URL du point de terminaison, le corps de la réponse et les paramètres que vous avez exposés en tant que filtres. La requête SQL reste dans Query Streams et vos identifiants Snowflake sont stockés uniquement dans le coffre-fort chiffré de l'agent sur votre réseau ; ils ne sont jamais transmis à notre cloud.
Est-ce la même chose que l'API HTTP ou l'API SQL de Snowflake ? +
Non. L'API SQL de Snowflake (son API HTTP) offre un accès programmatique complet à votre compte pour le code que vous contrôlez, sécurisé par paire de clés ou OAuth. Query Streams adopte une approche différente, plus ciblée, pour le partage sortant : vous exposez une requête enregistrée comme point de terminaison, chaque destinataire reçoit sa propre clé révocable, chaque appel est audité et vous n'avez aucune intégration ni maintenance à effectuer. De nombreuses équipes utilisent les deux : l'API SQL en interne et Query Streams pour partager les résultats avec leurs partenaires.
Quels formats de sortie l'API peut-elle renvoyer ? +
JSON (par défaut), CSV ou, sur un point de terminaison de flux continu, NDJSON, adapté aux grands ensembles de résultats analytiques produits par Snowflake ; les destinataires choisissent à chaque appel. Accepter en-tête ou ?format=. Explication des formats de sortie, de la compression et du streaming →
Est-ce que cela va consommer mes crédits Snowflake ? +
Chaque appel exécute votre requête enregistrée sur l'entrepôt de données que vous avez attribué au connecteur, utilisant ainsi la puissance de calcul Snowflake comme n'importe quelle autre requête. Optimisez les coûts en configurant le connecteur pour qu'il utilise un petit entrepôt de données à suspension automatique et en écrivant une requête enregistrée à portée limitée ; le cache de résultats de Snowflake permet également de traiter des appels identiques répétés sans avoir à effectuer une nouvelle analyse. Les limites de débit et les quotas d'octets dans les flux de requêtes vous offrent une seconde limite quant à la fréquence d'appel d'un point de terminaison.
Un point de terminaison peut-il expirer ou s'autodétruire ? +
Oui, un point de terminaison peut être permanent, expirer à une date précise ou avoir un budget d'appels fixe, et la clé de tout destinataire peut être révoquée instantanément sans avoir à renouveler vos identifiants Snowflake. Durée de vie des points de terminaison et révocation des clés par destinataire →
Le destinataire a-t-il besoin d'un compte Query Streams ? +
Non — partagez-le avec une personne par e-mail (elle reçoit un lien magique et une organisation Free-tier créée automatiquement) à des fins de traçabilité, ou émettez une clé de service pour un accès machine à machine sans surveillance. Comment les bénéficiaires réclament et utilisent une clé →

Commencer

Publiez gratuitement votre première API REST Snowflake.

Inscrivez-vous, installez l'agent réseau, connectez Snowflake avec un rôle en lecture seule, enregistrez une requête SQL et envoyez par e-mail au destinataire une revendication de lien magique. Les clés par destinataire, l'application du rôle en lecture seule et un journal d'audit complet sont activés dès le premier appel.

Guides associés : API REST instantanée pour les bases de données SQL | Plateforme API REST de base de données | Exposez BigQuery en tant qu'API REST | Guides d'installation des connecteurs

Catégorie : Plateforme API

Mots-clés : API REST Snowflake, Snowflake, API REST SQL Snowflake, API REST, exposer Snowflake en tant qu'API, intégration de l'API Snowflake, partage de données Snowflake, clés par destinataire, API sans code, API REST de base de données

Méta-description : Transformez une requête Snowflake en une API REST sécurisée en lecture seule avec des clés par destinataire — aucune configuration d’API SQL, aucun compte partagé, aucun code.

Updated on 16 juin 2026

Powered by BetterDocs