你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
快速入门:使用 Azure Data Share 和 Bicep 共享数据
了解如何从 Azure 存储帐户使用 Bicep 设置新的 Azure Data Share,然后开始与 Azure 组织外部的客户和合作伙伴共享数据。 有关支持的数据存储的列表,请参阅 Azure Data Share 中支持的数据存储。
Bicep 是一种特定于域的语言 (DSL),使用声明性语法来部署 Azure 资源。 它提供简明的语法、可靠的类型安全性以及对代码重用的支持。 Bicep 会针对你的 Azure 基础结构即代码解决方案提供最佳创作体验。
先决条件
如果没有 Azure 订阅,请在开始之前创建一个免费帐户。
查阅 Bicep 文件
本快速入门中使用的 Bicep 文件来自 Azure 快速入门模板。
@description('Specify a project name that is used to generate resource names.')
param projectName string
@description('Specify the location for the resources.')
param location string = resourceGroup().location
@description('Specify an email address for receiving data share invitations.')
param invitationEmail string
@description('Specify snapshot schedule recurrence.')
@allowed([
'Day'
'Hour'
])
param syncInterval string = 'Day'
@description('Specify snapshot schedule start time.')
param syncTime string = utcNow('yyyy-MM-ddTHH:mm:ssZ')
var storageAccountName = '${projectName}store'
var containerName = '${projectName}container'
var dataShareAccountName = '${projectName}shareaccount'
var dataShareName = '${projectName}share'
var roleAssignmentName = guid(sa.id, storageBlobDataReaderRoleDefinitionId, dataShareAccount.id)
var inviteName = '${dataShareName}invite'
var storageBlobDataReaderRoleDefinitionId = resourceId('Microsoft.Authorization/roleDefinitions', '2a2b9908-6ea1-4ae2-8e65-a410df84e7d1')
resource sa 'Microsoft.Storage/storageAccounts@2021-04-01' = {
name: storageAccountName
location: location
sku: {
name: 'Standard_LRS'
}
kind: 'StorageV2'
properties: {
accessTier: 'Hot'
}
}
resource container 'Microsoft.Storage/storageAccounts/blobServices/containers@2021-04-01' = {
name: '${sa.name}/default/${containerName}'
}
resource dataShareAccount 'Microsoft.DataShare/accounts@2021-08-01' = {
name: dataShareAccountName
location: location
identity: {
type: 'SystemAssigned'
}
properties: {}
}
resource dataShare 'Microsoft.DataShare/accounts/shares@2021-08-01' = {
parent: dataShareAccount
name: dataShareName
properties: {
shareKind: 'CopyBased'
}
}
resource roleAssignment 'Microsoft.Authorization/roleAssignments@2020-04-01-preview' = {
scope: sa
name: roleAssignmentName
properties: {
roleDefinitionId: storageBlobDataReaderRoleDefinitionId
principalId: dataShareAccount.identity.principalId
principalType: 'ServicePrincipal'
}
}
resource dataSet 'Microsoft.DataShare/accounts/shares/dataSets@2021-08-01' = {
parent: dataShare
name: containerName
kind: 'Container'
dependsOn: [ // this is used to delay this resource until the roleAssignment replicates
container
invitation
synchronizationSetting
]
properties: {
subscriptionId: subscription().subscriptionId
resourceGroup: resourceGroup().name
storageAccountName: sa.name
containerName: containerName
}
}
resource invitation 'Microsoft.DataShare/accounts/shares/invitations@2021-08-01' = {
parent: dataShare
name: inviteName
properties: {
targetEmail: invitationEmail
}
}
resource synchronizationSetting 'Microsoft.DataShare/accounts/shares/synchronizationSettings@2021-08-01' = {
parent: dataShare
name: '${dataShareName}_synchronizationSetting'
kind: 'ScheduleBased'
properties: {
recurrenceInterval: syncInterval
synchronizationTime: syncTime
}
}
Bicep 文件中定义了以下资源:
- Microsoft.Storage/storageAccounts:
- Microsoft.Storage/storageAccounts/blobServices/containers
- Microsoft.DataShare/accounts
- Microsoft.DataShare/accounts/shares
- Microsoft.Storage/storageAccounts/providers/roleAssignments
- Microsoft.DataShare/accounts/shares/dataSets
- Microsoft.DataShare/accounts/shares/invitations
- Microsoft.DataShare/accounts/shares/synchronizationSettings
部署 Bicep 文件
将该 Bicep 文件另存为本地计算机上的 main.bicep。
使用 Azure CLI 或 Azure PowerShell 来部署该 Bicep 文件。
az group create --name exampleRG --location eastus az deployment group create --resource-group exampleRG --template-file main.bicep --parameters projectName=<project-name> invitationEmail=<invitation-email>
注意
将 <project-name> 替换为项目名称。 此项目名称将用于生成资源名称。 将 <invitation-email> 替换为用于接收数据共享邀请的电子邮件地址。
部署完成后,应会看到一条指出部署成功的消息。
查看已部署的资源
使用 Azure 门户、Azure CLI 或 Azure PowerShell 列出资源组中已部署的资源。
az resource list --resource-group exampleRG
清理资源
如果不再需要资源组及其资源,请使用 Azure 门户、Azure CLI 或 Azure PowerShell 将其删除。
az group delete --name exampleRG
后续步骤
本快速入门介绍了如何创建 Azure Data Share 并邀请收件人。 若要了解有关数据使用者如何接受和接收数据共享,请继续学习接受和接收数据教程。