SnowPro Specialty: Native Apps Preparation Details
The SnowPro Specialty: Native Apps certification validates your ability to design, build, deploy, and manage Snowflake Native Apps throughout their full lifecycle. This guide covers all four exam domains: framework fundamentals, application design and creation, deployment, and ongoing management. You can also explore more Snowflake certification study guides on the Snowflake category to keep building your skills.
SnowPro Specialty: Native Apps Materials
| Coursera | Snowflake Data Engineering Professional Certificate |
| Udemy | Snowflake SnowPro Specialty: Native Apps |
Domain 1.0: Design Snowflake Native Applications
1.1 Given a set of requirements, design Native App Architecture.
Select between Secure Data Sharing, Declarative Native Apps, and Snowflake Native Apps based on complexity, requirements, and cost
About the Snowflake Native App Framework
About Declarative Sharing in the Native Application Framework
Plan schema separation: Data objects compared to logic objects
Share data content in a Snowflake Native App
Create and manage an application package
Use versioned schema to manage app objects across versions
Identify Snowflake Native App Framework technical limitations and constraints: When to implement a Native App
About the Snowflake Native App Framework
Snowflake Native App Framework workflow
Identify Snowflake Native App Framework technical limitations and constraints: When to create new App versions or to patch an existing version
Overview of app versions and upgrades
Develop a new version of an app
About release channels, versions, and patches
1.2 Given a scenario, design security and privilege strategies.
Apply least privilege principles in manifest privilege requests
Create the manifest file for an app
Snowflake Native App manifest file reference
Request global privileges from consumers
Design security boundaries and access controls: When to use provider or consumer boundaries
About the Snowflake Native App Framework
Design security boundaries and access controls: Application compared to consumer data isolation
Use owner’s rights and restricted caller’s rights in an app
Design security boundaries and access controls: Cross-account security
Request references and object-level privileges from consumers
Request global privileges from consumers
Design security boundaries and access controls: Consumer approval workflows
Configure the privileges required by an app
Design application role hierarchies
Application roles: Allow consumers to share different views of the same data
Implement data protection strategies
Use owner’s rights and restricted caller’s rights in an app
Implement External access from Snowflake: APIs
Creating and using an external access integration
Implement External access from Snowflake: External network access
Creating and using an external access integration
Example – Configure external access for services in an app with containers
Domain 2.0: Build Snowflake Native Applications
2.1 Given a use case, build Native App Framework components.
Create application package components.: Manifest file structure, sections, and version compatibility
Create the manifest file for an app
Snowflake Native App manifest file reference
Create and manage an application package
Create application package components.: Setup script
Create the manifest file for an app
Create application package components.: Manage database schema changes
Use versioned schema to manage app objects across versions
Develop a new version of an app
Create application package components.: Artifacts
Snowflake Native App manifest file reference
Create and manage an application package
Implement schema structure for version management: Versioned schemas compared to regular schemas
Use versioned schema to manage app objects across versions
Overview of app versions and upgrades
Implement schema structure for version management: Object compatibility with versioned schemas
Use versioned schema to manage app objects across versions
Develop a new version of an app
Implement application logic: Use stored procedures
Use owner’s rights and restricted caller’s rights in an app
Implement application logic: Use external functions
Introduction to external functions
Implement application logic: Use User-Defined Functions (UDFs)
Overview of user-defined functions
Implement application logic: Use User-Defined Table Functions (UDTFs)
Overview of user-defined functions
Implement application logic: Use Streamlit
Implement application logic: Use Snowpark Container Services: Configure compute pool settings
Snowpark Container Services: Working with services
Implement application logic: Use Snowpark Container Services: Implement service endpoint binding requirements
Snowflake Native App manifest file reference
Snowpark Container Services: Working with services
Implement application logic: Use Snowpark Container Services: Implement container-based application architecture
Workflow: Develop an app with containers
Configure data bundling and in-app sharing strategies: Data packaging and sharing
Share data content in a Snowflake Native App
About Declarative Sharing in the Native Application Framework
Configure data bundling and in-app sharing strategies: Data inclusion decisions
Share data content in a Snowflake Native App
Application roles: Allow consumers to share different views of the same data
Configure data bundling and in-app sharing strategies: Data sharing compared to private data boundaries
Share data content in a Snowflake Native App
Use owner’s rights and restricted caller’s rights in an app
Manage package distribution settings: Configure distribution modes
Manage package distribution settings: Separate development and production packages
Create and manage an application package
Install and test an app locally
Establish external object references and dependencies
Request references and object-level privileges from consumers
Snowflake Native App manifest file reference
2.2 Implement security and privileges.
Configure manifest file privilege specifications
Create the manifest file for an app
Snowflake Native App manifest file reference
Request global privileges from consumers
Build application role structures
Application roles: Allow consumers to share different views of the same data
Secure cross-account reference patterns
Request references and object-level privileges from consumers
Use owner’s rights and restricted caller’s rights in an app
Establish privilege-granting workflows
Configure the privileges required by an app
Request global privileges from consumers
Establish App specifications and feature policies as consumer-side governance controls.
Overview of app specifications
Approve connections to external resources using app specifications
Code security requirements.
Security requirements and guidelines for a Snowflake Native App
Run the automated security scan
Grant global privileges.: EXECUTE TASK
Request global privileges from consumers
Grant global privileges.: EXECUTE MANAGED TASK
Request global privileges from consumers
Grant global privileges.: CREATE WAREHOUSE
Request global privileges from consumers
Grant global privileges.: MANAGE WAREHOUSES
Request global privileges from consumers
Grant global privileges.: CREATE DATABASE
Request global privileges from consumers
Configure IMPORTED PRIVILEGES on databases.
Request global privileges from consumers
Configure execution rights for Native App objects.: Owner’s rights compared to restricted caller’s rights.
Use owner’s rights and restricted caller’s rights in an app
Configure execution rights for Native App objects.: EXECUTE AS OWNER
Use owner’s rights and restricted caller’s rights in an app
Configure execution rights for Native App objects.: EXECUTE AS RESTRICTED CALLER
Use owner’s rights and restricted caller’s rights in an app
Configure execution rights for Native App objects.: Consumer-side GRANT CALLER workflows
Grant restricted caller’s rights to an executable in an app
Use owner’s rights and restricted caller’s rights in an app
Configure execution rights for Native App objects.: Limitations of restricted caller’s rights
Use owner’s rights and restricted caller’s rights in an app
Configure execution rights for Native App objects.: Intellectual property protection through execution rights
Use owner’s rights and restricted caller’s rights in an app
Security requirements and guidelines for a Snowflake Native App
2.3 Implement development workflows.
Configure event tables and event sharing: Event definition and consumer approval workflows: required and optional events
Configure event definitions for an app
Use logging and event tracing for an app
Set up event tracing for an app
Design event sharing permissions and governance
Configure event definitions for an app
Use logging and event tracing for an app
Configure application and required privileges
Configure the privileges required by an app
Create the manifest file for an app
Manage Python environment configuration using environment.yml
Implement role-based access control in Streamlit UI
Utilize test mode for validation
Install and test an app locally
Snowflake Native App manifest file reference
Utilize development and debug modes for validation: Debug mode execution contexts
Install and test an app locally
Implement permissions with SQL
Request global privileges from consumers
Request references and object-level privileges from consumers
Configure default log levels and trace levels in the manifest file
Configure event definitions for an app
Snowflake Native App manifest file reference
2.4 Implement version release workflows.
Create new application versions.
Publish an app using release channels
Manage releases
Publish an app using release channels
About release channels, versions, and patches
Implement patch releases
Develop a new version of an app
Configure version upgrades
Upgrade an app using release channels
Manage version dependencies and rollback strategies
Overview of app versions and upgrades
Develop a new version of an app
Establish consumer controlled maintenance policies. (Will not be tested on until it has been in Public Preview for 3 months)
Consumer-controlled maintenance policies
Domain 3.0: Deploy Snowflake Native Applications
3.1 Publish to Snowflake Marketplace.
Configure private vs public listing settings
Guidelines and requirements for listing Apps on Snowflake Marketplace
Navigate security scanning and approval processes: Code readability requirements
Security requirements and guidelines for a Snowflake Native App
Run the automated security scan
Navigate security scanning and approval processes: Source map requirements for minified code
Appeal a failed security review
Run the automated security scan
Navigate security scanning and approval processes: Dependency vulnerability scanning
Common Vulnerabilities and Exposures (CVE) considerations
Run the automated security scan
Meet requirements for app approval
Guidelines and requirements for listing Apps on Snowflake Marketplace
Security requirements and guidelines for a Snowflake Native App
3.2 Implement monetization.
Configure subscription-based and usage-based billing models
Implement container billing and surcharge configuration
Compute pool surcharges in Snowflake Native Apps with containers
Costs associated with apps with containers
Set up billing event configuration
Add billable events to an application package
Set up custom billing events
Add billable events to an application package
3.3 Install and configure applications.
Create installation procedures: Ensure required privileges are available before installation
Configure the privileges required by an app
Request global privileges from consumers
Create installation procedures: Set up privilege granting workflows during installation
Configure the privileges required by an app
Create installation procedures: Ensure provider account has necessary privileges to support installation
Create and manage an application package
Guidelines and requirements for listing Apps on Snowflake Marketplace
Handle cross-account installation considerations: Verify references to provider objects are accessible from the consumer account
Request references and object-level privileges from consumers
Handle cross-account installation considerations: Ensure proper connectivity between provider and consumer accounts
Support multiple application instances for each consumer account
Set up consumer-side event table configuration
Set up event tracing for an app
Configure event sharing enablement
Use logging and event tracing for an app
Set up event tracing for an app
Handle multi-region event sharing considerations
Use logging and event tracing for an app
Install and manage permissions
Use and manage Snowflake Native Apps as a consumer
Request global privileges from consumers
Create the application in a consumer account from Snowflake Marketplace compared to a package
Troubleshoot installation failures
Install and test an app locally
Use and manage Snowflake Native Apps as a consumer
Domain 4.0: Manage Snowflake Native Applications
4.1 Manage deployed applications.
Configure version release management: Create and manage versions and patches
Develop a new version of an app
Configure version release management: Set release directives (default and custom)
ALTER APPLICATION PACKAGE … RELEASE DIRECTIVE
Publish an app using release channels
Configure version release management: Configure release channels (QA, ALPHA, DEFAULT)
About release channels, versions, and patches
Publish an app using release channels
Configure release channels: Understand channel types and monetization implications
About release channels, versions, and patches
Configure release channels: Manage version assignment workflows
Publish an app using release channels
Configure release channels: Configure privileges for release management
Configure release channels: Understand version assignment constraints
About release channels, versions, and patches
Configure auto-fulfillment settings
View metadata and usage metrics
LISTING_CONSUMPTION_DAILY view
4.2 Manage the consumer application lifecycle.
Manage upgrade policies when upgrades occur
Upgrade an app using release channels
Consumer-controlled maintenance policies
Upgrade consumer side
Upgrade an app using release channels
Configure consumer-controlled maintenance policies
Consumer-controlled maintenance policies
4.3 Maintain production applications.
Write idempotent code for upgrades
Develop a new version of an app
Use versioned schema to manage app objects across versions
Manage database schema changes
Use versioned schema to manage app objects across versions
Develop a new version of an app
Implement data integrity safeguards during upgrades
Overview of app versions and upgrades
Plan versioning strategies and upgrade paths
About release channels, versions, and patches
Overview of app versions and upgrades
Wrapping Up SnowPro Specialty: Native Apps
That covers all four domains of the SnowPro Specialty: Native Apps exam, from framework fundamentals through building, deploying, and managing apps in production. Work through the official documentation links above alongside hands-on practice building an application package before sitting the NAS-C01 exam. You can also explore more Snowflake certification study guides on the Snowflake category to keep building your skills. Have a question or tip? Leave a comment below.
Receive Updates on SnowPro Specialty: Native Apps Exam
Want to be notified as soon as I post? Subscribe to the RSS feed / leave your email address in the subscribe section. Share the article to your social networks with the below links so it can benefit others.