ARM şablonunu kullanarak Azure Health Data Services içinde FHIR hizmeti dağıtma
Bu makalede, Azure Resource Manager şablonunu (ARM şablonu) kullanarak Azure Health Data Services (burada FHIR hizmeti olarak adlandırılır) içinde FHIR hizmetini dağıtmayı öğreneceksiniz. Size PowerShell veya CLI kullanarak iki seçenek sunuyoruz.
ARM şablonu, projenizin altyapısını ve yapılandırmasını tanımlayan bir JSON dosyasıdır. Bu şablonda, bildirim temelli sözdizimi kullanılır. Bildirim temelli sözdiziminde, dağıtım oluşturmak için programlama komutlarının dizisini yazmadan amaçladığınız dağıtımı ifade edersiniz.
Önkoşullar
- Etkin aboneliği olan bir Azure hesabı. Ücretsiz bir tane oluşturun.
- Kodu yerel olarak çalıştırmak istiyorsanız:
ARM şablonunu gözden geçirme
Bu makalede kullanılan şablon Azure Hızlı Başlangıç Şablonları'ndan alınmıştı.
Şablon üç Azure kaynağı tanımlar:
- Microsoft.HealthcareApis/workspaces
- Microsoft.HealthcareApis/workspaces/fhirservices
- Microsoft.Storage/storageAccounts
Dekont
Yerel RBAC kullanım dışı bırakıldı. ARM şablonunda Yerel RBAC ile ilişkili Erişim İlkeleri yapılandırması kullanım dışıdır. Yerel RBAC kullanan mevcut müşterilerin Kasım 2024'e kadar Azure RBAC'ye geçişleri gerekir. Sorularınız için lütfen bizimle iletişime geçin.
"Microsoft.HealthcareApis/workspaces/fhirservices" kaynağındaki çalışma alanı kaynağını, depolama kaynağını ve dependsOn
özelliği kaldırarak FHIR hizmet kaynağını dağıtabilirsiniz.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"authorityurl": {
"type": "string",
"defaultValue": "https://login.microsoftonline.com"
},
"tagName": {
"type": "string",
"defaultValue": "My Deployment"
},
"region": {
"type": "string",
"allowedValues": [
"australiaeast",
"canadacentral",
"eastus",
"eastus2",
"germanywestcentral",
"japaneast",
"northcentralus",
"northeurope",
"southafricanorth",
"southcentralus",
"southeastasia",
"switzerlandnorth",
"uksouth",
"ukwest",
"westcentralus",
"westeurope",
"westus2"
]
},
"workspaceName": {
"type": "string"
},
"fhirServiceName": {
"type": "string"
},
"tenantid": {
"type": "string"
},
"storageAccountName": {
"type": "string"
},
"storageAccountConfirm": {
"type": "bool",
"defaultValue": true
},
"AccessPolicies": {
"type": "array",
"defaultValue": []
},
"smartProxyEnabled": {
"type": "bool",
"defaultValue": false
}
},
"variables": {
"authority": "[Concat(parameters('authorityurl'), '/', parameters('tenantid'))]",
"createManagedIdentity": true,
"managedIdentityType": {
"type": "SystemAssigned"
},
"storageBlobDataContributerRoleId": "[concat('/subscriptions/', subscription().subscriptionId, '/providers/Microsoft.Authorization/roleDefinitions/', 'ba92f5b4-2d11-453d-a403-e96b0029c9fe')]"
},
"resources": [
{
"type": "Microsoft.HealthcareApis/workspaces",
"name": "[parameters('workspaceName')]",
"apiVersion": "2023-11-01",
"location": "[parameters('region')]",
"properties": {}
},
{
"type": "Microsoft.HealthcareApis/workspaces/fhirservices",
"kind": "fhir-R4",
"name": "[concat(parameters('workspaceName'), '/', parameters('fhirServiceName'))]",
"apiVersion": "2023-11-01",
"location": "[parameters('region')]",
"dependsOn": [
"[resourceId('Microsoft.HealthcareApis/workspaces', parameters('workspaceName'))]"
],
"tags": {
"environmentName": "[parameters('tagName')]"
},
"properties": {
"accessPolicies": "[parameters('AccessPolicies')]",
"authenticationConfiguration": {
"authority": "[variables('Authority')]",
"audience": "[concat('https//', parameters('workspaceName'), '-', parameters('fhirServiceName'), '.fhir.azurehealthcareapis.com')]",
"smartProxyEnabled": "[parameters('smartProxyEnabled')]"
},
"corsConfiguration": {
"allowCredentials": false,
"headers": ["*"],
"maxAge": 1440,
"methods": ["DELETE", "GET", "OPTIONS", "PATCH", "POST", "PUT"],
"origins": ["https://localhost:6001"]
},
"exportConfiguration": {
"storageAccountName": "[parameters('storageAccountName')]"
}
},
"identity": "[if(variables('createManagedIdentity'), variables('managedIdentityType'), json('null'))]"
},
{
"name": "[parameters('storageAccountName')]",
"type": "Microsoft.Storage/storageAccounts",
"apiVersion": "2019-06-01",
"location": "[resourceGroup().location]",
"properties": {
"supportsHttpsTrafficOnly": "true"
},
"condition": "[parameters('storageAccountConfirm')]",
"dependsOn": [
"[parameters('fhirServiceName')]"
],
"sku": {
"name": "Standard_LRS"
},
"kind": "Storage",
"tags": {
"environmentName": "[parameters('tagName')]",
"test-account-rg": "true"
}
}
],
"outputs": {
}
}
ARM şablonunu dağıtma
ARM şablonunu iki seçenek kullanarak dağıtabilirsiniz: PowerShell veya CLI.
Aşağıda sağlanan örnek kod, "src" alt klasörünün "templates" alt klasöründeki şablonu kullanır. Şablon dosyasına düzgün başvurmak için konum yolunu değiştirmek isteyebilirsiniz.
Dağıtım işleminin tamamlanması birkaç dakika sürer. Daha sonra kullanacağınız FHIR hizmetinin ve kaynak grubunun adlarını not alın.
Şablonu dağıtma: PowerShell kullanarak
FHIR hizmetini dağıtmak için kodu Yerel olarak PowerShell'de, Visual Studio Code'da veya Azure Cloud Shell'de çalıştırın.
Azure'da oturum açmadıysanız oturum açmak için "Bağlan-AzAccount" kullanın. Oturum açtıktan sonra kullanmak istediğiniz aboneliği ve kiracıyı doğrulamak için "Get-AzContext" kullanın. Gerekirse aboneliği ve kiracıyı değiştirebilirsiniz.
Yeni bir kaynak grubu oluşturabilir veya adımı atlayarak veya "New-AzResourceGroup" ile başlayan satırı açıklama satırı yaparak mevcut bir kaynak grubunu kullanabilirsiniz.
### variables
$resourcegroupname="your resource group"
$location="South Central US"
$workspacename="your workspace name"
$fhirservicename="your fhir service name"
$tenantid="xxx"
$subscriptionid="xxx"
$storageaccountname="storage account name"
$storageaccountconfirm=1
### login to azure
Connect-AzAccount
#Connect-AzAccount SubscriptionId $subscriptionid
Set-AzContext -Subscription $subscriptionid
Connect-AzAccount -Tenant $tenantid -SubscriptionId $subscriptionid
#Get-AzContext
### create resource group
New-AzResourceGroup -Name $resourcegroupname -Location $location
### deploy the resource
New-AzResourceGroupDeployment -ResourceGroupName $resourcegroupname -TemplateFile "src/templates/fhirtemplate.json" -region $location -workspaceName $workspacename -fhirServiceName $fhirservicename -tenantid $tenantid -storageAccountName $storageaccountname -storageAccountConfirm $storageaccountconfirm
Dağıtılan kaynakları gözden geçirme
Tarayıcıyı açıp adresine giderek https://<yourfhir servic>.azurehealthcareapis.com/metadata
FHIR hizmetinin çalışır durumda olduğunu doğrulayabilirsiniz. Yetenek deyimi otomatik olarak görüntülenir veya indirilirse dağıtımınız başarılı olur.
Kaynakları temizleme
Kaynağa artık gerek kalmadığında, kaynak grubunu silmek için aşağıdaki kodu çalıştırın.
$resourceGroupName = “your resource group name”
Remove-AzResourceGroup -Name $resourceGroupName
Sonraki adımlar
Bu hızlı başlangıç kılavuzunda, ARM şablonu kullanarak Azure Health Veri Hizmetleri'nde FHIR hizmetini dağıttınız. FHIR hizmeti tarafından desteklenen özellikler hakkında daha fazla bilgi için bkz.
FHIR®, HL7'nin tescilli ticari markasıdır ve HL7'nin izniyle kullanılır.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin