SnowPro® Specialty: Native Apps Exam Study Guide (NAS-C01)

SnowPro-Specialty-Native-Apps

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

CourseraSnowflake Data Engineering Professional Certificate
UdemySnowflake 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

Introduction to Data Sharing

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

Overview of Access Control

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

Overview of Access Control

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

Install an app from a listing

Design application role hierarchies

Application roles: Allow consumers to share different views of the same data

CREATE APPLICATION ROLE

Overview of Access Control

Implement data protection strategies

Working with Secure Views

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

Request external access

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 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

Create the setup script

Use owner’s rights and restricted caller’s rights in an app

Implement application logic: Use external functions

Introduction to external functions

Create the setup script

Implement application logic: Use User-Defined Functions (UDFs)

Overview of user-defined functions

Create the setup script

Implement application logic: Use User-Defined Table Functions (UDTFs)

Overview of user-defined functions

Create the setup script

Implement application logic: Use Streamlit

Add a Streamlit app

Create the setup script

Implement application logic: Use Snowpark Container Services: Configure compute pool settings

Snowpark Container Services

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

Snowpark Container Services

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

CREATE APPLICATION PACKAGE

ALTER APPLICATION PACKAGE

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

CREATE APPLICATION ROLE

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

CREATE APPLICATION

Configure IMPORTED PRIVILEGES on databases.

Request global privileges from consumers

Overview of Access Control

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

Restricted caller’s rights

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

Restricted caller’s rights

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

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

Add a Streamlit app

Create the setup script

Implement role-based access control in Streamlit UI

Add a Streamlit app

CREATE APPLICATION ROLE

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

ALTER APPLICATION

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

ALTER APPLICATION PACKAGE

Manage releases

Publish an app using release channels

About release channels, versions, and patches

Implement patch releases

Develop a new version of an app

ALTER APPLICATION PACKAGE

Configure version upgrades

Upgrade an app using release channels

Update an app

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

ALTER APPLICATION PACKAGE

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

Publish an app to consumers

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

Paid listings pricing 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

Paid listings pricing models

Set up custom billing events

SYSTEM$CREATE_BILLING_EVENT

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

Install an app from a listing

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

Using auto-fulfillment

Set up auto-fulfillment

Support multiple application instances for each consumer account

CREATE APPLICATION PACKAGE

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

Install an app from a listing

CREATE APPLICATION

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

ALTER APPLICATION PACKAGE

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

ALTER APPLICATION PACKAGE

Configure release channels: Understand version assignment constraints

About release channels, versions, and patches

Configure auto-fulfillment settings

Using auto-fulfillment

Set up auto-fulfillment

View metadata and usage metrics

LISTING_CONSUMPTION_DAILY view

Monitor a native app

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

ALTER APPLICATION

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

Monitor a native app

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.

Share the SnowPro Specialty: Native Apps Study Guide in Your Network

You may also like

Leave a Reply

Your email address will not be published. Required fields are marked *