In this tutorial, you'll learn how to set up a new Azure Data Share and start sharing your data with customers and partners outside of your Azure organization.
In this tutorial, you'll learn how to:
Create a Data Share.
Add datasets to your Data Share.
Enable a snapshot schedule for your Data Share.
Add recipients to your Data Share.
Prerequisites
Azure Subscription: If you don't have an Azure subscription, create a free account before you begin.
Your recipient's Azure e-mail address (using their e-mail alias won't work).
If the source Azure data store is in a different Azure subscription than the one you'll use to create Data Share resource, register the Microsoft.DataShare resource provider in the subscription where the Azure data store is located.
Share from a storage account
An Azure Storage account: If you don't already have one, you can create an Azure Storage account
Permission to write to the storage account, which is present in Microsoft.Storage/storageAccounts/write. This permission exists in the Storage Account Contributor role.
Permission to add role assignment to the storage account, which is present in Microsoft.Authorization/role assignments/write. This permission exists in the Owner role.
Share from a SQL-based source
Below is the list of prerequisites for sharing data from SQL source.
Prerequisites for sharing from Azure SQL Database or Azure Synapse Analytics (formerly Azure SQL DW)
An Azure SQL Database or Azure Synapse Analytics (formerly Azure SQL DW) with tables and views that you want to share.
Permission to write to the databases on SQL server, which is present in Microsoft.Sql/servers/databases/write. This permission exists in the Contributor role.
Microsoft Entra Admin of the SQL server
SQL Server Firewall access. This can be done through the following steps:
In Azure portal, navigate to SQL server. Select Firewalls and virtual networks from left navigation.
Select Yes for Allow Azure services and resources to access this server.
Select +Add client IP. Client IP address is subject to change. This process might need to be repeated the next time you're sharing SQL data from Azure portal. You can also add an IP range.
Select Save.
Prerequisites for sharing from Azure Synapse Analytics (workspace) SQL pool
An Azure Synapse Analytics (workspace) dedicated SQL pool with tables that you want to share. Sharing of view isn't currently supported. Sharing from serverless SQL pool isn't currently supported.
Permission to write to the SQL pool in Synapse workspace, which is present in Microsoft.Synapse/workspaces/sqlPools/write. This permission exists in the Contributor role.
Permission for the Data Share resource's managed identity to access Synapse workspace SQL pool. This can be done through the following steps:
In Azure portal, navigate to Synapse workspace. Select SQL Active Directory admin from left navigation and set yourself as the Microsoft Entra admin.
Open Synapse Studio, select Manage from the left navigation. Select Access control under Security. Assign yourself SQL admin or Workspace admin role.
In Synapse Studio, select Develop from the left navigation. Execute the following script in SQL pool to add the Data Share resource Managed Identity as a db_datareader.
The <share_acc_name> is the name of your Data Share resource. If you haven't created a Data Share resource as yet, you can come back to this prerequisite later.
Synapse workspace Firewall access. This can be done through the following steps:
In Azure portal, navigate to Synapse workspace. Select Firewalls from left navigation.
Select ON for Allow Azure services and resources to access this workspace.
Select +Add client IP. Client IP address is subject to change. This process might need to be repeated the next time you're sharing SQL data from Azure portal. You can also add an IP range.
Select Save.
Share from Azure Data Explorer
An Azure Data Explorer cluster with databases you want to share.
Permission to write to Azure Data Explorer cluster, which is present in Microsoft.Kusto/clusters/write. This permission exists in the Contributor role.
If you prefer to run CLI reference commands locally, install the Azure CLI. If you're running on Windows or macOS, consider running Azure CLI in a Docker container. For more information, see How to run the Azure CLI in a Docker container.
If you're using a local installation, sign in to the Azure CLI by using the az login command. To finish the authentication process, follow the steps displayed in your terminal. For other sign-in options, see Sign in with the Azure CLI.
When you're prompted, install the Azure CLI extension on first use. For more information about extensions, see Use extensions with the Azure CLI.
Run az version to find the version and dependent libraries that are installed. To upgrade to the latest version, run az upgrade.
Use these commands to create the resource:
Use the az account set command to set your subscription to be the current default subscription:
Azure CLI
az account set --subscription00000000-0000-0000-0000-000000000000
az datashare account list --resource-group testresourcegroup
Create an Azure Data Share resource in an Azure resource group.
Start by preparing your environment for PowerShell. You can either run PowerShell commands locally or using the Bash environment in the Azure Cloud Shell.
Fill out the details for your share. Specify a name, share type, description of share contents, and terms of use (optional).
Select Continue.
To add Datasets to your share, select Add Datasets.
Select the dataset type that you would like to add. You'll see a different list of dataset types depending on the share type (snapshot or in-place) you've selected in the previous step. If sharing from an Azure SQL Database or Azure Synapse Analytics (formerly Azure SQL DW), you'll be prompted for authentication method to list tables. Select Microsoft Entra authentication, and check the checkbox Allow Data Share to run the above 'create user' script on my behalf.
Navigate to the object you would like to share and select 'Add Datasets'.
In the Recipients tab, enter in the email addresses of your Data Consumer by selecting '+ Add Recipient'.
Select Continue.
If you have selected snapshot share type, you can configure snapshot schedule to provide updates of your data to your data consumer.
Select a start time and recurrence interval.
Select Continue.
In the Review + Create tab, review your Package Contents, Settings, Recipients, and Synchronization Settings. Select Create.
If you don't already have data you would like to share, you can follow these steps to create a storage account. If you already have storage, you can skip to step 2.
Run the Set-AzStorageBlobContent command to upload a file. The following example uploads textfile.csv from the D:\testFiles folder on local memory, to the container you created.
Use the New-AzDataShareSynchronizationSetting command to set a synchronization recurrence for your share. This can be daily, hourly, or at a particular time.
Your Azure Data Share has now been created and the recipient of your Data Share is now ready to accept your invitation.
Clean up resources
When the resource is no longer needed, go to the Data Share Overview page and select Delete to remove it.
Next step
In this tutorial, you learned how to create an Azure Data Share and invite recipients. To learn about how a Data Consumer can accept and receive a data share, continue to the accept and receive data tutorial.
Demonstrate understanding of common data engineering tasks to implement and manage data engineering workloads on Microsoft Azure, using a number of Azure services.