Snowflake deployment
Download the Snowflake client from the Feature Store UI and extract it.
Create Azure function app
- Create a function app in Azure
- Use VS Code to deploy the functions present inside the
azure-function-app
on the extract path to the function app - Create variable
FS_URL
with the Feature Store backend url in the function app ( Configuration -> Application Settings)
Create Azure API management service
- Create a new Azure API Management Service
- Create new API by importing the function app
- Make a note of the URL for the API service
Create Azure AD application
- Create a new Azure Active Directory App and click Save
- Go to
App Registrations
, search for the new AD app and make a note of the App Id - Make a note of the Tenant Id from Azure Active Directory
Create API integration in Snowflake
The following SQL code can be used to create the API integration to Microsoft Azure API Gateway:
create or replace api integration integration_name
api_provider=azure_api_management
azure_tenant_id=<Azure AD Tenant Id>
azure_ad_application_id=<Azure AD App Id>
api_allowed_prefixes = (<URL of the API Service>)
enabled=true;
Instructions on how to link Snowflake API Integration to Azure Proxy Service.
Create external functions in Snowflake
The definitions for external functions can be found inside the file
setup.sql
.
- Replace the name of the
api integration
with the API Integration that you have created.
Setup JWT validation between Snowflake and Azure
Create storage integration in Snowflake
You need to create storage integration and external Azure stages in Snowflake so that Snowflake can read data directly from the Feature Store storage.
// Storage Integration
create or replace storage integration <integration name>
type = external_stage
storage_provider = azure
enabled = true
azure_tenant_id = '<Azure AD Tenant Id>'
storage_allowed_locations = ('azure://<Feature Store Storage Account Name>.blob.core.windows.net/<Feature Store Retrieve Container Name>');
// File format
create or replace file format my_parquet_format
type = parquet
COMPRESSION = SNAPPY;
// External Stage
create or replace stage <external stage name>
storage_integration = <integration name>
url = 'azure://<Feature Store Storage Account Name>.blob.core.windows.net/<Feature Store Retrieve Container Name>'
file_format = my_parquet_format;
Feedback
- Submit and view feedback for this page
- Send feedback about H2O Feature Store to cloud-feedback@h2o.ai