SlideShare a Scribd company logo
1 of 45
Download to read offline
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

vmware_cloud_foundation_on_vxrail_technical_customer_presentation.pptx
vmware_cloud_foundation_on_vxrail_technical_customer_presentation.pptxvmware_cloud_foundation_on_vxrail_technical_customer_presentation.pptx
vmware_cloud_foundation_on_vxrail_technical_customer_presentation.pptxVitNguyn252054
 
Lift SSIS package to Azure Data Factory V2
Lift SSIS package to Azure Data Factory V2Lift SSIS package to Azure Data Factory V2
Lift SSIS package to Azure Data Factory V2Manjeet Singh
 
Implement SQL Server on an Azure VM
Implement SQL Server on an Azure VMImplement SQL Server on an Azure VM
Implement SQL Server on an Azure VMJames Serra
 
Azure 仮想マシンにおける運用管理・高可用性設計のベストプラクティス
Azure 仮想マシンにおける運用管理・高可用性設計のベストプラクティスAzure 仮想マシンにおける運用管理・高可用性設計のベストプラクティス
Azure 仮想マシンにおける運用管理・高可用性設計のベストプラクティスYusuke Oi
 
Azure Synapse Analytics 専用SQL Poolベストプラクティス
Azure Synapse Analytics 専用SQL PoolベストプラクティスAzure Synapse Analytics 専用SQL Poolベストプラクティス
Azure Synapse Analytics 専用SQL PoolベストプラクティスMicrosoft
 
Microsoft Data Integration Pipelines: Azure Data Factory and SSIS
Microsoft Data Integration Pipelines: Azure Data Factory and SSISMicrosoft Data Integration Pipelines: Azure Data Factory and SSIS
Microsoft Data Integration Pipelines: Azure Data Factory and SSISMark Kromer
 
Docker Containers Deep Dive
Docker Containers Deep DiveDocker Containers Deep Dive
Docker Containers Deep DiveWill Kinard
 
Introduction to azure cosmos db
Introduction to azure cosmos dbIntroduction to azure cosmos db
Introduction to azure cosmos dbRatan Parai
 
Mongodb basics and architecture
Mongodb basics and architectureMongodb basics and architecture
Mongodb basics and architectureBishal Khanal
 
Oracle Cloud Infrastructure:2021年9月度サービス・アップデート
Oracle Cloud Infrastructure:2021年9月度サービス・アップデートOracle Cloud Infrastructure:2021年9月度サービス・アップデート
Oracle Cloud Infrastructure:2021年9月度サービス・アップデートオラクルエンジニア通信
 
Azure Storage
Azure StorageAzure Storage
Azure StorageMustafa
 
Oracle Cloud Infrastructure:2023年5月度サービス・アップデート
Oracle Cloud Infrastructure:2023年5月度サービス・アップデートOracle Cloud Infrastructure:2023年5月度サービス・アップデート
Oracle Cloud Infrastructure:2023年5月度サービス・アップデートオラクルエンジニア通信
 
とっておきの方法! Oracle Databaseの自動アップグレードのお勧め手法 省力・最新化 概要編 (Oracle Cloudウェビナーシリーズ: ...
とっておきの方法! Oracle Databaseの自動アップグレードのお勧め手法 省力・最新化 概要編 (Oracle Cloudウェビナーシリーズ: ...とっておきの方法! Oracle Databaseの自動アップグレードのお勧め手法 省力・最新化 概要編 (Oracle Cloudウェビナーシリーズ: ...
とっておきの方法! Oracle Databaseの自動アップグレードのお勧め手法 省力・最新化 概要編 (Oracle Cloudウェビナーシリーズ: ...オラクルエンジニア通信
 
Azure Data Factory Data Flows Training v005
Azure Data Factory Data Flows Training v005Azure Data Factory Data Flows Training v005
Azure Data Factory Data Flows Training v005Mark Kromer
 

What's hot (20)

vmware_cloud_foundation_on_vxrail_technical_customer_presentation.pptx
vmware_cloud_foundation_on_vxrail_technical_customer_presentation.pptxvmware_cloud_foundation_on_vxrail_technical_customer_presentation.pptx
vmware_cloud_foundation_on_vxrail_technical_customer_presentation.pptx
 
Azure Data Factory v2
Azure Data Factory v2Azure Data Factory v2
Azure Data Factory v2
 
OCI Data Integration Overview 2021年5月版
OCI Data Integration Overview 2021年5月版OCI Data Integration Overview 2021年5月版
OCI Data Integration Overview 2021年5月版
 
Lift SSIS package to Azure Data Factory V2
Lift SSIS package to Azure Data Factory V2Lift SSIS package to Azure Data Factory V2
Lift SSIS package to Azure Data Factory V2
 
Service Connector Hub ご紹介
Service Connector Hub ご紹介Service Connector Hub ご紹介
Service Connector Hub ご紹介
 
Implement SQL Server on an Azure VM
Implement SQL Server on an Azure VMImplement SQL Server on an Azure VM
Implement SQL Server on an Azure VM
 
Azure 仮想マシンにおける運用管理・高可用性設計のベストプラクティス
Azure 仮想マシンにおける運用管理・高可用性設計のベストプラクティスAzure 仮想マシンにおける運用管理・高可用性設計のベストプラクティス
Azure 仮想マシンにおける運用管理・高可用性設計のベストプラクティス
 
Azure Synapse Analytics 専用SQL Poolベストプラクティス
Azure Synapse Analytics 専用SQL PoolベストプラクティスAzure Synapse Analytics 専用SQL Poolベストプラクティス
Azure Synapse Analytics 専用SQL Poolベストプラクティス
 
Microsoft Data Integration Pipelines: Azure Data Factory and SSIS
Microsoft Data Integration Pipelines: Azure Data Factory and SSISMicrosoft Data Integration Pipelines: Azure Data Factory and SSIS
Microsoft Data Integration Pipelines: Azure Data Factory and SSIS
 
Intro to HBase
Intro to HBaseIntro to HBase
Intro to HBase
 
Docker Containers Deep Dive
Docker Containers Deep DiveDocker Containers Deep Dive
Docker Containers Deep Dive
 
Introduction to azure cosmos db
Introduction to azure cosmos dbIntroduction to azure cosmos db
Introduction to azure cosmos db
 
Virtualization
VirtualizationVirtualization
Virtualization
 
Mongodb basics and architecture
Mongodb basics and architectureMongodb basics and architecture
Mongodb basics and architecture
 
Oracle Cloud Infrastructure:2021年9月度サービス・アップデート
Oracle Cloud Infrastructure:2021年9月度サービス・アップデートOracle Cloud Infrastructure:2021年9月度サービス・アップデート
Oracle Cloud Infrastructure:2021年9月度サービス・アップデート
 
Azure Storage
Azure StorageAzure Storage
Azure Storage
 
Oracle Cloud Infrastructure:2023年5月度サービス・アップデート
Oracle Cloud Infrastructure:2023年5月度サービス・アップデートOracle Cloud Infrastructure:2023年5月度サービス・アップデート
Oracle Cloud Infrastructure:2023年5月度サービス・アップデート
 
とっておきの方法! Oracle Databaseの自動アップグレードのお勧め手法 省力・最新化 概要編 (Oracle Cloudウェビナーシリーズ: ...
とっておきの方法! Oracle Databaseの自動アップグレードのお勧め手法 省力・最新化 概要編 (Oracle Cloudウェビナーシリーズ: ...とっておきの方法! Oracle Databaseの自動アップグレードのお勧め手法 省力・最新化 概要編 (Oracle Cloudウェビナーシリーズ: ...
とっておきの方法! Oracle Databaseの自動アップグレードのお勧め手法 省力・最新化 概要編 (Oracle Cloudウェビナーシリーズ: ...
 
What is Virtualization
What is VirtualizationWhat is Virtualization
What is Virtualization
 
Azure Data Factory Data Flows Training v005
Azure Data Factory Data Flows Training v005Azure Data Factory Data Flows Training v005
Azure Data Factory Data Flows Training v005
 

Similar to Azure Data Studio Extension Development

Azure DevOps for Developers
Azure DevOps for DevelopersAzure DevOps for Developers
Azure DevOps for DevelopersSarah 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 2008Dave 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 #flowVincent 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 FunctionsBIWUG
 
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 ProfessionalSarah 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 ArchitectureNullOps
 
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 teamBrian Benz
 
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 flowVincent Biret
 
Azure DevOps for JavaScript Developers
Azure DevOps for JavaScript DevelopersAzure DevOps for JavaScript Developers
Azure DevOps for JavaScript DevelopersSarah Dutkiewicz
 
Azure DevOps Best Practices Webinar
Azure DevOps Best Practices WebinarAzure DevOps Best Practices Webinar
Azure DevOps Best Practices WebinarCambay Digital
 
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 DataKellyn 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

Design Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptxDesign Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptxFIDO Alliance
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxHarnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxFIDO Alliance
 
2024 May Patch Tuesday
2024 May Patch Tuesday2024 May Patch Tuesday
2024 May Patch TuesdayIvanti
 
WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024Lorenzo Miniero
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Introduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptxIntroduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptxFIDO Alliance
 
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...WSO2
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
Decarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational PerformanceDecarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational PerformanceIES VE
 
The Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightThe Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightSafe Software
 
Quantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation ComputingQuantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation ComputingWSO2
 
API Governance and Monetization - The evolution of API governance
API Governance and Monetization -  The evolution of API governanceAPI Governance and Monetization -  The evolution of API governance
API Governance and Monetization - The evolution of API governanceWSO2
 
Modernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using BallerinaModernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using BallerinaWSO2
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Less Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data PlatformLess Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data PlatformWSO2
 
The Ultimate Prompt Engineering Guide for Generative AI: Get the Most Out of ...
The Ultimate Prompt Engineering Guide for Generative AI: Get the Most Out of ...The Ultimate Prompt Engineering Guide for Generative AI: Get the Most Out of ...
The Ultimate Prompt Engineering Guide for Generative AI: Get the Most Out of ...SOFTTECHHUB
 

Recently uploaded (20)

Design Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptxDesign Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptx
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxHarnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
 
2024 May Patch Tuesday
2024 May Patch Tuesday2024 May Patch Tuesday
2024 May Patch Tuesday
 
WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Introduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptxIntroduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptx
 
Overview of Hyperledger Foundation
Overview of Hyperledger FoundationOverview of Hyperledger Foundation
Overview of Hyperledger Foundation
 
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Decarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational PerformanceDecarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational Performance
 
The Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightThe Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and Insight
 
Quantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation ComputingQuantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation Computing
 
API Governance and Monetization - The evolution of API governance
API Governance and Monetization -  The evolution of API governanceAPI Governance and Monetization -  The evolution of API governance
API Governance and Monetization - The evolution of API governance
 
Modernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using BallerinaModernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using Ballerina
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Less Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data PlatformLess Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data Platform
 
The Ultimate Prompt Engineering Guide for Generative AI: Get the Most Out of ...
The Ultimate Prompt Engineering Guide for Generative AI: Get the Most Out of ...The Ultimate Prompt Engineering Guide for Generative AI: Get the Most Out of ...
The Ultimate Prompt Engineering Guide for Generative AI: Get the Most Out of ...
 

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