This commit is contained in:
danielscholl 2022-06-28 21:31:15 +00:00 коммит произвёл github-actions[bot]
Родитель d4a8c0f64c
Коммит 0333951dd8
1 изменённых файлов: 145 добавлений и 0 удалений

145
azuredeploy.json Normal file
Просмотреть файл

@ -0,0 +1,145 @@
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.7.4.23292",
"templateHash": "9569683352368477578"
}
},
"parameters": {
"utcValue": {
"type": "string",
"defaultValue": "[utcNow()]",
"metadata": {
"description": "UTC timestamp used to create distinct deployment scripts for each deployment"
}
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]",
"metadata": {
"description": "Location of Storage Account"
}
}
},
"variables": {
"shareName": "open-test-data",
"storageAccountName": "[uniqueString(resourceGroup().id, deployment().name)]",
"roleAssignmentName": "[guid(format('{0}contributor', resourceGroup().name))]",
"acrName": "[uniqueString(resourceGroup().id, deployment().name)]",
"managedIdentityName": "[uniqueString(resourceGroup().id, deployment().name)]",
"contributorRoleDefinitionId": "[format('/subscriptions/{0}/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c', subscription().subscriptionId)]"
},
"resources": [
{
"type": "Microsoft.Storage/storageAccounts/fileServices/shares",
"apiVersion": "2021-04-01",
"name": "[format('{0}/{1}/{2}', variables('storageAccountName'), 'default', variables('shareName'))]",
"dependsOn": [
"[resourceId('Microsoft.Storage/storageAccounts/fileServices', variables('storageAccountName'), 'default')]"
]
},
{
"type": "Microsoft.Storage/storageAccounts/fileServices",
"apiVersion": "2021-04-01",
"name": "[format('{0}/{1}', variables('storageAccountName'), 'default')]",
"dependsOn": [
"[resourceId('Microsoft.Storage/storageAccounts', variables('storageAccountName'))]"
]
},
{
"type": "Microsoft.Storage/storageAccounts",
"apiVersion": "2021-04-01",
"name": "[variables('storageAccountName')]",
"location": "[parameters('location')]",
"sku": {
"name": "Standard_LRS"
},
"kind": "StorageV2"
},
{
"type": "Microsoft.ManagedIdentity/userAssignedIdentities",
"apiVersion": "2021-09-30-preview",
"name": "[variables('managedIdentityName')]",
"location": "[parameters('location')]"
},
{
"type": "Microsoft.ContainerRegistry/registries",
"apiVersion": "2021-06-01-preview",
"name": "[variables('acrName')]",
"location": "[parameters('location')]",
"sku": {
"name": "Standard"
},
"identity": {
"type": "UserAssigned",
"userAssignedIdentities": {
"[format('{0}', resourceId('Microsoft.ManagedIdentity/userAssignedIdentities', variables('managedIdentityName')))]": {}
}
},
"properties": {
"anonymousPullEnabled": true
},
"dependsOn": [
"[resourceId('Microsoft.ManagedIdentity/userAssignedIdentities', variables('managedIdentityName'))]"
]
},
{
"type": "Microsoft.Authorization/roleAssignments",
"apiVersion": "2020-10-01-preview",
"name": "[variables('roleAssignmentName')]",
"properties": {
"description": "Managed identity access for the RG",
"principalId": "[reference(resourceId('Microsoft.ManagedIdentity/userAssignedIdentities', variables('managedIdentityName'))).principalId]",
"roleDefinitionId": "[variables('contributorRoleDefinitionId')]",
"principalType": "ServicePrincipal"
},
"dependsOn": [
"[resourceId('Microsoft.ManagedIdentity/userAssignedIdentities', variables('managedIdentityName'))]"
]
},
{
"type": "Microsoft.Resources/deploymentScripts",
"apiVersion": "2020-10-01",
"name": "[format('load-share-{0}', parameters('utcValue'))]",
"location": "[parameters('location')]",
"kind": "AzureCLI",
"properties": {
"azCliVersion": "2.37.0",
"timeout": "PT2H",
"retentionInterval": "PT1H",
"cleanupPreference": "OnSuccess",
"environmentVariables": [
{
"name": "AZURE_STORAGE_ACCOUNT",
"value": "[variables('storageAccountName')]"
},
{
"name": "AZURE_STORAGE_KEY",
"secureValue": "[listKeys(resourceId('Microsoft.Storage/storageAccounts', variables('storageAccountName')), '2021-04-01').keys[0].value]"
},
{
"name": "AZURE_STORAGE_SHARE",
"value": "open-test-data"
}
],
"scriptContent": " #!/bin/bash\n set -e\n FILE_NAME=open-test-data.gz\n SCRIPT_DIR=$( cd -- \"$( dirname -- \"${BASH_SOURCE[0]}\" )\" &> /dev/null && pwd )\n DATA_DIR=\"/tmp/${AZURE_STORAGE_SHARE}\"\n\n echo -e \"Retrieving data from OSDU...\" 2>&1 | tee -a script_log\n wget -O $FILE_NAME https://community.opengroup.org/osdu/platform/data-flow/data-loading/open-test-data/-/archive/Azure/M8/open-test-data-Azure-M8.tar.gz 2>&1 | tee -a script_log\n\n # Extract datasets\n mkdir -p $DATA_DIR/datasets/documents\n mkdir -p $DATA_DIR/datasets/markers\n mkdir -p $DATA_DIR/datasets/trajectories\n mkdir -p $DATA_DIR/datasets/well-logs\n\n #tar -xzvf $FILE_NAME -C $DATA_DIR/datasets/documents --strip-components=5 open-test-data-Azure-M8/rc--1.0.0/1-data/3-provided/USGS_docs 2>&1 | tee -a script_log\n #tar -xzvf $FILE_NAME -C $DATA_DIR/datasets/markers --strip-components=5 open-test-data-Azure-M8/rc--1.0.0/1-data/3-provided/markers 2>&1 | tee -a script_log\n #tar -xzvf $FILE_NAME -C $DATA_DIR/datasets/trajectories --strip-components=5 open-test-data-Azure-M8/rc--1.0.0/1-data/3-provided/trajectories 2>&1 | tee -a script_log\n #tar -xzvf $FILE_NAME -C $DATA_DIR/datasets/well-logs --strip-components=5 open-test-data-Azure-M8/rc--1.0.0/1-data/3-provided/well-logs 2>&1 | tee -a script_log\n\n\n # Extract schemas\n mkdir -p $DATA_DIR/schema\n tar -xzvf $FILE_NAME -C $DATA_DIR/schema --strip-components=3 open-test-data-Azure-M8/rc--3.0.0/3-schema | tee -a script_log\n\n\n # Extract Manifests\n mkdir -p $DATA_DIR/templates\n mkdir -p $DATA_DIR/TNO/contrib\n mkdir -p $DATA_DIR/TNO/provided\n tar -xzvf $FILE_NAME -C $DATA_DIR/templates --strip-components=3 open-test-data-Azure-M8/rc--3.0.0/5-templates | tee -a script_log\n tar -xzvf $FILE_NAME -C $DATA_DIR/TNO/contrib --strip-components=5 open-test-data-Azure-M8/rc--3.0.0/1-data/3-provided/TNO | tee -a script_log\n tar -xzvf $FILE_NAME -C $DATA_DIR/TNO/provided --strip-components=3 open-test-data-Azure-M8/rc--3.0.0/4-instances/TNO | tee -a script_log\n\n\n # Upload to Azure Storage\n az storage file upload-batch \\\n --account-name $AZURE_STORAGE_ACCOUNT \\\n --account-key $AZURE_STORAGE_KEY \\\n --destination $AZURE_STORAGE_SHARE \\\n --source $DATA_DIR 2>&1 | tee -a script_log\n "
},
"dependsOn": [
"[resourceId('Microsoft.Storage/storageAccounts', variables('storageAccountName'))]"
]
}
],
"outputs": {
"scriptLogs": {
"type": "string",
"value": "[reference(format('{0}/logs/default', resourceId('Microsoft.Resources/deploymentScripts', format('load-share-{0}', parameters('utcValue')))), '2020-10-01', 'Full').properties.log]"
},
"storageAccountName": {
"type": "string",
"value": "[variables('storageAccountName')]"
}
}
}