Introductie

Er zijn diverse mogelijkheden om connectie te leggen met het dataplatform. Snowflake ondersteunt het ontwikkelen van applicaties met behulp van veel programmeertalen en ontwikkelplatforms. Met native clients (connectoren, stuurprogramma’s) van Snowflake kun je toepassingen ontwikkelen met een van de volgend mogelijkheden:

  • GO
  • JDBC
  • .NET
  • js
  • PHP
  • Python
  • SQLAlchemy
  • Daarnaast is het mogelijk om een rechtstreekse connectie te leggen met een eigen Snowflake datawarehouse.

Snowpark
De Snowpark-library biedt REST API’s voor het opvragen van gegevens uit Snowflake. De REST API van Snowflake biedt een veilige, flexibele en schaalbare manier om grote hoeveelheden gegevens te verwerken vanuit Snowflake en ondersteunt verschillende query’s, filters en opdrachten, waardoor gebruikers flexibele manieren hebben om gegevens te ontsluiten.

SnowSQL
SnowSQL is een CLI (Command Line Interface)-tool die gebruikers in staat stelt om Snowflake te gebruiken via bijvoorbeeld een command promp. Het ondersteunt opdrachten voor het uitvoeren van SQL-query’s, het beheren van database-objecten en het configureren van Snowflake-accounts.

Rechtstreekse connectie met eigen Snowflake datawarehouse
Om een directe verbinding tussen twee Snowflake-datawarehouses tot stand te brengen, maken we gebruik van de functie ‘Cross-Account Data Sharing’. Hiermee kan ANVA veilig en gecontroleerd gegevens delen met jouw eigen Snowflake datawarehouse.

Kenmerken

SnowSQL

  • SSL/TLS-versleuteling, authenticatie en autorisatie
  • Compatibel met verschillende besturingssystemen, waaronder Windows, Linux en macOS.
  • Ontworpen om te schalen met de behoeften van de gebruikers en kan worden gebruikt om grote hoeveelheden gegevens te verwerken.
  • Ondersteunt verschillende configuratie-opties en kan worden aangepast aan de behoeften van de gebruikers.
  • Mogelijkheid om te integreren met verschillende applicaties en tools, waaronder BI-tools.

RESTAPI

  • Maakt gebruik van HTTP-methoden zoals GET, POST, PUT en DELETE om gegevens te beheren.
  • Ondersteunt het JSON-formaat, wat het gemakkelijk maakt om gegevens op te halen en te verwerken. Het biedt ook ondersteuning voor andere bestandsformaten zoals CSV en Avro.
  • Ondersteunt paginering, waardoor gebruikers grote hoeveelheden gegevens in kleinere delen kunnen ophalen. Dit helpt bij het beperken van de belasting van de server en het verbetert de prestaties.
  • Asynchrone verwerking: De REST API van Snowflake ondersteunt asynchrone verwerking, wat betekent dat gebruikers meerdere aanvragen kunnen indienen en de verwerking ervan kan worden gecontroleerd via statuscontroles.
  • Ondersteunt caching om de prestaties te verbeteren door het verminderen van het aantal verzoeken dat naar de server wordt gestuurd.
  • Uitgebreide monitoring en logging-functies, waaronder query-uitvoeringsstatistieken en foutmeldingen, om gebruikers te helpen bij het diagnosticeren en oplossen van problemen.

Rechtstreekse connectie met eigen Snowflake datawarehouse
Het is mogelijk om een directe verbinding te leggen tussen Snowflake datawarehouses die zich op verschillende cloudplatforms bevinden, inclusief Amazon Web Services (AWS) en Microsoft Azure of Google Cloud.

Specificaties

SnowSQL
SnowSQL is een command line client die wordt geleverd door Snowflake. SnowSQL wordt gebruikt om gegevens te beheren en te communiceren die zijn opgeslagen in Snowflake via SQL-opdrachten. Het stelt gebruikers in staat om query’s uit te voeren en database-objecten zoals tabellen te beheren.

Snowpark
De Snowpark-library biedt REST API’s voor het opvragen van gegevens uit Snowflake.

ANVA verstrekt credentials om gegevens te ontsluiten uit Snowflake. Daarmee kun je als gebruiker de Snowflake REST API gebruiken om gegevens op te halen en te downloaden vanuit Snowflake. Om de API te gebruiken, moet je eerst een API-gebruikersaccount maken en de credentials van ANVA krijgen tot de objecten die je wilt ontsluiten. Vervolgens kun je REST API-oproepen gebruiken om de gegevens op te halen en te downloaden in het gewenste formaat.

Om gegevens op te halen met de Snowflake REST API, moet je de volgende stappen uitvoeren:

  • Stel de juiste autorisatie-informatie in om toegang te krijgen tot het Snowflake-account.
  • Gebruik de REST API-oproepen om de gegevens op te halen. Je kunt verschillende query’s en filters gebruiken om de resultaten te beperken tot de gegevens die je nodig hebt.
  • Download de gegevens in het gewenste formaat. Snowflake ondersteunt verschillende bestandsindelingen, zoals CSV, JSON en Excel.
  • Verwerk de gegevens in de gewenste tool of applicatie.

De Snowflake REST API is ontworpen om veilig en schaalbaar te zijn, en kan worden gebruikt voor verschillende use-cases, zoals het automatiseren van gegevensintegratieprocessen, het maken van aangepaste rapporten en dashboards en het integreren van Snowflake-gegevens met andere tools en applicaties. Snowpark vereist geen apart cluster buiten Snowflake voor berekeningen. Alle berekeningen worden gedaan binnen Snowflake.

Rechtstreekse verbinding Snowflake datawarehouse
Om Cross-Account Data Sharing in te stellen, zal ANVA in het dataplatform het delen van bestanden/data van jouw organisatie inschakelen. Vervolgens zullen wij de gegevens met jouw account en de rechten instellen om toegang te verlenen tot de gedeelde gegevens. Je kunt vervolgens de gedeelde gegevens gebruiken alsof het deel uitmaakt van jouw eigen account (view).

Om een directe verbinding te maken tussen de twee accounts, moeten we gezamenlijk de juiste referenties en machtigingen instellen in beide accounts. Zodra dit is voltooid, kunnen de accounts direct met elkaar communiceren zonder dat er extra middelen of tools nodig zijn.

Technische documentatie

Meer informatie omtrent de verschillende connectiemogelijkheden met Snowflake:

https://docs.snowflake.com/api-reference

SnowSQL
Snowflake biedt uitgebreide documentatie en ondersteuning voor SnowSQL, inclusief voorbeeldcode en handleidingen, om gebruikers te helpen bij het implementeren van SnowSQL in hun workflows en processen. Gebruik de Snowflake Client Repository om SnowSQL, het ODBC-stuurprogramma, de Snowpark-library of SnowCD via HTTP te downloaden (bijvoorbeeld met behulp van curl).

Meer informatie omtrent SnowSQL: https://developers.snowflake.com/snowsql/

Snowpark
Meer informatie omtrent Snowpark API’s: https://docs.snowflake.com/en/developer-guide/snowpark/index

Rechtstreekse connectie Snowflake Datawarehouses
Meer informatie omtrent datasharing: https://docs.snowflake.com/en/user-guide/data-sharing-intro

Toegang dataplatform
Voor de toegang levert ANVA een private key bestand met een sterk wachtwoord, deze moeten bij de configuratie ingericht worden.

Het private key bestand moet bij voorkeur worden opgeslagen op een locatie waar zo min mogelijk mensen toegang hebben.