SlideShare a Scribd company logo
Azure Data Studio
Extension Development
Drew Skwiers-Koballa
Hi
Drew Skwiers-Koballa
@sysadmindrew
www.github.com/dzsquared
Developer in the Microsoft
ecosystem for 8 years, including
SQL Server
Introverted but friendly
Agenda
• What is Azure Data Studio
• Why Develop Extensions
• Extension Development Framework (demo)
• Publishing an extension
• Extension Type examples
• Extension Functionality examples
Platinum Sponsor:
Gold Sponsors:
Thank you Sponsors!
Visit the Sponsor Booths
Lots of Raffle Prizes!
Get your parking paid via
Sponsor Bingo
PASSMN – News/Info
Sponsors:
• Thanks to all our sponsors of 2018!
• We need Sponsors for Nov/Dec 2018 and 2019!
• Special thanks to our annual sponsor:
Board Member Elections in November/December:
• Your chance to help out the MN SQL community!
Azure Data Studio
Formerly Known as SQL Operations Studio
Multi-platform
SQL/data platform tool
Based on VS Code
Write Queries
Basic Server Management
What Does It Do What Doesn’t It Do
Server and Database Dashboards
Query Editing
Object Explorer
Export Results to csv/xlsx/json
Query Plan
Data Notebooks
SQL Agent
SQL Profiler
Integrated Terminal
Extension API
Table Designer
Object Properties Pane
Results to File/Text
Query Stats
Client Statistics
Always On
Always Encrypted
Maintenance Plans
Data Tuning Advisor
Error Log Viewer
Blog by Vicky Harp on
capabilities as of
September 2018:
https://cloudblogs.micro
soft.com/sqlserver/2018/
09/25/azure-data-
studio-for-sql-server/
Is Azure Data Studio Right For You?
How to Find Out
• Read capability summaries
• Watch demo videos
• Ask someone on your team to
try it out
• Test it
Friendly Reminders
• Both ADS and SSMS are free
• The most recent version of
ADS (v1.0) and SSMS (v17/v18
preview) work with most
versions of SQL Server
• Ola Hallengren’s scripts work
in both
Why Develop Extensions?
Do you have an enterprise workflow?
Do you want to create a shortcut?
Do you want to share something with the SQL
community?
Do you like branching out, but not too far out?
What Does It Take?
• Just about any computer
• Willingness to learn:
• A little Git
• A basic to intermediate understanding of Typescript
• 1 to 20+ hours
Let’s Build an Extension
https://github.com/dzsquared/AzureDataStudio_ExtensionDevelopment
Install Prerequisites
• Azure Data Studio
• VS Code
• SQL Operations Studio
Debugger extension for VS
Code
• Git
• NodeJS
Checking Installs
Install Prerequisites
• Typescript
• Yeoman Extension Generator
• VS Code Extension Manager
All 3 can be installed in VS Code terminal through npm
(Node Package Manager)
Yo
• For this sample, leave the Typescript Extension selection
• Enter a name, identifier, description, and your publishing name for
the extension
• Decline stricter checking and linting
• Select the initialization of a Git repository
yo sqlops
Activation Events – package.json
onCommand
workspaceContains
onFileSystem
onView
* (only when necessary)
Contribution Points – package.json
Commands
...
Configuration
Menu
Keybindings
Themes
Snippets
Dashboard
Container
Initial Git Commit
• Open the folder for your
extension in VS Code
• Stage and Commit all changes
Optional:
• Create a repository on GitHub
without initializing
• Run command to add Git
remote in VS Code
Test Extension
Open .vscode/launch.json
Change
“runtimeExecutable”: “sqlops”
to
“runtimeExecutable”:
”azuredatastudio”
Test Extension
Select Start Debugging from
the Debug menu
A special Extension Development
instance of ADS opens
Test the extension from the
command pallette (ctrl+shift+P)
Edit The Extension
Activation events: when the
extension is started
Contribution points:
additions to the application
VS Code APIs + Azure Data
Studio APIs
Available APIs – VS Code
Messages
Language
Tasks
Text Editors
Terminal
Status Bar
Files/Workspace
Webview
Available APIs – Azure Data Studio
Connection management
Object Explorer
Server Info
Object Metadata
Query Manipulation
SQL Agent
Backups
XEvents
Proposed:
Dashboard containers
Wizard pages
Background operations
Using Proposed APIs
Add typings folder to src folder
Add sqlops.proposed.d.ts file to folder
Package to .vsix
Update README.md
Run vsce package from terminal
Publish Your Extension
Publish
Project hosted publicly or has an
available download page
Fork the release/extensions tree
of Azure Data Studio
Publish
Add your extension to
extensions/extensionsGallery.json
Commit changes and submit a
Pull Request
Extension Types
Keymap
An extension that ties keystrokes to commands
Dashboard/Insight
Packaged visualizations for database or server dashboards
Color Themes
Snippets
Packaged code with placeholder tab stops
Snippets can be defined per user or by an extension
Functionality Examples
Full Webview
Wizard UI
Multi-step window
sequence to guide
user through decisions
Internet Connectivity
HTTP request responses dropped to new query editor
File Access
File access provided through VS Code APIs
Additional Dashboard Tab
Recap
Developing Extensions for Azure Data Studio
Additional capabilities added regularly
Opportunity to improve the toolset we have available
for the data platform
Exciting time to dive in!
Any Questions?
SQLSaturday #796 – After Party
There will be drinks and appetizers as well as free game
cards and bowling!
Hang out with some new friends you’ve made.
Location: 4th Floor of Mall of America
Time: 6:30PM – 10PM
Join the brightest data professionals focused on the
Microsoft Data Platform!
November 5th Through November 9th
• Pre-Conference Sessions – Monday/Tuesday
• Conference – Wednesday through Friday

More Related Content

What's hot

Pipelines and Packages: Introduction to Azure Data Factory (DATA:Scotland 2019)
Pipelines and Packages: Introduction to Azure Data Factory (DATA:Scotland 2019)Pipelines and Packages: Introduction to Azure Data Factory (DATA:Scotland 2019)
Pipelines and Packages: Introduction to Azure Data Factory (DATA:Scotland 2019)
Cathrine Wilhelmsen
 
Azure Data Factory
Azure Data FactoryAzure Data Factory
Azure Data Factory
HARIHARAN R
 
Master the Multi-Clustered Data Warehouse - Snowflake
Master the Multi-Clustered Data Warehouse - SnowflakeMaster the Multi-Clustered Data Warehouse - Snowflake
Master the Multi-Clustered Data Warehouse - Snowflake
Matillion
 
warner-DP-203-slides.pptx
warner-DP-203-slides.pptxwarner-DP-203-slides.pptx
warner-DP-203-slides.pptx
HibaB2
 
Snowflake Overview
Snowflake OverviewSnowflake Overview
Snowflake Overview
Snowflake Computing
 
Differentiate Big Data vs Data Warehouse use cases for a cloud solution
Differentiate Big Data vs Data Warehouse use cases for a cloud solutionDifferentiate Big Data vs Data Warehouse use cases for a cloud solution
Differentiate Big Data vs Data Warehouse use cases for a cloud solution
James Serra
 
Demystifying Data Warehouse as a Service
Demystifying Data Warehouse as a ServiceDemystifying Data Warehouse as a Service
Demystifying Data Warehouse as a Service
Snowflake Computing
 
Databricks Platform.pptx
Databricks Platform.pptxDatabricks Platform.pptx
Databricks Platform.pptx
Alex Ivy
 
Introduction to Azure Data Factory
Introduction to Azure Data FactoryIntroduction to Azure Data Factory
Introduction to Azure Data Factory
Slava Kokaev
 
Azure Synapse Analytics
Azure Synapse AnalyticsAzure Synapse Analytics
Azure Synapse Analytics
WinWire Technologies Inc
 
Snowflake Best Practices for Elastic Data Warehousing
Snowflake Best Practices for Elastic Data WarehousingSnowflake Best Practices for Elastic Data Warehousing
Snowflake Best Practices for Elastic Data Warehousing
Amazon Web Services
 
Microsoft Data Platform - What's included
Microsoft Data Platform - What's includedMicrosoft Data Platform - What's included
Microsoft Data Platform - What's included
James Serra
 
Architecting a datalake
Architecting a datalakeArchitecting a datalake
Architecting a datalake
Laurent Leturgez
 
Demystifying Data Warehousing as a Service - DFW
Demystifying Data Warehousing as a Service - DFWDemystifying Data Warehousing as a Service - DFW
Demystifying Data Warehousing as a Service - DFW
Kent Graziano
 
1- Introduction of Azure data factory.pptx
1- Introduction of Azure data factory.pptx1- Introduction of Azure data factory.pptx
1- Introduction of Azure data factory.pptx
BRIJESH KUMAR
 
Microsoft SQL Server - SQL Server Migrations Presentation
Microsoft SQL Server - SQL Server Migrations PresentationMicrosoft SQL Server - SQL Server Migrations Presentation
Microsoft SQL Server - SQL Server Migrations PresentationMicrosoft Private Cloud
 
Data Warehouse - Incremental Migration to the Cloud
Data Warehouse - Incremental Migration to the CloudData Warehouse - Incremental Migration to the Cloud
Data Warehouse - Incremental Migration to the Cloud
Michael Rainey
 
NOVA SQL User Group - Azure Synapse Analytics Overview - May 2020
NOVA SQL User Group - Azure Synapse Analytics Overview -  May 2020NOVA SQL User Group - Azure Synapse Analytics Overview -  May 2020
NOVA SQL User Group - Azure Synapse Analytics Overview - May 2020
Timothy McAliley
 
Snowflake Data Loading.pptx
Snowflake Data Loading.pptxSnowflake Data Loading.pptx
Snowflake Data Loading.pptx
Parag860410
 
Snowflake Company Presentation
Snowflake Company PresentationSnowflake Company Presentation
Snowflake Company Presentation
AndrewJiang18
 

What's hot (20)

Pipelines and Packages: Introduction to Azure Data Factory (DATA:Scotland 2019)
Pipelines and Packages: Introduction to Azure Data Factory (DATA:Scotland 2019)Pipelines and Packages: Introduction to Azure Data Factory (DATA:Scotland 2019)
Pipelines and Packages: Introduction to Azure Data Factory (DATA:Scotland 2019)
 
Azure Data Factory
Azure Data FactoryAzure Data Factory
Azure Data Factory
 
Master the Multi-Clustered Data Warehouse - Snowflake
Master the Multi-Clustered Data Warehouse - SnowflakeMaster the Multi-Clustered Data Warehouse - Snowflake
Master the Multi-Clustered Data Warehouse - Snowflake
 
warner-DP-203-slides.pptx
warner-DP-203-slides.pptxwarner-DP-203-slides.pptx
warner-DP-203-slides.pptx
 
Snowflake Overview
Snowflake OverviewSnowflake Overview
Snowflake Overview
 
Differentiate Big Data vs Data Warehouse use cases for a cloud solution
Differentiate Big Data vs Data Warehouse use cases for a cloud solutionDifferentiate Big Data vs Data Warehouse use cases for a cloud solution
Differentiate Big Data vs Data Warehouse use cases for a cloud solution
 
Demystifying Data Warehouse as a Service
Demystifying Data Warehouse as a ServiceDemystifying Data Warehouse as a Service
Demystifying Data Warehouse as a Service
 
Databricks Platform.pptx
Databricks Platform.pptxDatabricks Platform.pptx
Databricks Platform.pptx
 
Introduction to Azure Data Factory
Introduction to Azure Data FactoryIntroduction to Azure Data Factory
Introduction to Azure Data Factory
 
Azure Synapse Analytics
Azure Synapse AnalyticsAzure Synapse Analytics
Azure Synapse Analytics
 
Snowflake Best Practices for Elastic Data Warehousing
Snowflake Best Practices for Elastic Data WarehousingSnowflake Best Practices for Elastic Data Warehousing
Snowflake Best Practices for Elastic Data Warehousing
 
Microsoft Data Platform - What's included
Microsoft Data Platform - What's includedMicrosoft Data Platform - What's included
Microsoft Data Platform - What's included
 
Architecting a datalake
Architecting a datalakeArchitecting a datalake
Architecting a datalake
 
Demystifying Data Warehousing as a Service - DFW
Demystifying Data Warehousing as a Service - DFWDemystifying Data Warehousing as a Service - DFW
Demystifying Data Warehousing as a Service - DFW
 
1- Introduction of Azure data factory.pptx
1- Introduction of Azure data factory.pptx1- Introduction of Azure data factory.pptx
1- Introduction of Azure data factory.pptx
 
Microsoft SQL Server - SQL Server Migrations Presentation
Microsoft SQL Server - SQL Server Migrations PresentationMicrosoft SQL Server - SQL Server Migrations Presentation
Microsoft SQL Server - SQL Server Migrations Presentation
 
Data Warehouse - Incremental Migration to the Cloud
Data Warehouse - Incremental Migration to the CloudData Warehouse - Incremental Migration to the Cloud
Data Warehouse - Incremental Migration to the Cloud
 
NOVA SQL User Group - Azure Synapse Analytics Overview - May 2020
NOVA SQL User Group - Azure Synapse Analytics Overview -  May 2020NOVA SQL User Group - Azure Synapse Analytics Overview -  May 2020
NOVA SQL User Group - Azure Synapse Analytics Overview - May 2020
 
Snowflake Data Loading.pptx
Snowflake Data Loading.pptxSnowflake Data Loading.pptx
Snowflake Data Loading.pptx
 
Snowflake Company Presentation
Snowflake Company PresentationSnowflake Company Presentation
Snowflake Company Presentation
 

Similar to Azure Data Studio Extension Development

Azure DevOps for Developers
Azure DevOps for DevelopersAzure DevOps for Developers
Azure DevOps for Developers
Sarah Dutkiewicz
 
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...WSPDC & FEDSPUG
 
Building Applications for SQL Server 2008
Building Applications for SQL Server 2008Building Applications for SQL Server 2008
Building Applications for SQL Server 2008
Dave Bost
 
#SPSBrussels 2017 vincent biret #azure #functions microsoft #flow
#SPSBrussels 2017 vincent biret #azure #functions microsoft #flow#SPSBrussels 2017 vincent biret #azure #functions microsoft #flow
#SPSBrussels 2017 vincent biret #azure #functions microsoft #flow
Vincent Biret
 
Introduction to Microsoft Flow and Azure Functions
Introduction to Microsoft Flow and Azure FunctionsIntroduction to Microsoft Flow and Azure Functions
Introduction to Microsoft Flow and Azure Functions
BIWUG
 
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
Janusz Nowak
 
Azure DevOps for the Data Professional
Azure DevOps for the Data ProfessionalAzure DevOps for the Data Professional
Azure DevOps for the Data Professional
Sarah Dutkiewicz
 
WPF Unleashed: Building Application with Visual Studio 2008 SP1
WPF Unleashed: Building Application with Visual Studio 2008 SP1WPF Unleashed: Building Application with Visual Studio 2008 SP1
WPF Unleashed: Building Application with Visual Studio 2008 SP1Dave Bost
 
Vincent biret azure functions and flow (ottawa)
Vincent biret azure functions and flow (ottawa)Vincent biret azure functions and flow (ottawa)
Vincent biret azure functions and flow (ottawa)
Vincent Biret
 
Vincent biret azure functions and flow (toronto)
Vincent biret azure functions and flow (toronto)Vincent biret azure functions and flow (toronto)
Vincent biret azure functions and flow (toronto)
Vincent Biret
 
Real Life Azure Functions Architecture
Real Life Azure Functions ArchitectureReal Life Azure Functions Architecture
Real Life Azure Functions Architecture
NullOps
 
Sky High With Azure
Sky High With AzureSky High With Azure
Sky High With Azure
Clint Edmonson
 
Experiences using CouchDB inside Microsoft's Azure team
Experiences using CouchDB inside Microsoft's Azure teamExperiences using CouchDB inside Microsoft's Azure team
Experiences using CouchDB inside Microsoft's Azure team
Brian Benz
 
Windows azure overview for SharePoint Pros
Windows azure overview for SharePoint Pros Windows azure overview for SharePoint Pros
Windows azure overview for SharePoint Pros
Usama Wahab Khan Cloud, Data and AI
 
SPS calgary 2017 introduction to azure functions microsoft flow
SPS calgary 2017 introduction to azure functions microsoft flowSPS calgary 2017 introduction to azure functions microsoft flow
SPS calgary 2017 introduction to azure functions microsoft flow
Vincent Biret
 
Azure DevOps for JavaScript Developers
Azure DevOps for JavaScript DevelopersAzure DevOps for JavaScript Developers
Azure DevOps for JavaScript Developers
Sarah Dutkiewicz
 
Azure DevOps Best Practices Webinar
Azure DevOps Best Practices WebinarAzure DevOps Best Practices Webinar
Azure DevOps Best Practices Webinar
Cambay Digital
 
Vsts intro
Vsts introVsts intro
Vsts intro
Sevajothi Crafts
 
DevOps and Decoys How to Build a Successful Microsoft DevOps Including the Data
DevOps and Decoys  How to Build a Successful Microsoft DevOps Including the DataDevOps and Decoys  How to Build a Successful Microsoft DevOps Including the Data
DevOps and Decoys How to Build a Successful Microsoft DevOps Including the Data
Kellyn Pot'Vin-Gorman
 

Similar to Azure Data Studio Extension Development (20)

Azure DevOps for Developers
Azure DevOps for DevelopersAzure DevOps for Developers
Azure DevOps for Developers
 
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...
 
Building Applications for SQL Server 2008
Building Applications for SQL Server 2008Building Applications for SQL Server 2008
Building Applications for SQL Server 2008
 
#SPSBrussels 2017 vincent biret #azure #functions microsoft #flow
#SPSBrussels 2017 vincent biret #azure #functions microsoft #flow#SPSBrussels 2017 vincent biret #azure #functions microsoft #flow
#SPSBrussels 2017 vincent biret #azure #functions microsoft #flow
 
Introduction to Microsoft Flow and Azure Functions
Introduction to Microsoft Flow and Azure FunctionsIntroduction to Microsoft Flow and Azure Functions
Introduction to Microsoft Flow and Azure Functions
 
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
 
Azure DevOps for the Data Professional
Azure DevOps for the Data ProfessionalAzure DevOps for the Data Professional
Azure DevOps for the Data Professional
 
WPF Unleashed: Building Application with Visual Studio 2008 SP1
WPF Unleashed: Building Application with Visual Studio 2008 SP1WPF Unleashed: Building Application with Visual Studio 2008 SP1
WPF Unleashed: Building Application with Visual Studio 2008 SP1
 
Vincent biret azure functions and flow (ottawa)
Vincent biret azure functions and flow (ottawa)Vincent biret azure functions and flow (ottawa)
Vincent biret azure functions and flow (ottawa)
 
Vincent biret azure functions and flow (toronto)
Vincent biret azure functions and flow (toronto)Vincent biret azure functions and flow (toronto)
Vincent biret azure functions and flow (toronto)
 
Vs2005p
Vs2005pVs2005p
Vs2005p
 
Real Life Azure Functions Architecture
Real Life Azure Functions ArchitectureReal Life Azure Functions Architecture
Real Life Azure Functions Architecture
 
Sky High With Azure
Sky High With AzureSky High With Azure
Sky High With Azure
 
Experiences using CouchDB inside Microsoft's Azure team
Experiences using CouchDB inside Microsoft's Azure teamExperiences using CouchDB inside Microsoft's Azure team
Experiences using CouchDB inside Microsoft's Azure team
 
Windows azure overview for SharePoint Pros
Windows azure overview for SharePoint Pros Windows azure overview for SharePoint Pros
Windows azure overview for SharePoint Pros
 
SPS calgary 2017 introduction to azure functions microsoft flow
SPS calgary 2017 introduction to azure functions microsoft flowSPS calgary 2017 introduction to azure functions microsoft flow
SPS calgary 2017 introduction to azure functions microsoft flow
 
Azure DevOps for JavaScript Developers
Azure DevOps for JavaScript DevelopersAzure DevOps for JavaScript Developers
Azure DevOps for JavaScript Developers
 
Azure DevOps Best Practices Webinar
Azure DevOps Best Practices WebinarAzure DevOps Best Practices Webinar
Azure DevOps Best Practices Webinar
 
Vsts intro
Vsts introVsts intro
Vsts intro
 
DevOps and Decoys How to Build a Successful Microsoft DevOps Including the Data
DevOps and Decoys  How to Build a Successful Microsoft DevOps Including the DataDevOps and Decoys  How to Build a Successful Microsoft DevOps Including the Data
DevOps and Decoys How to Build a Successful Microsoft DevOps Including the Data
 

Recently uploaded

The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
Abida Shariff
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 

Recently uploaded (20)

The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 

Azure Data Studio Extension Development

  • 1. Azure Data Studio Extension Development Drew Skwiers-Koballa
  • 2. Hi Drew Skwiers-Koballa @sysadmindrew www.github.com/dzsquared Developer in the Microsoft ecosystem for 8 years, including SQL Server Introverted but friendly
  • 3. Agenda • What is Azure Data Studio • Why Develop Extensions • Extension Development Framework (demo) • Publishing an extension • Extension Type examples • Extension Functionality examples
  • 4. Platinum Sponsor: Gold Sponsors: Thank you Sponsors! Visit the Sponsor Booths Lots of Raffle Prizes! Get your parking paid via Sponsor Bingo
  • 5. PASSMN – News/Info Sponsors: • Thanks to all our sponsors of 2018! • We need Sponsors for Nov/Dec 2018 and 2019! • Special thanks to our annual sponsor: Board Member Elections in November/December: • Your chance to help out the MN SQL community!
  • 7. Formerly Known as SQL Operations Studio Multi-platform SQL/data platform tool Based on VS Code Write Queries Basic Server Management
  • 8. What Does It Do What Doesn’t It Do Server and Database Dashboards Query Editing Object Explorer Export Results to csv/xlsx/json Query Plan Data Notebooks SQL Agent SQL Profiler Integrated Terminal Extension API Table Designer Object Properties Pane Results to File/Text Query Stats Client Statistics Always On Always Encrypted Maintenance Plans Data Tuning Advisor Error Log Viewer Blog by Vicky Harp on capabilities as of September 2018: https://cloudblogs.micro soft.com/sqlserver/2018/ 09/25/azure-data- studio-for-sql-server/
  • 9. Is Azure Data Studio Right For You? How to Find Out • Read capability summaries • Watch demo videos • Ask someone on your team to try it out • Test it Friendly Reminders • Both ADS and SSMS are free • The most recent version of ADS (v1.0) and SSMS (v17/v18 preview) work with most versions of SQL Server • Ola Hallengren’s scripts work in both
  • 11. Do you have an enterprise workflow? Do you want to create a shortcut? Do you want to share something with the SQL community? Do you like branching out, but not too far out?
  • 12. What Does It Take? • Just about any computer • Willingness to learn: • A little Git • A basic to intermediate understanding of Typescript • 1 to 20+ hours
  • 13. Let’s Build an Extension https://github.com/dzsquared/AzureDataStudio_ExtensionDevelopment
  • 14. Install Prerequisites • Azure Data Studio • VS Code • SQL Operations Studio Debugger extension for VS Code • Git • NodeJS Checking Installs
  • 15. Install Prerequisites • Typescript • Yeoman Extension Generator • VS Code Extension Manager All 3 can be installed in VS Code terminal through npm (Node Package Manager)
  • 16. Yo • For this sample, leave the Typescript Extension selection • Enter a name, identifier, description, and your publishing name for the extension • Decline stricter checking and linting • Select the initialization of a Git repository yo sqlops
  • 17. Activation Events – package.json onCommand workspaceContains onFileSystem onView * (only when necessary)
  • 18. Contribution Points – package.json Commands ... Configuration Menu Keybindings Themes Snippets Dashboard Container
  • 19. Initial Git Commit • Open the folder for your extension in VS Code • Stage and Commit all changes Optional: • Create a repository on GitHub without initializing • Run command to add Git remote in VS Code
  • 20. Test Extension Open .vscode/launch.json Change “runtimeExecutable”: “sqlops” to “runtimeExecutable”: ”azuredatastudio”
  • 21. Test Extension Select Start Debugging from the Debug menu A special Extension Development instance of ADS opens Test the extension from the command pallette (ctrl+shift+P)
  • 22. Edit The Extension Activation events: when the extension is started Contribution points: additions to the application VS Code APIs + Azure Data Studio APIs
  • 23. Available APIs – VS Code Messages Language Tasks Text Editors Terminal Status Bar Files/Workspace Webview
  • 24. Available APIs – Azure Data Studio Connection management Object Explorer Server Info Object Metadata Query Manipulation SQL Agent Backups XEvents Proposed: Dashboard containers Wizard pages Background operations
  • 25. Using Proposed APIs Add typings folder to src folder Add sqlops.proposed.d.ts file to folder
  • 26. Package to .vsix Update README.md Run vsce package from terminal
  • 28. Publish Project hosted publicly or has an available download page Fork the release/extensions tree of Azure Data Studio
  • 29. Publish Add your extension to extensions/extensionsGallery.json Commit changes and submit a Pull Request
  • 31. Keymap An extension that ties keystrokes to commands
  • 32. Dashboard/Insight Packaged visualizations for database or server dashboards
  • 34. Snippets Packaged code with placeholder tab stops Snippets can be defined per user or by an extension
  • 37. Wizard UI Multi-step window sequence to guide user through decisions
  • 38. Internet Connectivity HTTP request responses dropped to new query editor
  • 39. File Access File access provided through VS Code APIs
  • 41. Recap
  • 42. Developing Extensions for Azure Data Studio Additional capabilities added regularly Opportunity to improve the toolset we have available for the data platform Exciting time to dive in!
  • 44. SQLSaturday #796 – After Party There will be drinks and appetizers as well as free game cards and bowling! Hang out with some new friends you’ve made. Location: 4th Floor of Mall of America Time: 6:30PM – 10PM
  • 45. Join the brightest data professionals focused on the Microsoft Data Platform! November 5th Through November 9th • Pre-Conference Sessions – Monday/Tuesday • Conference – Wednesday through Friday