Do you have a ton of data sources and do not know how to expose them? Do you know you need a Snowflake API but don’t know where to begin to build it? Look no further, DreamFactory can take any database and generate a fully documented and secure REST API faster than making a sandwich. All you need is your Snowflake credentials and DreamFactory will handle the rest, instantly generating OpenAPI documentation and securing your API by way of API keys. Follow along with the blog!
In order to get started, you must install DreamFactory, which is Open Source and gives you the ability to try out several popular databases. To spin up your own hosted environment for free click here.
Did you know you can generate a full-featured, documented, and secure Snowflake REST API in minutes using DreamFactory? Sign up for our free trial to learn how! Our guided tour will show you how to create an API using an example database provided to you as part of the trial!
Create a Snowflake REST API Now
Generating A Snowflake API
Now the fun part. Once you have DreamFactory up and running you will be on the Admin panel. From there you will navigate to the Services tab to connect your database to your API. In the below example, I have selected Big Data to get to the Snowflake connector. This is nearly identical for any database you want to connect to. Connecting your database typically only requires filling out these fields as shown below.
Upon saving there will be a success window pop-up saying “Service saved successfully”. What it doesn’t tell you is all the magic it just did behind the scenes. In just that short amount of time, it generated your Snowflake REST API. You now navigate to the API Docs tab and you can see your new OpenAPI documentation for the API and actually interact with it via the “Try it out” button.
Securing and Interacting with the Snowflake API
I can end it here now that you have generated your API, but where is the fun in that? Now let’s actually see the API in action! First things first, let’s generate an API key to be paired with the API for security purposes. DreamFactory does not allow access to the API without being authenticated. Let’s navigate to the Roles tab and create a Role for our API. This Role with correspond with the API key so different users can have different privileges based off different keys.
For my Role I have pointed it to the Snowflake REST API Service we just created and told it to only allow GET calls on the endpoints. This will ensure anyone using this API key will not be able to, for example delete data from the database.
We must now link this Role to an API key. If we now go to the Apps tab we can create a new API key with the corresponding Role.
Once we hit save we are able to see the API key generated for our use. Just to show how it works I will be using Insomnia, a popular HTTP service, to call our DreamFactory API. I will call the customers table, passing the API key in the headers for authentication.
Did you know you can generate a full-featured, documented, and secure Snowflake REST API in minutes using DreamFactory? Sign up for our free 14 day trial to learn how! Our guided tour will show you how to create an API using an example database provided to you as part of the trial!
Create a Snowflake REST API Now
As you can see I have access to our new API and how much time did that take? Way less time than building this API yourself! If you would like to find out exactly how much time and money DreamFactory can save you, check out our API calculator. Otherwise what are you waiting for? Go build your next application using DreamFactory already!
If you have any questions about the platform, or just APIs in general, we’d love to hear from you! Contact us.
Related reading: What is Snowflake? Features, Pros and Cons, and Reviews
Terence Bennett, General Manager at DreamFactory, has a strong operational, business, and extensive experience in government IT systems and Google Cloud. He started his career as a U.S. Navy Intelligence Officer, then honed his skills on Google’s Red Team and later became the COO of Integrate.io.