🦐
【Azure/Bicep】Microsoft FabricをBicepからデプロイする方法
記事の内容
Bicepを使ってMicrosoft Fabricをデプロイする。
デプロイ時に、注意すべき点について記載する。
1. 下記ディレクトリ構成でBicepを作成
ディレクトリ構成
bicep-project/
├── deployments/
│   ├── main.bicep
│   └── rg.bicep
└── modules/
     ├── resourceGroup.bicep
     └── fabric.bicep
rg.bicep
targetScope = 'subscription'
param rgName string = 'tstFabricRG'
param location string = 'japanwest'
var tags = {
  Usage: 'dev'
}
module rgModule '../modules/resourceGroup.bicep' = {
  name: 'resourceGroup'
  params: {
    rgName: rgName
    location: location
    tags: tags
  }
}
resourceGroup.bicep
targetScope = 'subscription'
param rgName string
param location string
param tags object
resource RG 'Microsoft.Resources/resourceGroups@2022-09-01' = {
  name: rgName
  location: location
  tags: tags
}
output rgName string = RG.name
main.bicep
targetScope = 'subscription'
param location string = 'japanwest'
param tags object = {
  Usage: 'dev'
}
// Microsoft Fabric Module
param rgName string = 'tstFabricRG'
param fabricSkuName string = 'F2'
param fabricAdminMembers array = ['fabric-admin@example.com'] //←プリンシパル名を挿入
param skuTier string = 'Fabric'
module fabricModule '../modules/fabric.bicep' = {
  name: 'microsoft-fabric-capacity'
  scope: resourceGroup(rgName)
  params: {
    fabricCapacityName: 'fabric001'
    location: location
    tags: tags
    skuName: fabricSkuName
    adminMembers: fabricAdminMembers
    skuTier: skuTier
  }
}
fabric.bicep
param fabricCapacityName string
param location string
param tags object
param skuName string
param skuTier string
param adminMembers array
// Microsoft Fabric Capacity Resource
resource fabricCapacity 'Microsoft.Fabric/capacities@2022-07-01-preview' = {
  name: fabricCapacityName
  location: location
  tags: tags
  properties: {
    administration: {
      members: adminMembers
    }
  }
  sku: {
    name: skuName
    tier: skuTier
  }
}
2. AZ login後にコマンドで実行
rg.bicepのデプロイ
az deployment sub create `
>>   --location japaneast `
>>   --template-file .\deployments/rg.bicep 
main.bicepのデプロイ
az deployment sub create `
>>   --location japanwest `
>>   --template-file .\deployments\main.bicep
注意点
- FabricをBicepから作成するために、まず該当アカウントでMicrosoft Fabricにログインし、試用版の状態をオンにする
 
↓のように「試用版を取り消す」が表示されていればOK

- ユーザーの種類が「メンバー」であるアカウントからデプロイ(「ゲスト」だとデプロイできません)「ゲスト」である場合はアカウントを作成後、サブスクリプションを紐づける。
 
- 
main.bicepにあるfabricAdminMembersにはユーザーから確認できるプリンシパル名をいれるparam fabricAdminMembers array = ['fabric-admin@example.com']
 
AzurePortalでFabricのデプロイを確認してから、Bicepでデプロイをする方が確認の手間が省けてよいと思いました。
Discussion