Fixed multiple small deployment issues

On branch development/0.1
 Changes to be committed:
	modified:   README.md
	modified:   solution/DataFactory/IRConfig.json
	modified:   solution/DataFactory/Templates/pipeline/Master_{IR}.json
	modified:   solution/Database/ADSGoFastDbUp/AdsGoFastDbUp/0-1-0-beta/A-Journaled/008-SampleTasks_SourceAndTargetSystems.sql
	new file:   solution/Database/ADSGoFastDbUp/AdsGoFastDbUp/0-1-0-beta/A-Journaled/011-SampleTasks_SourceAndTargetSystems_Updated.sql
	modified:   solution/Database/ADSGoFastDbUp/AdsGoFastDbUp/AdsGoFastDbUp.csproj
	modified:   solution/Deployment/environments/development.json
	modified:   solution/Deployment/environments/environment.schema.json
	modified:   solution/Deployment/workflows/CD_0a_CreateServicePrincipals_AAD_Elevated.ps1
	modified:   solution/Deployment/workflows/CD_2b_ConfigureServices.ps1
	modified:   solution/Deployment/workflows/Cleanup_RemoveAll.ps1
	new file:   solution/Deployment/workflows/FileForUpload.json
	modified:   solution/Deployment/workflows/Steps/CD_ConfigureADF.ps1
	modified:   solution/Deployment/workflows/Steps/CD_ConfigureAzureSQLServer.ps1
	modified:   solution/Deployment/workflows/Steps/CD_ConfigureKeyVault.ps1
	modified:   solution/Deployment/workflows/Steps/CD_ConfigureSampleData.ps1
	modified:   solution/Deployment/workflows/Steps/CD_ConfigureVnet.ps1
	modified:   solution/Deployment/workflows/Steps/CD_ConfigureWebApp.ps1
	modified:   solution/Deployment/workflows/Steps/CD_DeployADF.ps1
	modified:   solution/Deployment/workflows/Steps/CD_DeployADFOnPremSHIR.ps1
	modified:   solution/Deployment/workflows/Steps/CD_DeployAppInsights.ps1
	modified:   solution/Deployment/workflows/Steps/CD_DeployAppService.ps1
	modified:   solution/Deployment/workflows/Steps/CD_DeployAzureSqlServer.ps1
	modified:   solution/Deployment/workflows/Steps/CD_DeployFunctionApp.ps1
	modified:   solution/Deployment/workflows/Steps/CD_DeployKeyVault.ps1
	modified:   solution/Deployment/workflows/Steps/CD_DeployLogAnalytics.ps1
	modified:   solution/Deployment/workflows/Steps/CD_DeployStorageADLS.ps1
	modified:   solution/Deployment/workflows/Steps/CD_DeployStorageBlob.ps1
	modified:   solution/Deployment/workflows/Steps/CD_DeployStorageForLogging.ps1
	modified:   solution/Deployment/workflows/Steps/CD_DeployVnet.ps1
	modified:   solution/Deployment/workflows/Steps/CD_DeployWebSite.ps1
	modified:   solution/Deployment/workflows/Steps/CD_GrantRBAC.ps1
	modified:   solution/Deployment/workflows/Steps/CD_GrantWebAppAccess.ps1
	modified:   solution/Deployment/workflows/Steps/InstallGatewayFunctions.ps1
	modified:   solution/TaskTypeJson/AZ_SQL_AZ_Storage_Parquet_IRA.json
	modified:   solution/WebApplication/WebApplication.Tests/WebApplication.Tests.csproj
This commit is contained in:
John Rampono 2021-11-22 20:01:53 +08:00
Родитель 048fac824b
Коммит ed9dfb186e
36 изменённых файлов: 380 добавлений и 191 удалений

Просмотреть файл

@ -73,12 +73,13 @@ ls
```
>- [ ] You will now see a listing of powershell (*.ps1) files. These are the scripts that drive the deployment. To deploy the solution run the commands below in your terminal window. **Note** it is recommended that you run these one at a time and check output during each command execution for errors.
```powershell
./LocalDevOnly_EnvironmentSetUp.ps1
./CI_1a_BuildCode.ps1
./CD_0a_CreateServicePrincipals_AAD_Elevated.ps1
./CD_1a_DeployServices.ps1
./CD_2a_CreateMSIs_AAD_Elevated.ps1
./CD_2b_ConfigureServices.ps1
az login #Logs you in to your Azure environment
./LocalDevOnly_EnvironmentSetUp.ps1 #Loads your environment settings
./CI_1a_BuildCode.ps1 #Builds the source code binaries
./CD_0a_CreateServicePrincipals_AAD_Elevated.ps1 #Creates your Azure resource group and application registrations
./CD_1a_DeployServices.ps1 #Deploys the core Azure Services
./CD_2a_CreateMSIs_AAD_Elevated.ps1 #Sets up the Azure Managed Service Identities and grants privileges and access
./CD_2b_ConfigureServices.ps1 #Publishes source code to Azure Services.
```
## Post Deployment Set-up and Instructions

Просмотреть файл

@ -53,34 +53,34 @@
],
"pipeline": [
"AZ_SQL_AZ_Storage_Parquet_SH_IR.json",
"AZ-SQL-Create-Table-SH-IR.json",
"AZ-SQL-Full-Load-Chunk-SH-IR.json",
"AZ-SQL-Full-Load-SH-IR.json",
"AZ-SQL-Post-Copy-SH-IR.json",
"AZ-SQL-StoredProcedure-SH-IR.json",
"AZ-SQL-Watermark-Chunk-SH-IR.json",
"AZ-SQL-Watermark-SH-IR.json",
"AZ-Storage-Binary-AZ-Storage-Binary-SH-IR.json",
"AZ-Storage-CSV-AZ-SQL-SH-IR.json",
"AZ-Storage-Excel-AZ-SQL-SH-IR.json",
"AZ-Storage-Excel-AZ-Storage-CSV-SH-IR.json",
"AZ-Storage-JSON-AZ-SQL-SH-IR.json",
"AZ-Storage-Parquet-AZ-SQL-SH-IR.json",
"Create-Task-Master-AZ-SQL-OnP-SH-IR.json",
"Create-Task-Master-AZ-SQL-SH-IR.json",
"GEN-File-Binary-AZ-Storage-Binary-OnP-SH-IR.json",
"GEN-File-Binary-AZ-Storage-Binary-SH-IR.json",
"OnP-SQL-AZ-Storage-Parquet-OnP-SH-IR.json",
"OnP-SQL-Full-Load-Chunk-OnP-SH-IR.json",
"OnP-SQL-Full-Load-OnP-SH-IR.json",
"OnP-SQL-GEN-File-Parquet-OnP-SH-IR.json",
"OnP-SQL-Watermark-Chunk-OnP-SH-IR.json",
"OnP-SQL-Watermark-OnP-SH-IR.json",
"SH-SQL-AZ-Storage-Parquet-SH-IR.json",
"SH-SQL-Full-Load-Chunk-SH-IR.json",
"SH-SQL-Full-Load-SH-IR.json",
"SH-SQL-Watermark-Chunk-SH-IR.json",
"SH-SQL-Watermark-SH-IR.json"
"AZ_SQL_Create_Table_{IR}.json",
"AZ_SQL_Full_Load_Chunk_{IR}.json",
"AZ_SQL_Full_Load_{IR}.json",
"AZ_SQL_Post_Copy_{IR}.json",
"AZ_SQL_StoredProcedure_{IR}.json",
"AZ_SQL_Watermark_Chunk_{IR}.json",
"AZ_SQL_Watermark_{IR}.json",
"AZ_Storage_Binary_AZ_Storage_Binary_{IR}.json",
"AZ_Storage_CSV_AZ_SQL_{IR}.json",
"AZ_Storage_Excel_AZ_SQL_{IR}.json",
"AZ_Storage_Excel_AZ_Storage_CSV_{IR}.json",
"AZ_Storage_JSON_AZ_SQL_{IR}.json",
"AZ_Storage_Parquet_AZ_SQL_{IR}.json",
"Create_Task_Master_AZ_SQL_{IR}.json",
"Create_Task_Master_AZ_SQL_{IR}.json",
"GEN_File_Binary_AZ_Storage_Binary_{IR}.json",
"GEN_File_Binary_AZ_Storage_Binary_{IR}.json",
"OnP_SQL_AZ_Storage_Parquet_{IR}.json",
"OnP_SQL_Full_Load_Chunk_{IR}.json",
"OnP_SQL_Full_Load_{IR}.json",
"OnP_SQL_GEN_File_Parquet_{IR}.json",
"OnP_SQL_Watermark_Chunk_{IR}.json",
"OnP_SQL_Watermark_{IR}.json",
"SH_SQL_AZ_Storage_Parquet_{IR}.json",
"SH_SQL_Full_Load_Chunk_{IR}.json",
"SH_SQL_Full_Load_{IR}.json",
"SH_SQL_Watermark_Chunk_{IR}.json",
"SH_SQL_Watermark_{IR}.json"
]
},
{
@ -100,14 +100,14 @@
"GenericAzureDataLakeStorage_OnPrem_Net.json"
],
"pipeline": [
"Create-Task-Master-AZ-SQL-OnPrem_Net.json",
"GEN-File-Binary-AZ-Storage-Binary-OnPrem_Net.json",
"OnP-SQL-AZ-Storage-Parquet-OnPrem_Net.json",
"OnP-SQL-Full-Load-Chunk-OnP-SH-IR.json",
"OnP-SQL-Full-Load-OnP-SH-IR.json",
"OnP-SQL-GEN-File-Parquet-OnP-SH-IR.json",
"OnP-SQL-Watermark-Chunk-OnP-SH-IR.json",
"OnP-SQL-Watermark-OnP-SH-IR.json"
"Create_Task_Master_AZ_SQL_OnPrem_Net.json",
"GEN_File_Binary_AZ_Storage_Binary_OnPrem_Net.json",
"OnP_SQL_AZ_Storage_Parquet_OnPrem_Net.json",
"OnP_SQL_Full_Load_Chunk_{IR}.json",
"OnP_SQL_Full_Load_{IR}.json",
"OnP_SQL_GEN_File_Parquet_{IR}.json",
"OnP_SQL_Watermark_Chunk_{IR}.json",
"OnP_SQL_Watermark_{IR}.json"
]
}
]

Просмотреть файл

@ -1,5 +1,5 @@
{
"name": "Master",
"name": "Master_@GF{IR}",
"properties": {
"activities": [
{

Просмотреть файл

@ -8,75 +8,75 @@
SET IDENTITY_INSERT [dbo].[SourceAndTargetSystems] ON
GO
INSERT [dbo].[SourceAndTargetSystems] ([SystemId], [SystemName], [SystemType], [SystemDescription], [SystemServer], [SystemAuthType], [SystemUserName], [SystemSecretName], [SystemKeyVaultBaseUrl], [SystemJSON], [ActiveYN], [IntegrationRuntime]) VALUES (1, N'Sample - Azure SQL Server ', N'Azure SQL', N'Sample Azure SQL Server Source', N'adsgofastdatakakeaccelsqlsvr.database.windows.net', N'MSI', NULL, NULL, N'https://adsgofastkeyvault.vault.azure.net/', N'
INSERT [dbo].[SourceAndTargetSystems] ([SystemId], [SystemName], [SystemType], [SystemDescription], [SystemServer], [SystemAuthType], [SystemUserName], [SystemSecretName], [SystemKeyVaultBaseUrl], [SystemJSON], [ActiveYN]) VALUES (1, N'Sample - Azure SQL Server ', N'Azure SQL', N'Sample Azure SQL Server Source', N'adsgofastdatakakeaccelsqlsvr.database.windows.net', N'MSI', NULL, NULL, N'https://adsgofastkeyvault.vault.azure.net/', N'
{
"Database" : "AWSample"
}
', 1, NULL)
', 1)
GO
INSERT [dbo].[SourceAndTargetSystems] ([SystemId], [SystemName], [SystemType], [SystemDescription], [SystemServer], [SystemAuthType], [SystemUserName], [SystemSecretName], [SystemKeyVaultBaseUrl], [SystemJSON], [ActiveYN], [IntegrationRuntime]) VALUES (2, N'Sample - Exploration SQL', N'Azure SQL', N'Sample - Exploration SQL', N'adsgofastdatakakeaccelsqlsvr.database.windows.net', N'MSI', NULL, NULL, N'https://adsgofastkeyvault.vault.azure.net/', N' { "Database" : "Staging" }', 1, NULL)
INSERT [dbo].[SourceAndTargetSystems] ([SystemId], [SystemName], [SystemType], [SystemDescription], [SystemServer], [SystemAuthType], [SystemUserName], [SystemSecretName], [SystemKeyVaultBaseUrl], [SystemJSON], [ActiveYN]) VALUES (2, N'Sample - Exploration SQL', N'Azure SQL', N'Sample - Exploration SQL', N'adsgofastdatakakeaccelsqlsvr.database.windows.net', N'MSI', NULL, NULL, N'https://adsgofastkeyvault.vault.azure.net/', N' { "Database" : "Staging" }', 1)
GO
INSERT [dbo].[SourceAndTargetSystems] ([SystemId], [SystemName], [SystemType], [SystemDescription], [SystemServer], [SystemAuthType], [SystemUserName], [SystemSecretName], [SystemKeyVaultBaseUrl], [SystemJSON], [ActiveYN], [IntegrationRuntime]) VALUES (3, N'Sample - DataLake Raw (Blob)', N'Azure Blob', N'Sample - DataLake Raw', N'https://adsgofastdatalakeaccelst.blob.core.windows.net', N'MSI', NULL, NULL, N'https://adsgofastkeyvault.vault.azure.net/', N'
INSERT [dbo].[SourceAndTargetSystems] ([SystemId], [SystemName], [SystemType], [SystemDescription], [SystemServer], [SystemAuthType], [SystemUserName], [SystemSecretName], [SystemKeyVaultBaseUrl], [SystemJSON], [ActiveYN]) VALUES (3, N'Sample - DataLake Raw (Blob)', N'Azure Blob', N'Sample - DataLake Raw', N'https://adsgofastdatalakeaccelst.blob.core.windows.net', N'MSI', NULL, NULL, N'https://adsgofastkeyvault.vault.azure.net/', N'
{
"Container" : "datalakeraw"
}
', 1, NULL)
', 1)
GO
INSERT [dbo].[SourceAndTargetSystems] ([SystemId], [SystemName], [SystemType], [SystemDescription], [SystemServer], [SystemAuthType], [SystemUserName], [SystemSecretName], [SystemKeyVaultBaseUrl], [SystemJSON], [ActiveYN], [IntegrationRuntime]) VALUES (4, N'Sample - DataLake Raw (ADLS)', N'ADLS', N'Sample - DataLake Raw (ADLS)', N'https://adsgofastdatalakeadls.dfs.core.windows.net', N'MSI', NULL, NULL, N'https://adsgofastkeyvault.vault.azure.net/', N'
INSERT [dbo].[SourceAndTargetSystems] ([SystemId], [SystemName], [SystemType], [SystemDescription], [SystemServer], [SystemAuthType], [SystemUserName], [SystemSecretName], [SystemKeyVaultBaseUrl], [SystemJSON], [ActiveYN]) VALUES (4, N'Sample - DataLake Raw (ADLS)', N'ADLS', N'Sample - DataLake Raw (ADLS)', N'https://adsgofastdatalakeadls.dfs.core.windows.net', N'MSI', NULL, NULL, N'https://adsgofastkeyvault.vault.azure.net/', N'
{
"Container" : "datalakeraw"
}
', 1, NULL)
', 1)
GO
INSERT [dbo].[SourceAndTargetSystems] ([SystemId], [SystemName], [SystemType], [SystemDescription], [SystemServer], [SystemAuthType], [SystemUserName], [SystemSecretName], [SystemKeyVaultBaseUrl], [SystemJSON], [ActiveYN], [IntegrationRuntime]) VALUES (5, N'Sample - On Premise Fileshare Source', N'File', N'Sample - On Premise Fileshare Source', N'\\\\adsgofastonpremadfir\\D$\\dataingestion\\', N'WindowsAuth', N'AzureUser', N'adsgofast-onpre-file-password', N'https://adsgofastkeyvault.vault.azure.net/', NULL, 1, NULL)
INSERT [dbo].[SourceAndTargetSystems] ([SystemId], [SystemName], [SystemType], [SystemDescription], [SystemServer], [SystemAuthType], [SystemUserName], [SystemSecretName], [SystemKeyVaultBaseUrl], [SystemJSON], [ActiveYN]) VALUES (5, N'Sample - On Premise Fileshare Source', N'File', N'Sample - On Premise Fileshare Source', N'\\\\adsgofastonpremadfir\\D$\\dataingestion\\', N'WindowsAuth', N'AzureUser', N'adsgofast-onpre-file-password', N'https://adsgofastkeyvault.vault.azure.net/', NULL, 1)
GO
INSERT [dbo].[SourceAndTargetSystems] ([SystemId], [SystemName], [SystemType], [SystemDescription], [SystemServer], [SystemAuthType], [SystemUserName], [SystemSecretName], [SystemKeyVaultBaseUrl], [SystemJSON], [ActiveYN], [IntegrationRuntime]) VALUES (6, N'Sample - VM Hosted SQL Server', N'SQL Server', N'Sample - VM Hosted SQL Server', N'adsgofast-onpre', N'SQLAuth', N'sqladfir', N'adsgofast-onpre-sqladfir-password', N'https://adsgofastkeyvault.vault.azure.net/', N'
INSERT [dbo].[SourceAndTargetSystems] ([SystemId], [SystemName], [SystemType], [SystemDescription], [SystemServer], [SystemAuthType], [SystemUserName], [SystemSecretName], [SystemKeyVaultBaseUrl], [SystemJSON], [ActiveYN]) VALUES (6, N'Sample - VM Hosted SQL Server', N'SQL Server', N'Sample - VM Hosted SQL Server', N'adsgofast-onpre', N'SQLAuth', N'sqladfir', N'adsgofast-onpre-sqladfir-password', N'https://adsgofastkeyvault.vault.azure.net/', N'
{
"Database" : "AdventureWorks2017"
}
', 1, NULL)
', 1)
GO
INSERT [dbo].[SourceAndTargetSystems] ([SystemId], [SystemName], [SystemType], [SystemDescription], [SystemServer], [SystemAuthType], [SystemUserName], [SystemSecretName], [SystemKeyVaultBaseUrl], [SystemJSON], [ActiveYN], [IntegrationRuntime]) VALUES (7, N'Sample - DataLake Landing (Blob)', N'Azure Blob', N'Sample - DataLake Landing (Blob)', N'https://adsgofastdatalakeaccelst.blob.core.windows.net', N'MSI', NULL, NULL, N'https://adsgofastkeyvault.vault.azure.net/', N'
INSERT [dbo].[SourceAndTargetSystems] ([SystemId], [SystemName], [SystemType], [SystemDescription], [SystemServer], [SystemAuthType], [SystemUserName], [SystemSecretName], [SystemKeyVaultBaseUrl], [SystemJSON], [ActiveYN]) VALUES (7, N'Sample - DataLake Landing (Blob)', N'Azure Blob', N'Sample - DataLake Landing (Blob)', N'https://adsgofastdatalakeaccelst.blob.core.windows.net', N'MSI', NULL, NULL, N'https://adsgofastkeyvault.vault.azure.net/', N'
{
"Container" : "datalakelanding"
}
', 1, NULL)
', 1)
GO
INSERT [dbo].[SourceAndTargetSystems] ([SystemId], [SystemName], [SystemType], [SystemDescription], [SystemServer], [SystemAuthType], [SystemUserName], [SystemSecretName], [SystemKeyVaultBaseUrl], [SystemJSON], [ActiveYN], [IntegrationRuntime]) VALUES (8, N'Sample - DataLake Landing (ADLS)', N'ADLS', N'Sample - DataLake Landing (ADLS)', N'https://adsgofastdatalakeadls.dfs.core.windows.net', N'MSI', NULL, NULL, N'https://adsgofastkeyvault.vault.azure.net/', N'
INSERT [dbo].[SourceAndTargetSystems] ([SystemId], [SystemName], [SystemType], [SystemDescription], [SystemServer], [SystemAuthType], [SystemUserName], [SystemSecretName], [SystemKeyVaultBaseUrl], [SystemJSON], [ActiveYN]) VALUES (8, N'Sample - DataLake Landing (ADLS)', N'ADLS', N'Sample - DataLake Landing (ADLS)', N'https://adsgofastdatalakeadls.dfs.core.windows.net', N'MSI', NULL, NULL, N'https://adsgofastkeyvault.vault.azure.net/', N'
{
"Container" : "datalakelanding"
}
', 1, NULL)
', 1)
GO
INSERT [dbo].[SourceAndTargetSystems] ([SystemId], [SystemName], [SystemType], [SystemDescription], [SystemServer], [SystemAuthType], [SystemUserName], [SystemSecretName], [SystemKeyVaultBaseUrl], [SystemJSON], [ActiveYN], [IntegrationRuntime]) VALUES (9, N'Sample - Transient-In (Blob)', N'Azure Blob', N'Sample - Transient-In (Blob)', N'https://adsgofasttransientstg.blob.core.windows.net', N'MSI', NULL, NULL, N'https://adsgofastkeyvault.vault.azure.net/', N'
INSERT [dbo].[SourceAndTargetSystems] ([SystemId], [SystemName], [SystemType], [SystemDescription], [SystemServer], [SystemAuthType], [SystemUserName], [SystemSecretName], [SystemKeyVaultBaseUrl], [SystemJSON], [ActiveYN]) VALUES (9, N'Sample - Transient-In (Blob)', N'Azure Blob', N'Sample - Transient-In (Blob)', N'https://adsgofasttransientstg.blob.core.windows.net', N'MSI', NULL, NULL, N'https://adsgofastkeyvault.vault.azure.net/', N'
{
"Container" : "transientin"
}
', 1, NULL)
', 1)
GO
INSERT [dbo].[SourceAndTargetSystems] ([SystemId], [SystemName], [SystemType], [SystemDescription], [SystemServer], [SystemAuthType], [SystemUserName], [SystemSecretName], [SystemKeyVaultBaseUrl], [SystemJSON], [ActiveYN], [IntegrationRuntime]) VALUES (10, N'Sample - Sendgrid Email Account', N'SendGrid', N'Sample - Sendgrid Email Account', N'ADSGoFastSendGrid', N'Key', NULL, NULL, N'https://adsgofastkeyvault.vault.azure.net/', N' {
INSERT [dbo].[SourceAndTargetSystems] ([SystemId], [SystemName], [SystemType], [SystemDescription], [SystemServer], [SystemAuthType], [SystemUserName], [SystemSecretName], [SystemKeyVaultBaseUrl], [SystemJSON], [ActiveYN]) VALUES (10, N'Sample - Sendgrid Email Account', N'SendGrid', N'Sample - Sendgrid Email Account', N'ADSGoFastSendGrid', N'Key', NULL, NULL, N'https://adsgofastkeyvault.vault.azure.net/', N' {
"SenderEmail" : "noreply@cleverchiro.com",
"SenderDescription" : "ADS Go Fast (No Reply)",
"Subject" : "ADS GO Fast SAS Uri for File Upload",
"PlainTextContent" : "Hello, Email!",
"HtmlContent" : "<strong>Hi <NAME>, </strong> </br></br> Use the link below to upload files: </br> <SASTOKEN> </br></br>"
}', 1, NULL)
}', 1)
GO
INSERT [dbo].[SourceAndTargetSystems] ([SystemId], [SystemName], [SystemType], [SystemDescription], [SystemServer], [SystemAuthType], [SystemUserName], [SystemSecretName], [SystemKeyVaultBaseUrl], [SystemJSON], [ActiveYN], [IntegrationRuntime]) VALUES (11, N'Sample - AdsGoFast Database', N'Azure SQL', N'Sample - AdsGoFast Database', N'adsgofastdatakakeaccelsqlsvr.database.windows.net', N'MSI', NULL, NULL, N'https://adsgofastkeyvault.vault.azure.net/', N'
INSERT [dbo].[SourceAndTargetSystems] ([SystemId], [SystemName], [SystemType], [SystemDescription], [SystemServer], [SystemAuthType], [SystemUserName], [SystemSecretName], [SystemKeyVaultBaseUrl], [SystemJSON], [ActiveYN]) VALUES (11, N'Sample - AdsGoFast Database', N'Azure SQL', N'Sample - AdsGoFast Database', N'adsgofastdatakakeaccelsqlsvr.database.windows.net', N'MSI', NULL, NULL, N'https://adsgofastkeyvault.vault.azure.net/', N'
{
"Database" : "AdsGoFast"
}
', 1, NULL)
', 1)
GO
INSERT [dbo].[SourceAndTargetSystems] ([SystemId], [SystemName], [SystemType], [SystemDescription], [SystemServer], [SystemAuthType], [SystemUserName], [SystemSecretName], [SystemKeyVaultBaseUrl], [SystemJSON], [ActiveYN], [IntegrationRuntime]) VALUES (12, N'Sample - Sendgrid Email Account2', N'SendGrid', N'Sample - Sendgrid Email Account2', N'ADSGoFastSendGrid', N'Key', NULL, NULL, N'https://adsgofastkeyvault.vault.azure.net/', N' {
INSERT [dbo].[SourceAndTargetSystems] ([SystemId], [SystemName], [SystemType], [SystemDescription], [SystemServer], [SystemAuthType], [SystemUserName], [SystemSecretName], [SystemKeyVaultBaseUrl], [SystemJSON], [ActiveYN]) VALUES (12, N'Sample - Sendgrid Email Account2', N'SendGrid', N'Sample - Sendgrid Email Account2', N'ADSGoFastSendGrid', N'Key', NULL, NULL, N'https://adsgofastkeyvault.vault.azure.net/', N' {
"SenderEmail" : "noreply@cleverchiro.com",
"SenderDescription" : "ADS Go Fast (No Reply)",
"Subject" : "ADS GO Fast SAS Uri for File Upload",
"PlainTextContent" : "Hello, Email!",
"HtmlContent" : "<strong>Hi <NAME>, </strong> </br></br> Use the link below to upload files: </br> <SASTOKEN> </br></br>"
}', 1, NULL)
}', 1)
GO
INSERT [dbo].[SourceAndTargetSystems] ([SystemId], [SystemName], [SystemType], [SystemDescription], [SystemServer], [SystemAuthType], [SystemUserName], [SystemSecretName], [SystemKeyVaultBaseUrl], [SystemJSON], [ActiveYN], [IntegrationRuntime]) VALUES (13, N'Sample - VM Target', N'AzureVM', N'Sample - VM Target', N'adsgofastadfir', N'MSI', NULL, NULL, N'https://adsgofastkeyvault.vault.azure.net/', N' { "SubscriptionUid" : "035a1364-f00d-48e2-b582-4fe125905ee3", "VMname" : "adsgofastadfir", "ResourceGroup":"ADSGOFASTDATALAKEACCEL" }', 1, NULL)
INSERT [dbo].[SourceAndTargetSystems] ([SystemId], [SystemName], [SystemType], [SystemDescription], [SystemServer], [SystemAuthType], [SystemUserName], [SystemSecretName], [SystemKeyVaultBaseUrl], [SystemJSON], [ActiveYN]) VALUES (13, N'Sample - VM Target', N'AzureVM', N'Sample - VM Target', N'adsgofastadfir', N'MSI', NULL, NULL, N'https://adsgofastkeyvault.vault.azure.net/', N' { "SubscriptionUid" : "035a1364-f00d-48e2-b582-4fe125905ee3", "VMname" : "adsgofastadfir", "ResourceGroup":"ADSGOFASTDATALAKEACCEL" }', 1)
GO
SET IDENTITY_INSERT [dbo].[SourceAndTargetSystems] OFF
GO

Просмотреть файл

@ -0,0 +1,88 @@
/*-----------------------------------------------------------------------
Copyright (c) Microsoft Corporation.
Licensed under the MIT license.
-----------------------------------------------------------------------*/
--Alteration needed as ADF Activity Errors now includes varchar in ErrorCode.
Alter Table [dbo].[ADFActivityErrors] alter column ErrorCode varchar(50)
Alter table [dbo].[SourceAndTargetSystems] add DataFactoryIR varchar(20)
/*
SET IDENTITY_INSERT [dbo].[SourceAndTargetSystems] ON
GO
INSERT [dbo].[SourceAndTargetSystems] ([SystemId], [SystemName], [SystemType], [SystemDescription], [SystemServer], [SystemAuthType], [SystemUserName], [SystemSecretName], [SystemKeyVaultBaseUrl], [SystemJSON], [ActiveYN], [DataFactoryIR]) VALUES (1, N'Sample - Azure SQL Server ', N'Azure SQL', N'Sample Azure SQL Server Source', N'adsgofastdatakakeaccelsqlsvr.database.windows.net', N'MSI', NULL, NULL, N'https://adsgofastkeyvault.vault.azure.net/', N'
{
"Database" : "AWSample"
}
', 1, 'IRA')
GO
INSERT [dbo].[SourceAndTargetSystems] ([SystemId], [SystemName], [SystemType], [SystemDescription], [SystemServer], [SystemAuthType], [SystemUserName], [SystemSecretName], [SystemKeyVaultBaseUrl], [SystemJSON], [ActiveYN], [DataFactoryIR]) VALUES (2, N'Sample - Exploration SQL', N'Azure SQL', N'Sample - Exploration SQL', N'adsgofastdatakakeaccelsqlsvr.database.windows.net', N'MSI', NULL, NULL, N'https://adsgofastkeyvault.vault.azure.net/', N' { "Database" : "Staging" }', 1, NULL)
GO
INSERT [dbo].[SourceAndTargetSystems] ([SystemId], [SystemName], [SystemType], [SystemDescription], [SystemServer], [SystemAuthType], [SystemUserName], [SystemSecretName], [SystemKeyVaultBaseUrl], [SystemJSON], [ActiveYN], [DataFactoryIR]) VALUES (3, N'Sample - DataLake Raw (Blob)', N'Azure Blob', N'Sample - DataLake Raw', N'https://adsgofastdatalakeaccelst.blob.core.windows.net', N'MSI', NULL, NULL, N'https://adsgofastkeyvault.vault.azure.net/', N'
{
"Container" : "datalakeraw"
}
', 1, 'IRA')
GO
INSERT [dbo].[SourceAndTargetSystems] ([SystemId], [SystemName], [SystemType], [SystemDescription], [SystemServer], [SystemAuthType], [SystemUserName], [SystemSecretName], [SystemKeyVaultBaseUrl], [SystemJSON], [ActiveYN], [DataFactoryIR]) VALUES (4, N'Sample - DataLake Raw (ADLS)', N'ADLS', N'Sample - DataLake Raw (ADLS)', N'https://adsgofastdatalakeadls.dfs.core.windows.net', N'MSI', NULL, NULL, N'https://adsgofastkeyvault.vault.azure.net/', N'
{
"Container" : "datalakeraw"
}
', 1, 'IRA')
GO
INSERT [dbo].[SourceAndTargetSystems] ([SystemId], [SystemName], [SystemType], [SystemDescription], [SystemServer], [SystemAuthType], [SystemUserName], [SystemSecretName], [SystemKeyVaultBaseUrl], [SystemJSON], [ActiveYN], [DataFactoryIR]) VALUES (5, N'Sample - On Premise Fileshare Source', N'File', N'Sample - On Premise Fileshare Source', N'\\\\adsgofastonpremadfir\\D$\\dataingestion\\', N'WindowsAuth', N'AzureUser', N'adsgofast-onpre-file-password', N'https://adsgofastkeyvault.vault.azure.net/', NULL, 1, NULL)
GO
INSERT [dbo].[SourceAndTargetSystems] ([SystemId], [SystemName], [SystemType], [SystemDescription], [SystemServer], [SystemAuthType], [SystemUserName], [SystemSecretName], [SystemKeyVaultBaseUrl], [SystemJSON], [ActiveYN], [DataFactoryIR]) VALUES (6, N'Sample - VM Hosted SQL Server', N'SQL Server', N'Sample - VM Hosted SQL Server', N'adsgofast-onpre', N'SQLAuth', N'sqladfir', N'adsgofast-onpre-sqladfir-password', N'https://adsgofastkeyvault.vault.azure.net/', N'
{
"Database" : "AdventureWorks2017"
}
', 1, 'IRA')
GO
INSERT [dbo].[SourceAndTargetSystems] ([SystemId], [SystemName], [SystemType], [SystemDescription], [SystemServer], [SystemAuthType], [SystemUserName], [SystemSecretName], [SystemKeyVaultBaseUrl], [SystemJSON], [ActiveYN], [DataFactoryIR]) VALUES (7, N'Sample - DataLake Landing (Blob)', N'Azure Blob', N'Sample - DataLake Landing (Blob)', N'https://adsgofastdatalakeaccelst.blob.core.windows.net', N'MSI', NULL, NULL, N'https://adsgofastkeyvault.vault.azure.net/', N'
{
"Container" : "datalakelanding"
}
', 1, 'IRA')
GO
INSERT [dbo].[SourceAndTargetSystems] ([SystemId], [SystemName], [SystemType], [SystemDescription], [SystemServer], [SystemAuthType], [SystemUserName], [SystemSecretName], [SystemKeyVaultBaseUrl], [SystemJSON], [ActiveYN], [DataFactoryIR]) VALUES (8, N'Sample - DataLake Landing (ADLS)', N'ADLS', N'Sample - DataLake Landing (ADLS)', N'https://adsgofastdatalakeadls.dfs.core.windows.net', N'MSI', NULL, NULL, N'https://adsgofastkeyvault.vault.azure.net/', N'
{
"Container" : "datalakelanding"
}
', 1, 'IRA')
GO
INSERT [dbo].[SourceAndTargetSystems] ([SystemId], [SystemName], [SystemType], [SystemDescription], [SystemServer], [SystemAuthType], [SystemUserName], [SystemSecretName], [SystemKeyVaultBaseUrl], [SystemJSON], [ActiveYN], [DataFactoryIR]) VALUES (9, N'Sample - Transient-In (Blob)', N'Azure Blob', N'Sample - Transient-In (Blob)', N'https://adsgofasttransientstg.blob.core.windows.net', N'MSI', NULL, NULL, N'https://adsgofastkeyvault.vault.azure.net/', N'
{
"Container" : "transientin"
}
', 1, 'IRA')
GO
INSERT [dbo].[SourceAndTargetSystems] ([SystemId], [SystemName], [SystemType], [SystemDescription], [SystemServer], [SystemAuthType], [SystemUserName], [SystemSecretName], [SystemKeyVaultBaseUrl], [SystemJSON], [ActiveYN], [DataFactoryIR]) VALUES (10, N'Sample - Sendgrid Email Account', N'SendGrid', N'Sample - Sendgrid Email Account', N'ADSGoFastSendGrid', N'Key', NULL, NULL, N'https://adsgofastkeyvault.vault.azure.net/', N' {
"SenderEmail" : "noreply@cleverchiro.com",
"SenderDescription" : "ADS Go Fast (No Reply)",
"Subject" : "ADS GO Fast SAS Uri for File Upload",
"PlainTextContent" : "Hello, Email!",
"HtmlContent" : "<strong>Hi <NAME>, </strong> </br></br> Use the link below to upload files: </br> <SASTOKEN> </br></br>"
}', 1, 'IRA')
GO
INSERT [dbo].[SourceAndTargetSystems] ([SystemId], [SystemName], [SystemType], [SystemDescription], [SystemServer], [SystemAuthType], [SystemUserName], [SystemSecretName], [SystemKeyVaultBaseUrl], [SystemJSON], [ActiveYN], [DataFactoryIR]) VALUES (11, N'Sample - AdsGoFast Database', N'Azure SQL', N'Sample - AdsGoFast Database', N'adsgofastdatakakeaccelsqlsvr.database.windows.net', N'MSI', NULL, NULL, N'https://adsgofastkeyvault.vault.azure.net/', N'
{
"Database" : "AdsGoFast"
}
', 1, 'IRA')
GO
INSERT [dbo].[SourceAndTargetSystems] ([SystemId], [SystemName], [SystemType], [SystemDescription], [SystemServer], [SystemAuthType], [SystemUserName], [SystemSecretName], [SystemKeyVaultBaseUrl], [SystemJSON], [ActiveYN], [DataFactoryIR]) VALUES (12, N'Sample - Sendgrid Email Account2', N'SendGrid', N'Sample - Sendgrid Email Account2', N'ADSGoFastSendGrid', N'Key', NULL, NULL, N'https://adsgofastkeyvault.vault.azure.net/', N' {
"SenderEmail" : "noreply@cleverchiro.com",
"SenderDescription" : "ADS Go Fast (No Reply)",
"Subject" : "ADS GO Fast SAS Uri for File Upload",
"PlainTextContent" : "Hello, Email!",
"HtmlContent" : "<strong>Hi <NAME>, </strong> </br></br> Use the link below to upload files: </br> <SASTOKEN> </br></br>"
}', 1, 'IRA')
GO
INSERT [dbo].[SourceAndTargetSystems] ([SystemId], [SystemName], [SystemType], [SystemDescription], [SystemServer], [SystemAuthType], [SystemUserName], [SystemSecretName], [SystemKeyVaultBaseUrl], [SystemJSON], [ActiveYN], [DataFactoryIR]) VALUES (13, N'Sample - VM Target', N'AzureVM', N'Sample - VM Target', N'adsgofastadfir', N'MSI', NULL, NULL, N'https://adsgofastkeyvault.vault.azure.net/', N' { "SubscriptionUid" : "035a1364-f00d-48e2-b582-4fe125905ee3", "VMname" : "adsgofastadfir", "ResourceGroup":"ADSGOFASTDATALAKEACCEL" }', 1, 'IRA')
GO
SET IDENTITY_INSERT [dbo].[SourceAndTargetSystems] OFF
GO
*/

Просмотреть файл

@ -8,6 +8,8 @@
<ItemGroup>
<None Remove="0-1-0-beta\A-Journaled\008-SampleTasks_SourceAndTargetSystems.sql" />
<None Remove="0-1-0-beta\A-Journaled\009-SampleTasks_TaskMasterWaterMark.sql" />
<None Remove="0-1-0-beta\A-Journaled\010-TaskTypeMapping_Update.sql" />
<None Remove="0-1-0-beta\A-Journaled\011-SampleTasks_SourceAndTargetSystems_Updated.sql" />
<None Remove="0-1-0-beta\B-Always\001-Schemas.sql" />
<None Remove="0-1-0-beta\B-Always\002-Tables.sql" />
<None Remove="0-1-0-beta\B-Always\003-StoredProcsEtc.sql" />
@ -29,6 +31,8 @@
<EmbeddedResource Include="0-1-0-beta\A-Journaled\009-SampleTasks_TaskMasterWaterMark.sql">
<CopyToOutputDirectory>Never</CopyToOutputDirectory>
</EmbeddedResource>
<EmbeddedResource Include="0-1-0-beta\A-Journaled\010-TaskTypeMapping_Update.sql" />
<EmbeddedResource Include="0-1-0-beta\A-Journaled\011-SampleTasks_SourceAndTargetSystems_Updated.sql" />
</ItemGroup>
<ItemGroup>

Просмотреть файл

@ -31,13 +31,13 @@
"Enable": true,
"Name": "AdsGFWebAuthSP",
"ApplyNamePostFix": true,
"ClientId": "6112fad2-f8f2-4313-987c-690703898480"
"ClientId": "15ebf945-aec3-43b8-9fc4-2f2309570fb5"
},
"FunctionAppAuthenticationSP": {
"Enable": true,
"Name": "AdsGFFuncAppAuthSP",
"ApplyNamePostFix": true,
"ClientId": "e7bf45f2-019c-4f6e-b908-58b71278bbe1"
"ClientId": "59f4da37-a8bb-4e24-b810-6b7dabd6ad20"
}
},
"FolderPaths": {

Просмотреть файл

@ -1726,9 +1726,25 @@
"title": "Name",
"description": "",
"default": "",
"options": {
"inputAttributes": {
"placeholder": "eg. AdsGoFastVnet"
}
},
"examples": [
"AdsGoFastVnet"
]
},
"ApplyNamePostFix": {
"$id": "#/properties/AdsOpts/properties/CD/properties/Services/properties/Vnet/properties/Logging/properties/ApplyNamePostFix",
"type": "boolean",
"format": "checkbox",
"title": "Apply Postfix to Resource Name",
"description": "",
"default": false,
"examples": [
true
]
}
},
"additionalProperties": true

Просмотреть файл

@ -40,6 +40,7 @@ if($env:AdsOpts_CD_ServicePrincipals_WebAppAuthenticationSP_Enable -eq "True")
$subid = ((az account show -s $env:AdsOpts_CD_ResourceGroup_Subscription) | ConvertFrom-Json).id
$appid = ((az ad app create --display-name $env:AdsOpts_CD_ServicePrincipals_WebAppAuthenticationSP_Name --homepage "api://$env:AdsOpts_CD_ServicePrincipals_WebAppAuthenticationSP_Name" --identifier-uris "api://$env:AdsOpts_CD_ServicePrincipals_WebAppAuthenticationSP_Name" --app-roles $roles --reply-urls $replyurls) | ConvertFrom-Json).appId
$appid = ((az ad app show --id "api://$env:AdsOpts_CD_ServicePrincipals_WebAppAuthenticationSP_Name") | ConvertFrom-Json).appId
$spid = ((az ad sp create --id $appid) | ConvertFrom-Json).ObjectId
}
@ -54,6 +55,7 @@ if($env:AdsOpts_CD_ServicePrincipals_FunctionAppAuthenticationSP_Enable -eq "Tru
$subid = ((az account show -s $env:AdsOpts_CD_ResourceGroup_Subscription) | ConvertFrom-Json).id
$appid = ((az ad app create --display-name $env:AdsOpts_CD_ServicePrincipals_FunctionAppAuthenticationSP_Name --homepage "api://$env:AdsOpts_CD_ServicePrincipals_FunctionAppAuthenticationSP_Name" --identifier-uris "api://$env:AdsOpts_CD_ServicePrincipals_FunctionAppAuthenticationSP_Name" --app-roles $roles) | ConvertFrom-Json).appId
$appid = ((az ad app show --id "api://$env:AdsOpts_CD_ServicePrincipals_FunctionAppAuthenticationSP_Name") | ConvertFrom-Json).appId
$spid = ((az ad sp create --id $appid) | ConvertFrom-Json).ObjectId
#Will need to do below during service creation to add the Azure Function MSI to role

Просмотреть файл

@ -27,6 +27,8 @@ if (([Environment]::GetEnvironmentVariable("AdsOpts_CD_EnableConfigure")) -eq "T
Invoke-Expression -Command ".\Steps\CD_ConfigureAzureSqlServer_UpdateTaskTypeMappingJson.ps1"
Invoke-Expression -Command ".\Steps\CD_ConfigureSampleData.ps1"
Write-Host "Finishing CD.."
}

Просмотреть файл

@ -1,4 +1,4 @@
[Environment]::SetEnvironmentVariable("ENVIRONMENT_NAME", "development_test")
[Environment]::SetEnvironmentVariable("ENVIRONMENT_NAME", "development")
. .\Steps\PushEnvFileIntoVariables.ps1
ParseEnvFile("$env:ENVIRONMENT_NAME")
Invoke-Expression -Command ".\Steps\CD_SetResourceGroupHash.ps1"

Просмотреть файл

@ -0,0 +1,71 @@
{
"name": "SqlServerTable_IRA",
"properties": {
"linkedServiceName": {
"referenceName": "GenericMsSqlServer_IRA",
"type": "LinkedServiceReference",
"parameters": {
"KeyVaultBaseUrl": {
"value": "@dataset().KeyVaultBaseUrl",
"type": "Expression"
},
"PasswordSecret": {
"value": "@dataset().PasswordSecret",
"type": "Expression"
},
"Server": {
"value": "@dataset().Server",
"type": "Expression"
},
"Database": {
"value": "@dataset().Database",
"type": "Expression"
},
"UserName": {
"value": "@dataset().UserName",
"type": "Expression"
}
}
},
"parameters": {
"TableSchema": {
"type": "string"
},
"TableName": {
"type": "string"
},
"KeyVaultBaseUrl": {
"type": "string"
},
"PasswordSecret": {
"type": "string"
},
"Server": {
"type": "string"
},
"Database": {
"type": "string"
},
"UserName": {
"type": "string"
}
},
"folder": {
"name": "ADS Go Fast/Generic/IRA"
},
"annotations": [],
"type": "SqlServerTable",
"schema": [],
"typeProperties": {
"schema": {
"value": "@dataset().TableSchema",
"type": "Expression"
},
"table": {
"value": "@dataset().TableName",
"type": "Expression"
}
}
},
"type": "Microsoft.DataFactory/factories/datasets"
}

Просмотреть файл

@ -2,7 +2,7 @@
$logsSetting = "[{'category':'ActivityRuns','enabled':true,'retentionPolicy':{'days': 30,'enabled': true}},{'category':'PipelineRuns','enabled':true,'retentionPolicy':{'days': 30,'enabled': true}},{'category':'TriggerRuns','enabled':true,'retentionPolicy':{'days': 30,'enabled': true}}]".Replace("'",'\"')
$metricsSetting = "[{'category':'AllMetrics','enabled':true,'retentionPolicy':{'days': 30,'enabled': true}}]".Replace("'",'\"')
az monitor diagnostic-settings create --name ADF-Diagnostics --export-to-resource-specific true --resource "$env:AdsOpts_CD_ResourceGroup_Id/providers/Microsoft.DataFactory/factories/$env:AdsOpts_CD_Services_DataFactory_Name" --logs $logsSetting --metrics $metricsSetting --storage-account "$env:AdsOpts_CD_ResourceGroup_Id/providers/Microsoft.Storage/storageAccounts/$env:AdsOpts_CD_Services_Storage_Logging_Name" --workspace "$env:AdsOpts_CD_ResourceGroup_Id/providers/microsoft.operationalinsights/workspaces/$env:AdsOpts_CD_Services_LogAnalytics_Name"
$result = az monitor diagnostic-settings create --name ADF-Diagnostics --export-to-resource-specific true --resource "$env:AdsOpts_CD_ResourceGroup_Id/providers/Microsoft.DataFactory/factories/$env:AdsOpts_CD_Services_DataFactory_Name" --logs $logsSetting --metrics $metricsSetting --storage-account "$env:AdsOpts_CD_ResourceGroup_Id/providers/Microsoft.Storage/storageAccounts/$env:AdsOpts_CD_Services_Storage_Logging_Name" --workspace "$env:AdsOpts_CD_ResourceGroup_Id/providers/microsoft.operationalinsights/workspaces/$env:AdsOpts_CD_Services_LogAnalytics_Name"
#Create IRs

Просмотреть файл

@ -23,8 +23,15 @@ function GeneratePassword {
Write-Debug "Configuring Azure SQL Server"
#Install Sql Server Module
Install-Module -Name SqlServer -Force
if (Get-Module -ListAvailable -Name SqlServer) {
Write-Host "SqlServer Module exists"
}
else {
Write-Host "Module does not exist.. installing.."
Install-Module -Name SqlServer -Force
}
#Get Access Token for SQL --Note that the deployment principal or user running locally will need rights on the database
$token=$(az account get-access-token --resource=https://database.windows.net/ --query accessToken --output tsv)
@ -36,9 +43,9 @@ if($env:AdsOpts_CD_Services_AzureSQLServer_AdsGoFastDB_Enable -eq "True")
#Add Ip to SQL Firewall
$myIp = (Invoke-WebRequest ifconfig.me/ip).Content
az sql server firewall-rule create -g $env:AdsOpts_CD_ResourceGroup_Name -s $env:AdsOpts_CD_Services_AzureSQLServer_Name -n "MySetupIP" --start-ip-address $myIp --end-ip-address $myIp
$result = az sql server firewall-rule create -g $env:AdsOpts_CD_ResourceGroup_Name -s $env:AdsOpts_CD_Services_AzureSQLServer_Name -n "MySetupIP" --start-ip-address $myIp --end-ip-address $myIp
#Allow Azure services and resources to access this server
az sql server firewall-rule create -g $env:AdsOpts_CD_ResourceGroup_Name -s $env:AdsOpts_CD_Services_AzureSQLServer_Name -n "Azure" --start-ip-address 0.0.0.0 --end-ip-address 0.0.0.0
$result = az sql server firewall-rule create -g $env:AdsOpts_CD_ResourceGroup_Name -s $env:AdsOpts_CD_Services_AzureSQLServer_Name -n "Azure" --start-ip-address 0.0.0.0 --end-ip-address 0.0.0.0
$CurrentPath = (Get-Location).Path
Set-Location "..\bin\publish\unzipped\database\"

Просмотреть файл

@ -1,4 +1,4 @@
Write-Debug"Configuring Key Vault"
Write-Debug " Configuring Key Vault"
if($env:AdsOpts_CD_Services_KeyVault_Enable -eq "True")
{
@ -12,14 +12,14 @@ if($env:AdsOpts_CD_Services_KeyVault_Enable -eq "True")
$functionkey = (az functionapp keys list -g $env:AdsOpts_CD_ResourceGroup_Name -n $env:AdsOpts_CD_Services_CoreFunctionApp_Name | ConvertFrom-Json).functionKeys.default
Write-Debug"Enabling Access to KeyVault and Adding Secrets"
Write-Debug " Enabling Access to KeyVault and Adding Secrets"
#Set KeyVault Policy to allow logged in user to add key
az keyvault set-policy --name $env:AdsOpts_CD_Services_KeyVault_Name --certificate-permissions backup create delete deleteissuers get getissuers import list listissuers managecontacts manageissuers purge recover restore setissuers update --key-permissions backup create decrypt delete encrypt get import list purge recover restore sign unwrapKey update verify wrapKey --object-id $AADUserId --resource-group $env:AdsOpts_CD_ResourceGroup_Name --secret-permissions backup delete get list purge recover restore set --storage-permissions backup delete deletesas get getsas list listsas purge recover regeneratekey restore set setsas update --subscription $env:AdsOpts_CD_ResourceGroup_Subscription
$result = az keyvault set-policy --name $env:AdsOpts_CD_Services_KeyVault_Name --certificate-permissions backup create delete deleteissuers get getissuers import list listissuers managecontacts manageissuers purge recover restore setissuers update --key-permissions backup create decrypt delete encrypt get import list purge recover restore sign unwrapKey update verify wrapKey --object-id $AADUserId --resource-group $env:AdsOpts_CD_ResourceGroup_Name --secret-permissions backup delete get list purge recover restore set --storage-permissions backup delete deletesas get getsas list listsas purge recover regeneratekey restore set setsas update --subscription $env:AdsOpts_CD_ResourceGroup_Subscription
#Set KeyVault Policy to allow MSI for ADF to Retrieve Key Vault Key
#az keyvault set-policy --name $env:AdsOpts_CD_Services_KeyVault_Name --certificate-permissions backup create delete deleteissuers get getissuers import list listissuers managecontacts manageissuers purge recover restore setissuers update --key-permissions backup create decrypt delete encrypt get import list purge recover restore sign unwrapKey update verify wrapKey --object-id $AADUserId --resource-group $env:AdsOpts_CD_ResourceGroup_Name --secret-permissions backup delete get list purge recover restore set --storage-permissions backup delete deletesas get getsas list listsas purge recover regeneratekey restore set setsas update --subscription $env:AdsOpts_CD_ResourceGroup_Subscription
#Save Function Key to KeyVault
az keyvault secret set --name "AdsGfCoreFunctionAppKey" --vault-name $env:AdsOpts_CD_Services_KeyVault_Name --disabled false --subscription $env:AdsOpts_CD_ResourceGroup_Subscription --value $functionkey --output none
$result = az keyvault secret set --name "AdsGfCoreFunctionAppKey" --vault-name $env:AdsOpts_CD_Services_KeyVault_Name --disabled false --subscription $env:AdsOpts_CD_ResourceGroup_Subscription --value $functionkey --output none
}
else

Просмотреть файл

@ -4,7 +4,7 @@ $files = @("yellow_tripdata_2017-03.xlsx","yellow_tripdata_2017-03.csv")
$files | ForEach-Object -Parallel {
az storage blob upload --file $using:pathbase/$_ --container-name "datalakeraw" --name samples/$_ --account-name $env:AdsOpts_CD_Services_Storage_ADLS_Name
az storage blob upload --file $using:pathbase/$_ --container-name "datalakeraw" --name samples/$_ --account-name $env:AdsOpts_CD_Services_Storage_Blob_Name
$result = az storage blob upload --file $using:pathbase/$_ --container-name "datalakeraw" --name samples/$_ --account-name $env:AdsOpts_CD_Services_Storage_ADLS_Name
$result = az storage blob upload --file $using:pathbase/$_ --container-name "datalakeraw" --name samples/$_ --account-name $env:AdsOpts_CD_Services_Storage_Blob_Name
}

Просмотреть файл

@ -3,16 +3,16 @@ if($env:AdsOpts_CD_Services_Vnet_Enable -eq "True")
##############################################################################################################
#Firewall and Virtual Network Rules for Services
##############################################################################################################
Write-Debug"Configuring VNet rules for provisioned services"
Write-Debug " Configuring VNet rules for provisioned services"
#Enable Service Endpoints on the subnet. Required to be done before adding network rules.
az network vnet subnet update --resource-group $env:AdsOpts_CD_ResourceGroup_Name --vnet-name $env:AdsOpts_CD_Services_Vnet_Name --name $env:AdsOpts_CD_Services_Vnet_DataSubnetName --service-endpoints Microsoft.Sql Microsoft.Storage Microsoft.KeyVault Microsoft.Web
Write-Debug"Configured Microsoft.Storage Service Endpoint to subnet $env:AdsOpts_CD_Services_Vnet_DataSubnetName"
$result = az network vnet subnet update --resource-group $env:AdsOpts_CD_ResourceGroup_Name --vnet-name $env:AdsOpts_CD_Services_Vnet_Name --name $env:AdsOpts_CD_Services_Vnet_DataSubnetName --service-endpoints Microsoft.Sql Microsoft.Storage Microsoft.KeyVault Microsoft.Web
Write-Debug " Configured Microsoft.Storage Service Endpoint to subnet $env:AdsOpts_CD_Services_Vnet_DataSubnetName"
#adls
az storage account network-rule add --resource-group $env:AdsOpts_CD_ResourceGroup_Name --account-name $env:AdsOpts_CD_Services_Storage_ADLS_Name --vnet-name $env:AdsOpts_CD_Services_Vnet_Name --subnet $env:AdsOpts_CD_Services_Vnet_DataSubnetName
az storage account update --resource-group $env:AdsOpts_CD_ResourceGroup_Name --name $env:AdsOpts_CD_Services_Storage_ADLS_Name --default-action Deny #Default action to apply when no rule matches i.e. allow access from selected network/PE only.
Write-Debug"Completed network rule configuration for storage $env:AdsOpts_CD_Services_Storage_ADLS_Name"
$result = az storage account network-rule add --resource-group $env:AdsOpts_CD_ResourceGroup_Name --account-name $env:AdsOpts_CD_Services_Storage_ADLS_Name --vnet-name $env:AdsOpts_CD_Services_Vnet_Name --subnet $env:AdsOpts_CD_Services_Vnet_DataSubnetName
$result = az storage account update --resource-group $env:AdsOpts_CD_ResourceGroup_Name --name $env:AdsOpts_CD_Services_Storage_ADLS_Name --default-action Deny #Default action to apply when no rule matches i.e. allow access from selected network/PE only.
Write-Debug " Completed network rule configuration for storage $env:AdsOpts_CD_Services_Storage_ADLS_Name"
#adlstran
#Note: Skipping as it will be outside for importing data into it.
@ -21,40 +21,40 @@ if($env:AdsOpts_CD_Services_Vnet_Enable -eq "True")
#Note: Commented below to allow App Insights access to Storage account.
# az storage account network-rule add --resource-group $env:AdsOpts_CD_ResourceGroup_Name --account-name $env:AdsOpts_CD_Services_Storage_Logging_Name --vnet-name $env:AdsOpts_CD_Services_Vnet_Name --subnet $env:AdsOpts_CD_Services_Vnet_DataSubnetName
# az storage account update --resource-group $env:AdsOpts_CD_ResourceGroup_Name --name $env:AdsOpts_CD_Services_Storage_Logging_Name --default-action Deny #Default action to apply when no rule matches i.e. allow access from selected network/PE only.
# Write-Debug"Completed network rule configuration for storage $env:AdsOpts_CD_Services_Storage_Logging_Name"
# Write-Debug " Completed network rule configuration for storage $env:AdsOpts_CD_Services_Storage_Logging_Name"
#Blob
az storage account network-rule add --resource-group $env:AdsOpts_CD_ResourceGroup_Name --account-name $env:AdsOpts_CD_Services_Storage_Blob_Name --vnet-name $env:AdsOpts_CD_Services_Vnet_Name --subnet $env:AdsOpts_CD_Services_Vnet_DataSubnetName
az storage account update --resource-group $env:AdsOpts_CD_ResourceGroup_Name --name $env:AdsOpts_CD_Services_Storage_Blob_Name --default-action Deny #Default action to apply when no rule matches i.e. allow access from selected network/PE only.
Write-Debug"Completed network rule configuration for storage $env:AdsOpts_CD_Services_Storage_Blob_Name"
$result = az storage account network-rule add --resource-group $env:AdsOpts_CD_ResourceGroup_Name --account-name $env:AdsOpts_CD_Services_Storage_Blob_Name --vnet-name $env:AdsOpts_CD_Services_Vnet_Name --subnet $env:AdsOpts_CD_Services_Vnet_DataSubnetName
$result = az storage account update --resource-group $env:AdsOpts_CD_ResourceGroup_Name --name $env:AdsOpts_CD_Services_Storage_Blob_Name --default-action Deny #Default action to apply when no rule matches i.e. allow access from selected network/PE only.
Write-Debug " Completed network rule configuration for storage $env:AdsOpts_CD_Services_Storage_Blob_Name"
#Azure Sql
#Note: Commenting below as will use the PE for SQL, so vNet rule is not required.
# az sql server vnet-rule create --server $env:AdsOpts_CD_Services_AzureSQLServer_Name --name $env:AdsOpts_CD_Services_Vnet_Name --resource-group $env:AdsOpts_CD_ResourceGroup_Name --vnet-name $env:AdsOpts_CD_Services_Vnet_Name --subnet $env:AdsOpts_CD_Services_Vnet_DataSubnetName
# Write-Debug"Completed network rule configuration for Azure SQL Server $env:AdsOpts_CD_Services_AzureSQLServer_Name"
# Write-Debug " Completed network rule configuration for Azure SQL Server $env:AdsOpts_CD_Services_AzureSQLServer_Name"
#Key Vault
#Note: Commenting below as will use the PE for AKV, so vNet rule is not required.
# az keyvault network-rule add --name $env:AdsOpts_CD_Services_KeyVault_Name --resource-group $env:AdsOpts_CD_ResourceGroup_Name --vnet-name $env:AdsOpts_CD_Services_Vnet_Name --subnet $env:AdsOpts_CD_Services_Vnet_DataSubnetName
# az keyvault update --name $env:AdsOpts_CD_Services_KeyVault_Name --resource-group $env:AdsOpts_CD_ResourceGroup_Name --default-action Deny #Default action to apply when no rule matches i.e. allow access from selected network/PE only.
# Write-Debug"Completed network rule configuration for Azure Key Vault $env:AdsOpts_CD_Services_KeyVault_Name"
# Write-Debug " Completed network rule configuration for Azure Key Vault $env:AdsOpts_CD_Services_KeyVault_Name"
#Azure Function App
az appservice plan update --name $env:AdsOpts_CD_Services_AppPlans_FunctionApp_Name --resource-group $env:AdsOpts_CD_ResourceGroup_Name --sku P1V2 #Upgrade SKU to 'P1V2' to support PE and vNet Integration.
az functionapp vnet-integration add --resource-group $env:AdsOpts_CD_ResourceGroup_Name --name $env:AdsOpts_CD_Services_CoreFunctionApp_Name --vnet $env:AdsOpts_CD_Services_Vnet_Name --subnet $env:AdsOpts_CD_Services_Vnet_FuncAppSubnetName
az functionapp config access-restriction add --priority 100 --rule-name "Allow FuncApp Subnet" --resource-group $env:AdsOpts_CD_ResourceGroup_Name --name $env:AdsOpts_CD_Services_CoreFunctionApp_Name --vnet-name $env:AdsOpts_CD_Services_Vnet_Name --subnet $env:AdsOpts_CD_Services_Vnet_FuncAppSubnetName --description "Allow vNet" --action Allow #Configure Access Restrictions.
az functionapp config access-restriction add --priority 200 --rule-name "Allow Data Subnet" --resource-group $env:AdsOpts_CD_ResourceGroup_Name --name $env:AdsOpts_CD_Services_CoreFunctionApp_Name --vnet-name $env:AdsOpts_CD_Services_Vnet_Name --subnet $env:AdsOpts_CD_Services_Vnet_DataSubnetName --description "Allow vNet" --action Allow #Configure Access Restrictions.
az functionapp config access-restriction add --priority 300 --rule-name "Allow WebApp Subnet" --resource-group $env:AdsOpts_CD_ResourceGroup_Name --name $env:AdsOpts_CD_Services_CoreFunctionApp_Name --vnet-name $env:AdsOpts_CD_Services_Vnet_Name --subnet $env:AdsOpts_CD_Services_Vnet_WebAppSubnetName --description "Allow vNet" --action Allow #Configure Access Restrictions.
az functionapp config access-restriction add --priority 400 --rule-name "Allow Azure Portal" --resource-group $env:AdsOpts_CD_ResourceGroup_Name --name $env:AdsOpts_CD_Services_CoreFunctionApp_Name --service-tag AzurePortal --description "Allow vNet" --action Allow #Configure Access Restrictions.
az functionapp config access-restriction add --priority 500 --rule-name "Allow ADF" --resource-group $env:AdsOpts_CD_ResourceGroup_Name --name $env:AdsOpts_CD_Services_CoreFunctionApp_Name --service-tag DataFactory --description "Allow vNet" --action Allow #Configure Access Restrictions.
Write-Debug"Completed network rule configuration for Azure Function App $env:AdsOpts_CD_Services_CoreFunctionApp_Name"
$result = az appservice plan update --name $env:AdsOpts_CD_Services_AppPlans_FunctionApp_Name --resource-group $env:AdsOpts_CD_ResourceGroup_Name --sku P1V2 #Upgrade SKU to 'P1V2' to support PE and vNet Integration.
$result = az functionapp vnet-integration add --resource-group $env:AdsOpts_CD_ResourceGroup_Name --name $env:AdsOpts_CD_Services_CoreFunctionApp_Name --vnet $env:AdsOpts_CD_Services_Vnet_Name --subnet $env:AdsOpts_CD_Services_Vnet_FuncAppSubnetName
$result = az functionapp config access-restriction add --priority 100 --rule-name "Allow FuncApp Subnet" --resource-group $env:AdsOpts_CD_ResourceGroup_Name --name $env:AdsOpts_CD_Services_CoreFunctionApp_Name --vnet-name $env:AdsOpts_CD_Services_Vnet_Name --subnet $env:AdsOpts_CD_Services_Vnet_FuncAppSubnetName --description "Allow vNet" --action Allow #Configure Access Restrictions.
$result = az functionapp config access-restriction add --priority 200 --rule-name "Allow Data Subnet" --resource-group $env:AdsOpts_CD_ResourceGroup_Name --name $env:AdsOpts_CD_Services_CoreFunctionApp_Name --vnet-name $env:AdsOpts_CD_Services_Vnet_Name --subnet $env:AdsOpts_CD_Services_Vnet_DataSubnetName --description "Allow vNet" --action Allow #Configure Access Restrictions.
$result = az functionapp config access-restriction add --priority 300 --rule-name "Allow WebApp Subnet" --resource-group $env:AdsOpts_CD_ResourceGroup_Name --name $env:AdsOpts_CD_Services_CoreFunctionApp_Name --vnet-name $env:AdsOpts_CD_Services_Vnet_Name --subnet $env:AdsOpts_CD_Services_Vnet_WebAppSubnetName --description "Allow vNet" --action Allow #Configure Access Restrictions.
$result = az functionapp config access-restriction add --priority 400 --rule-name "Allow Azure Portal" --resource-group $env:AdsOpts_CD_ResourceGroup_Name --name $env:AdsOpts_CD_Services_CoreFunctionApp_Name --service-tag AzurePortal --description "Allow vNet" --action Allow #Configure Access Restrictions.
$result = az functionapp config access-restriction add --priority 500 --rule-name "Allow ADF" --resource-group $env:AdsOpts_CD_ResourceGroup_Name --name $env:AdsOpts_CD_Services_CoreFunctionApp_Name --service-tag DataFactory --description "Allow vNet" --action Allow #Configure Access Restrictions.
Write-Debug " Completed network rule configuration for Azure Function App $env:AdsOpts_CD_Services_CoreFunctionApp_Name"
#Azure Web App
az appservice plan update --name $env:AdsOpts_CD_Services_AppPlans_WebApp_Name --resource-group $env:AdsOpts_CD_ResourceGroup_Name --sku P1V2 #Upgrade SKU to 'P1V2' to support PE.
az webapp vnet-integration add --resource-group $env:AdsOpts_CD_ResourceGroup_Name --name $env:AdsOpts_CD_Services_Website_Name --vnet $env:AdsOpts_CD_Services_Vnet_Name --subnet $env:AdsOpts_CD_Services_Vnet_WebAppSubnetName
$result = az appservice plan update --name $env:AdsOpts_CD_Services_AppPlans_WebApp_Name --resource-group $env:AdsOpts_CD_ResourceGroup_Name --sku P1V2 #Upgrade SKU to 'P1V2' to support PE.
$result = az webapp vnet-integration add --resource-group $env:AdsOpts_CD_ResourceGroup_Name --name $env:AdsOpts_CD_Services_Website_Name --vnet $env:AdsOpts_CD_Services_Vnet_Name --subnet $env:AdsOpts_CD_Services_Vnet_WebAppSubnetName
#Note: Commented below to keep Web App accessible over internet. For customers who have VPN/Express Route/use Bastion -> Uncomment below.
#az functionapp config access-restriction add --priority 100 --resource-group $env:AdsOpts_CD_ResourceGroup_Name --name $env:AdsOpts_CD_Services_Website_Name --vnet-name $env:AdsOpts_CD_Services_Vnet_Name --subnet $env:AdsOpts_CD_Services_Vnet_WebAppSubnetName --description "Allow vNet" --action Allow #Configure Access Restrictions.
Write-Debug"Completed network rule configuration for Azure Web App $env:AdsOpts_CD_Services_Website_Name"
Write-Debug " Completed network rule configuration for Azure Web App $env:AdsOpts_CD_Services_Website_Name"
}
else
{
@ -66,7 +66,7 @@ if($env:AdsOpts_CD_Services_Vnet_Enable -eq "True")
##############################################################################################################
#Private Endpoints for Services (ADF Managed and vNet Managed)
##############################################################################################################
Write-Debug"Configuring Private Endpoints for provisioned services"
Write-Debug " Configuring Private Endpoints for provisioned services"
########## ADF Managed PE
@ -78,48 +78,48 @@ if($env:AdsOpts_CD_Services_Vnet_Enable -eq "True")
$managedPrivateEndpointName = "ADF-Managed-PE-"+$env:AdsOpts_CD_Services_Storage_ADLS_Name
$privateEndpointResourceId = "$env:AdsOpts_CD_ResourceGroup_Id/providers/Microsoft.DataFactory/factories/$env:AdsOpts_CD_Services_DataFactory_Name/managedVirtualNetworks/default/managedprivateendpoints/${managedPrivateEndpointName}"
$privateLinkResourceId = az storage account show --name $env:AdsOpts_CD_Services_Storage_ADLS_Name --resource-group $env:AdsOpts_CD_ResourceGroup_Name --query '[id][0]' --output tsv
Write-Debug"Creating $managedPrivateEndpointName"
Write-Debug " Creating $managedPrivateEndpointName"
New-AzResource -Force -ApiVersion "${apiVersion}" -ResourceId "${privateEndpointResourceId}" -Properties @{
privateLinkResourceId = "${privateLinkResourceId}"
groupId = "dfs"
}
Write-Debug"Created $managedPrivateEndpointName"
Write-Debug " Created $managedPrivateEndpointName"
#Blob (ADF Managed PE)
$managedPrivateEndpointName = "ADF-Managed-PE-"+$env:AdsOpts_CD_Services_Storage_Blob_Name
$privateEndpointResourceId = "$env:AdsOpts_CD_ResourceGroup_Id/providers/Microsoft.DataFactory/factories/$env:AdsOpts_CD_Services_DataFactory_Name/managedVirtualNetworks/default/managedprivateendpoints/${managedPrivateEndpointName}"
$privateLinkResourceId = az storage account show --name $env:AdsOpts_CD_Services_Storage_Blob_Name --resource-group $env:AdsOpts_CD_ResourceGroup_Name --query '[id][0]' --output tsv
Write-Debug"Creating $managedPrivateEndpointName"
Write-Debug " Creating $managedPrivateEndpointName"
New-AzResource -Force -ApiVersion "${apiVersion}" -ResourceId "${privateEndpointResourceId}" -Properties @{
privateLinkResourceId = "${privateLinkResourceId}"
groupId = "blob"
}
Write-Debug"Created $managedPrivateEndpointName"
Write-Debug " Created $managedPrivateEndpointName"
#Note: Commented below to allow On-Prem SHIR to communicate with AKV (Non-VPN,Non-ExpressRoute, Non-Peering scenario)
# #Key Vault (ADF Managed PE)
# $managedPrivateEndpointName = "ADF-Managed-PE-"+$env:AdsOpts_CD_Services_KeyVault_Name
# $privateEndpointResourceId = "$env:AdsOpts_CD_ResourceGroup_Id/providers/Microsoft.DataFactory/factories/$env:AdsOpts_CD_Services_DataFactory_Name/managedVirtualNetworks/default/managedprivateendpoints/${managedPrivateEndpointName}"
# $privateLinkResourceId = az keyvault show --name $env:AdsOpts_CD_Services_KeyVault_Name --resource-group $env:AdsOpts_CD_ResourceGroup_Name --query '[id][0]' --output tsv
# Write-Debug"Creating $managedPrivateEndpointName"
# Write-Debug " Creating $managedPrivateEndpointName"
# New-AzResource -Force -ApiVersion "${apiVersion}" -ResourceId "${privateEndpointResourceId}" -Properties @{
# privateLinkResourceId = "${privateLinkResourceId}"
# groupId = "vault"
# }
# Write-Debug"Created $managedPrivateEndpointName"
# Write-Debug " Created $managedPrivateEndpointName"
########## PEs
#Note: Not using to allow SHIR to communicate with AKV (Non-VPN,Non-ExpressRoute, Peering scenario)
#Key Vault (vNet Managed PE)
Write-Debug"Creating PE for Azure Key Vault"
Write-Debug " Creating PE for Azure Key Vault"
$PE_Name = "PE-AKV"
$Private_DNS_Zone_Name = "privatelink.vaultcore.azure.net"
$id= az keyvault list --resource-group $env:AdsOpts_CD_ResourceGroup_Name --query '[].[id]' --output tsv
#PE
az network private-endpoint create `
$result = az network private-endpoint create `
--name $PE_Name `
--resource-group $env:AdsOpts_CD_ResourceGroup_Name `
--vnet-name $env:AdsOpts_CD_Services_Vnet_Name --subnet $env:AdsOpts_CD_Services_Vnet_DataSubnetName `
@ -128,35 +128,35 @@ if($env:AdsOpts_CD_Services_Vnet_Enable -eq "True")
--connection-name "PE-AKV-Connection"
#Private DNS Zone
az network private-dns zone create `
$result = az network private-dns zone create `
--resource-group $env:AdsOpts_CD_ResourceGroup_Name `
--name $Private_DNS_Zone_Name
az network private-dns link vnet create `
$result = az network private-dns link vnet create `
--resource-group $env:AdsOpts_CD_ResourceGroup_Name `
--zone-name $Private_DNS_Zone_Name `
--name "DnsLink-AzKeyVault" `
--virtual-network $env:AdsOpts_CD_Services_Vnet_Name `
--registration-enabled false
az network private-endpoint dns-zone-group create `
$result = az network private-endpoint dns-zone-group create `
--resource-group $env:AdsOpts_CD_ResourceGroup_Name `
--endpoint-name $PE_Name `
--name "AkvZoneGroup" `
--private-dns-zone $Private_DNS_Zone_Name `
--zone-name "akv"
Write-Debug"Completed PE creation for Azure Key Vault"
Write-Debug " Completed PE creation for Azure Key Vault"
#Azure Sql (vNet Managed)
Write-Debug"Creating PE for Azure SQL Server"
Write-Debug " Creating PE for Azure SQL Server"
$PE_Name = "PE-SQL"
$Private_DNS_Zone_Name = "privatelink.database.windows.net"
$id= az sql server list --resource-group $env:AdsOpts_CD_ResourceGroup_Name --query '[].[id]' --output tsv
#PE
az network private-endpoint create `
$result = az network private-endpoint create `
--name $PE_Name `
--resource-group $env:AdsOpts_CD_ResourceGroup_Name `
--vnet-name $env:AdsOpts_CD_Services_Vnet_Name --subnet $env:AdsOpts_CD_Services_Vnet_DataSubnetName `
@ -165,35 +165,35 @@ if($env:AdsOpts_CD_Services_Vnet_Enable -eq "True")
--connection-name "PE-SQL-Connection"
#Private DNS Zone
az network private-dns zone create `
$result = az network private-dns zone create `
--resource-group $env:AdsOpts_CD_ResourceGroup_Name `
--name $Private_DNS_Zone_Name
az network private-dns link vnet create `
$result = az network private-dns link vnet create `
--resource-group $env:AdsOpts_CD_ResourceGroup_Name `
--zone-name $Private_DNS_Zone_Name `
--name "DnsLink-AzSQL" `
--virtual-network $env:AdsOpts_CD_Services_Vnet_Name `
--registration-enabled false
az network private-endpoint dns-zone-group create `
$result = az network private-endpoint dns-zone-group create `
--resource-group $env:AdsOpts_CD_ResourceGroup_Name `
--endpoint-name $PE_Name `
--name "SqlZoneGroup" `
--private-dns-zone $Private_DNS_Zone_Name `
--zone-name "sql"
Write-Debug"Completed PE creation for Azure SQL Server"
Write-Debug " Completed PE creation for Azure SQL Server"
##############################
#Post PE Addition Task
az sql server update --name $env:AdsOpts_CD_Services_AzureSQLServer_Name --resource-group $env:AdsOpts_CD_ResourceGroup_Name --enable-public-network false #Disable Public Access (Requires PE to be enabled first).
Write-Debug"Disabled Public Access to Azure SQL"
$result = az sql server update --name $env:AdsOpts_CD_Services_AzureSQLServer_Name --resource-group $env:AdsOpts_CD_ResourceGroup_Name --enable-public-network false #Disable Public Access (Requires PE to be enabled first).
Write-Debug " Disabled Public Access to Azure SQL"
#Enable soft-delete on AKV
az keyvault update --name $env:AdsOpts_CD_Services_KeyVault_Name --enable-soft-delete true
Write-Debug"Soft-delete enabled on AKV"
$result = az keyvault update --name $env:AdsOpts_CD_Services_KeyVault_Name --enable-soft-delete true
Write-Debug " Soft-delete enabled on AKV"
##############################
}

Просмотреть файл

@ -1,4 +1,4 @@
Write-Debug"Configuring Web App"
Write-Debug " Configuring Web App"
$SourceFile = $env:AdsOpts_CD_FolderPaths_PublishZip + "/webapplication/Publish.zip"
if($env:AdsOpts_CD_Services_WebSite_Enable -eq "True")
@ -16,7 +16,7 @@ if($env:AdsOpts_CD_Services_WebSite_Enable -eq "True")
$AppInsightsWPId = (az monitor app-insights component show --app $env:AdsOpts_CD_Services_AppInsights_Name -g $env:AdsOpts_CD_ResourceGroup_Name | ConvertFrom-Json).appId
$appSettings.ApplicationOptions.AppInsightsWorkspaceId = $AppInsightsWPId
$LogAnalyticsWorkspaceId = (az monitor log-analytics workspace show --workspace-name $env:AdsOpts_CD_Services_LogAnalytics_Name -g $env:AdsOpts_CD_ResourceGroup_Name | ConvertFrom-Json).customerId
$LogAnalyticsWorkspaceId = (az monitor log-analytics workspace show --workspace-name $env:AdsOpts_CD_Services_LogAnalytics_Name -g $env:AdsOpts_CD_ResourceGroup_Name | ConvertFrom-Json -AsHashtable).customerId
$appSettings.ApplicationOptions.LogAnalyticsWorkspaceId = $LogAnalyticsWorkspaceId
$appSettings.AzureAdAuth.Domain=$env:AdsOpts_CD_ResourceGroup_Domain
@ -35,7 +35,7 @@ if($env:AdsOpts_CD_Services_WebSite_Enable -eq "True")
Set-Location $CurrentPath
# Deploy Web App
az webapp deployment source config-zip --resource-group $env:AdsOpts_CD_ResourceGroup_Name --name $env:AdsOpts_CD_Services_WebSite_Name --src $SourceFile
$result = az webapp deployment source config-zip --resource-group $env:AdsOpts_CD_ResourceGroup_Name --name $env:AdsOpts_CD_Services_WebSite_Name --src $SourceFile
#Enable App Insights
#az resource create --resource-group $env:AdsOpts_CD_ResourceGroup_Name --resource-type "Microsoft.Insights/components" --name $env:AdsOpts_CD_Services_WebSite_Name --location $env:AdsOpts_CD_ResourceGroup_Location --properties '{\"Application_Type\":\"web\"}'

Просмотреть файл

@ -1,8 +1,8 @@
if ($env:AdsOpts_CD_Services_DataFactory_Enable -eq "True")
{
Write-Debug"Creating Data Factory"
az deployment group create -g $env:AdsOpts_CD_ResourceGroup_Name --template-file ./../arm/DataFactory.json --parameters location=$env:AdsOpts_CD_ResourceGroup_Location adf-name=$env:AdsOpts_CD_Services_DataFactory_Name
Write-Debug " Creating Data Factory"
$result = az deployment group create -g $env:AdsOpts_CD_ResourceGroup_Name --template-file ./../arm/DataFactory.json --parameters location=$env:AdsOpts_CD_ResourceGroup_Location adf-name=$env:AdsOpts_CD_Services_DataFactory_Name
}
else
{

Просмотреть файл

@ -12,16 +12,16 @@ $ADFJDKDownloadURL = $env:AdsOpts_CD_Services_DataFactory_OnPremVnetIr_IrInstall
$ADFJDKLocalFileName = $ADFJDKDownloadURL.Split("/")[$ADFJDKDownloadURL.Split("/").Length-1] #Get the .msi filename.
$ADFJDKInstallerLocalFileLocation = $ADFLocalDrive + '\' + $ADFLocalVMFolder + '\' + $ADFJDKLocalFileName #Local Path of downloaded installer.
Write-Debug"Creating directory to download the SHIR installable."
Write-Debug " Creating directory to download the SHIR installable."
New-Item -Path $ADFLocalDrive -Name $ADFLocalVMFolder -ItemType Directory -Force #'-Force' Ok if directory already exists.
Write-Debug"Downloading the SHIR installable at $ADFIRInstallerLocalFileLocation."
Write-Debug " Downloading the SHIR installable at $ADFIRInstallerLocalFileLocation."
Invoke-WebRequest -Uri $ADFIRDownloadURL -OutFile $ADFIRInstallerLocalFileLocation #Download SHIR installable.
Write-Debug"Downloading the OpenJDK for SHIR at $ADFJDKInstallerLocalFileLocation."
Write-Debug " Downloading the OpenJDK for SHIR at $ADFJDKInstallerLocalFileLocation."
Invoke-WebRequest -Uri $ADFJDKDownloadURL -OutFile $ADFJDKInstallerLocalFileLocation #Download OpenJDK.
Write-Debug"Installing OpenJDK."
Write-Debug " Installing OpenJDK."
#msiexec /i $ADFJDKInstallerLocalFileLocation ADDLOCAL=FeatureMain,FeatureEnvironment,FeatureJarFileRunWith,FeatureJavaHome /quiet
#Ensure command prompt is run as administrator
@ -34,17 +34,17 @@ $MSIInstallArguments = @(
"/qb!"
"/norestart"
)
Write-Debug$MSIInstallArguments
Write-Debug $MSIInstallArguments
Start-Process "msiexec.exe" -ArgumentList $MSIInstallArguments -Wait -NoNewWindow
Write-Debug"Installing SHIR."
Write-Debug " Installing SHIR."
# Data Factory - VM AZ IR - Install IR
# $irKey1 = az datafactory integration-runtime list-auth-key --factory-name $DataFactoryName --name "SelfHostedIntegrationRuntime-Azure-VNET" --resource-group $ResourceGroupName --query authKey1 --out tsv
# az vm run-command invoke --command-id RunPowerShellScript --name $VMAzIR -g $ResourceGroupName --scripts "$ADFIRInstallerLocalFileLocation -path $ADFIRLocalFileLocation -authKey '$irKey1'"
#
$irKey1 = az datafactory integration-runtime list-auth-key --factory-name $env:AdsOpts_CD_Services_DataFactory_Name --name $env:AdsOpts_CD_Services_DataFactory_OnPremVnetIr_Name --resource-group $env:AdsOpts_CD_ResourceGroup_Name --query authKey1 --out tsv
Write-Debug"irKey1 retrieved."
Write-Debug " irKey1 retrieved."
# #Ensure command prompt is run as administrator
# $MSIInstallArguments = @(
@ -54,7 +54,7 @@ Write-Debug"irKey1 retrieved."
# "/qb!"
# "/norestart"
# )
# Write-Debug$MSIInstallArguments
# Write-Debug $MSIInstallArguments
# Start-Process "msiexec.exe" -ArgumentList $MSIInstallArguments -Wait -NoNewWindow
. .\Steps\InstallGatewayFunctions.ps1 -path "$ADFIRInstallerLocalFileLocation" -authKey "$irKey1"

Просмотреть файл

@ -1,10 +1,10 @@
if ($env:AdsOpts_CD_Services_AppInsights_Enable -eq "True")
{
Write-Debug"Creating App Insights"
Write-Debug " Creating App Insights"
$storageaccountkey = (az storage account keys list -g $env:AdsOpts_CD_ResourceGroup_Name -n $env:AdsOpts_CD_Services_Storage_Logging_Name | ConvertFrom-Json)[0].value
az deployment group create -g $env:AdsOpts_CD_ResourceGroup_Name --template-file ./../arm/ApplicationInsights.json --parameters location=$env:AdsOpts_CD_ResourceGroup_Location appinsights_name=$env:AdsOpts_CD_Services_AppInsights_Name
$result = az deployment group create -g $env:AdsOpts_CD_ResourceGroup_Name --template-file ./../arm/ApplicationInsights.json --parameters location=$env:AdsOpts_CD_ResourceGroup_Location appinsights_name=$env:AdsOpts_CD_Services_AppInsights_Name
}
else
{

Просмотреть файл

@ -1,11 +1,11 @@
if ($env:AdsOpts_CD_Services_AppPlans_WebApp_Enable -eq "True")
{
Write-Debug"Creating App Service for Web App"
Write-Debug " Creating App Service for Web App"
#App Service (Includes both functions and web)
$storageaccountkey = (az storage account keys list -g $env:AdsOpts_CD_ResourceGroup_Name -n $env:AdsOpts_CD_Services_Storage_Logging_Name | ConvertFrom-Json)[0].value
az deployment group create -g $env:AdsOpts_CD_ResourceGroup_Name --template-file ./../arm/AppService_Web.json --parameters location=$env:AdsOpts_CD_ResourceGroup_Location asp_name=$env:AdsOpts_CD_Services_AppPlans_WebApp_Name
$result = az deployment group create -g $env:AdsOpts_CD_ResourceGroup_Name --template-file ./../arm/AppService_Web.json --parameters location=$env:AdsOpts_CD_ResourceGroup_Location asp_name=$env:AdsOpts_CD_Services_AppPlans_WebApp_Name
}
else
{
@ -15,11 +15,11 @@ else
if ($env:AdsOpts_CD_Services_AppPlans_FunctionApp_Enable -eq "True")
{
Write-Debug"Creating App Service for Function App"
Write-Debug " Creating App Service for Function App"
#App Service (Includes both functions and web)
$storageaccountkey = (az storage account keys list -g $env:AdsOpts_CD_ResourceGroup_Name -n $env:AdsOpts_CD_Services_Storage_Logging_Name | ConvertFrom-Json)[0].value
az deployment group create -g $env:AdsOpts_CD_ResourceGroup_Name --template-file ./../arm/AppService_Func.json --parameters location=$env:AdsOpts_CD_ResourceGroup_Location asp_name=$env:AdsOpts_CD_Services_AppPlans_FunctionApp_Name
$result = az deployment group create -g $env:AdsOpts_CD_ResourceGroup_Name --template-file ./../arm/AppService_Func.json --parameters location=$env:AdsOpts_CD_ResourceGroup_Location asp_name=$env:AdsOpts_CD_Services_AppPlans_FunctionApp_Name
}
else
{

Просмотреть файл

@ -1,17 +1,17 @@
Write-Debug"Creating Azure SQL Server"
Write-Debug$env:AdsOpts_CD_Services_AzureSQLServer_Name
Write-Debug$env:AdsOpts_CD_Services_AzureSQLServer_SampleDB_Name
Write-Debug$env:AdsOpts_CD_Services_AzureSQLServer_AdsGoFastDB_Name
Write-Debug$env:AdsOpts_CD_Services_AzureSQLServer_AdminUser
Write-Debug$env:AdsOpts_CD_Services_AzureSQLServer_StagingDB_Name
Write-Debug " Creating Azure SQL Server"
Write-Debug $env:AdsOpts_CD_Services_AzureSQLServer_Name
Write-Debug $env:AdsOpts_CD_Services_AzureSQLServer_SampleDB_Name
Write-Debug $env:AdsOpts_CD_Services_AzureSQLServer_AdsGoFastDB_Name
Write-Debug $env:AdsOpts_CD_Services_AzureSQLServer_AdminUser
Write-Debug $env:AdsOpts_CD_Services_AzureSQLServer_StagingDB_Name
if($env:AdsOpts_CD_Services_AzureSQLServer_Enable -eq "True")
{
Write-Debug"Creating Azure SQL Server"
Write-Debug " Creating Azure SQL Server"
#StorageAccount For Logging
az deployment group create -g $env:AdsOpts_CD_ResourceGroup_Name --template-file ./../arm/AzureSQLServer.json --parameters location=$env:AdsOpts_CD_ResourceGroup_Location sql_server_name=$env:AdsOpts_CD_Services_AzureSQLServer_Name sql_admin_login=$env:AdsOpts_CD_Services_AzureSQLServer_AdminUser sql_admin_password=$env:AdsOpts_CD_Services_AzureSQLServer_AdminPassword sample_db_name=$env:AdsOpts_CD_Services_AzureSQLServer_SampleDB_Name ads_go_fast_db_name=$env:AdsOpts_CD_Services_AzureSQLServer_AdsGoFastDB_Name staging_db_name=$env:AdsOpts_CD_Services_AzureSQLServer_StagingDB_Name vnet_name=$env:AdsOpts_CD_Services_Vnet_Name
$result = az deployment group create -g $env:AdsOpts_CD_ResourceGroup_Name --template-file ./../arm/AzureSQLServer.json --parameters location=$env:AdsOpts_CD_ResourceGroup_Location sql_server_name=$env:AdsOpts_CD_Services_AzureSQLServer_Name sql_admin_login=$env:AdsOpts_CD_Services_AzureSQLServer_AdminUser sql_admin_password=$env:AdsOpts_CD_Services_AzureSQLServer_AdminPassword sample_db_name=$env:AdsOpts_CD_Services_AzureSQLServer_SampleDB_Name ads_go_fast_db_name=$env:AdsOpts_CD_Services_AzureSQLServer_AdsGoFastDB_Name staging_db_name=$env:AdsOpts_CD_Services_AzureSQLServer_StagingDB_Name vnet_name=$env:AdsOpts_CD_Services_Vnet_Name
#Make sure password is correct
az sql server update -n $env:AdsOpts_CD_Services_AzureSQLServer_Name -g $env:AdsOpts_CD_ResourceGroup_Name -p ($env:AdsOpts_CD_Services_AzureSQLServer_AdminPassword | Out-String)
$result = az sql server update -n $env:AdsOpts_CD_Services_AzureSQLServer_Name -g $env:AdsOpts_CD_ResourceGroup_Name -p ($env:AdsOpts_CD_Services_AzureSQLServer_AdminPassword | Out-String)
}
else
{

Просмотреть файл

@ -1,5 +1,5 @@
Write-Debug"Creating Function App"
Write-Debug " Creating Function App"
if ($env:AdsOpts_CD_Services_CoreFunctionApp_Enable -eq "True")
{
if ($env:AdsOpts_CD_Services_AppPlans_FunctionApp_ResourceGroup -eq $null)
@ -18,7 +18,7 @@ if ($env:AdsOpts_CD_Services_CoreFunctionApp_Enable -eq "True")
$key = az storage account keys list -g $env:AdsOpts_CD_ResourceGroup_Name -n $env:AdsOpts_CD_Services_Storage_Logging_Name --query [0].value -o tsv
az deployment group create -g $rg --template-file ./../arm/FunctionApp.json --parameters azure-function-site-name=$env:AdsOpts_CD_Services_CoreFunctionApp_Name app-insights-name=$env:AdsOpts_CD_Services_AppInsights_Name storage-log-account-name=$env:AdsOpts_CD_Services_Storage_Logging_Name storage-log-account-key=$key appservice-name=$sn
$result = az deployment group create -g $rg --template-file ./../arm/FunctionApp.json --parameters azure-function-site-name=$env:AdsOpts_CD_Services_CoreFunctionApp_Name app-insights-name=$env:AdsOpts_CD_Services_AppInsights_Name storage-log-account-name=$env:AdsOpts_CD_Services_Storage_Logging_Name storage-log-account-key=$key appservice-name=$sn
}
else
{

Просмотреть файл

@ -1,8 +1,8 @@
if ($env:AdsOpts_CD_Services_KeyVault_Enable -eq "True")
{
Write-Debug"Creating Key Vault"
az deployment group create -g $env:AdsOpts_CD_ResourceGroup_Name --template-file ./../arm/KeyVault.json --parameters location=$env:AdsOpts_CD_ResourceGroup_Location keyvault-name=$env:AdsOpts_CD_Services_KeyVault_Name tenant-id=$env:AdsOpts_CD_ResourceGroup_TenantId
Write-Debug "Creating Key Vault"
$result = az deployment group create -g $env:AdsOpts_CD_ResourceGroup_Name --template-file ./../arm/KeyVault.json --parameters location=$env:AdsOpts_CD_ResourceGroup_Location keyvault-name=$env:AdsOpts_CD_Services_KeyVault_Name tenant-id=$env:AdsOpts_CD_ResourceGroup_TenantId
}
else
{

Просмотреть файл

@ -1,8 +1,8 @@
if ($env:AdsOpts_CD_Services_DataFactory_Enable -eq "True")
{
Write-Debug"Creating Log Analyticss"
az deployment group create -g $env:AdsOpts_CD_ResourceGroup_Name --template-file ./../arm/LogAnalytics.json --parameters location=$env:AdsOpts_CD_ResourceGroup_Location workspaces_adsgofastloganalytics_name=$env:AdsOpts_CD_Services_LogAnalytics_Name
Write-Debug " Creating Log Analyticss"
$results = az deployment group create -g $env:AdsOpts_CD_ResourceGroup_Name --template-file ./../arm/LogAnalytics.json --parameters location=$env:AdsOpts_CD_ResourceGroup_Location workspaces_adsgofastloganalytics_name=$env:AdsOpts_CD_Services_LogAnalytics_Name
}
else
{

Просмотреть файл

@ -1,9 +1,9 @@
Write-Debug"Creating Storage Account (ADLS) For Data Lake"
Write-Debug " Creating Storage Account (ADLS) For Data Lake"
if($env:AdsOpts_CD_Services_Storage_ADLS_Enable -eq "True")
{
#StorageAccount For Logging
az deployment group create -g $env:AdsOpts_CD_ResourceGroup_Name --template-file ./../arm/Storage_ADLS.json --parameters location=$env:AdsOpts_CD_ResourceGroup_Location storage-account-name=$env:AdsOpts_CD_Services_Storage_ADLS_Name
Write-Debug"Creating Storage Account (ADLS) For Data Lake"
$result = az deployment group create -g $env:AdsOpts_CD_ResourceGroup_Name --template-file ./../arm/Storage_ADLS.json --parameters location=$env:AdsOpts_CD_ResourceGroup_Location storage-account-name=$env:AdsOpts_CD_Services_Storage_ADLS_Name
Write-Debug " Creating Storage Account (ADLS) For Data Lake"
}
else
{
@ -13,9 +13,9 @@ else
#Transient Storage Account
if($env:AdsOpts_CD_Services_Storage_ADLSTransient_Enable -eq "True")
{
Write-Debug"Creating Transient Storage Account (ADLS)"
Write-Debug " Creating Transient Storage Account (ADLS)"
az deployment group create -g $env:AdsOpts_CD_ResourceGroup_Name --template-file ./../arm/Storage_ADLS.json --parameters location=$env:AdsOpts_CD_ResourceGroup_Location storage-account-name=$env:AdsOpts_CD_Services_Storage_ADLSTransient_Name storage-raw-container-name=transient
$result = az deployment group create -g $env:AdsOpts_CD_ResourceGroup_Name --template-file ./../arm/Storage_ADLS.json --parameters location=$env:AdsOpts_CD_ResourceGroup_Location storage-account-name=$env:AdsOpts_CD_Services_Storage_ADLSTransient_Name storage-raw-container-name=transient
}
else
{

Просмотреть файл

@ -1,9 +1,9 @@
Write-Debug"Creating Storage Account (Blob) For Data Lake"
Write-Debug " Creating Storage Account (Blob) For Data Lake"
if($env:AdsOpts_CD_Services_Storage_Blob_Enable -eq "True")
{
#StorageAccount For Logging
az deployment group create -g $env:AdsOpts_CD_ResourceGroup_Name --template-file ./../arm/Storage_Blob.json --parameters location=$env:AdsOpts_CD_ResourceGroup_Location storage-account-name=$env:AdsOpts_CD_Services_Storage_Blob_Name
Write-Debug"Creating Storage Account (Blob) For Data Lake"
$result = az deployment group create -g $env:AdsOpts_CD_ResourceGroup_Name --template-file ./../arm/Storage_Blob.json --parameters location=$env:AdsOpts_CD_ResourceGroup_Location storage-account-name=$env:AdsOpts_CD_Services_Storage_Blob_Name
Write-Debug " Creating Storage Account (Blob) For Data Lake"
}
else
{

Просмотреть файл

@ -1,10 +1,10 @@
Write-Debug"Creating Storage Account For Logging"
Write-Debug$env:AdsOpts_CD_Services_Storage_Logging_Name
Write-Debug " Creating Storage Account For Logging"
Write-Debug $env:AdsOpts_CD_Services_Storage_Logging_Name
if($env:AdsOpts_CD_Services_Storage_Logging_Enable -eq "True")
{
#StorageAccount For Logging
az deployment group create -g $env:AdsOpts_CD_ResourceGroup_Name --template-file ./../arm/Storage_Logging.json --parameters location=$env:AdsOpts_CD_ResourceGroup_Location storage-log-account-name=$env:AdsOpts_CD_Services_Storage_Logging_Name
Write-Debug"Creating Storage Account For Logging"
$result = az deployment group create -g $env:AdsOpts_CD_ResourceGroup_Name --template-file ./../arm/Storage_Logging.json --parameters location=$env:AdsOpts_CD_ResourceGroup_Location storage-log-account-name=$env:AdsOpts_CD_Services_Storage_Logging_Name
Write-Debug " Creating Storage Account For Logging"
}
else
{

Просмотреть файл

@ -2,11 +2,11 @@
if($env:AdsOpts_CD_Services_Vnet_Enable -eq "True")
{
Write-Debug"Creating Vnet + Subnets (Bastion, Data, WebApp)"
Write-Debug$env:AdsOpts_CD_Services_Vnet_Name
Write-Debug " Creating Vnet + Subnets (Bastion, Data, WebApp)"
Write-Debug $env:AdsOpts_CD_Services_Vnet_Name
#vNet
az deployment group create -g $env:AdsOpts_CD_ResourceGroup_Name --template-file ./../arm/Networking.json --parameters location=$env:AdsOpts_CD_ResourceGroup_Location vnet-name=$env:AdsOpts_CD_Services_Vnet_Name vnet-address-prefix=$env:AdsOpts_CD_Services_Vnet_vNetAddressRange `
$result = az deployment group create -g $env:AdsOpts_CD_ResourceGroup_Name --template-file ./../arm/Networking.json --parameters location=$env:AdsOpts_CD_ResourceGroup_Location vnet-name=$env:AdsOpts_CD_Services_Vnet_Name vnet-address-prefix=$env:AdsOpts_CD_Services_Vnet_vNetAddressRange `
bastion-subnet-ip-prefix=$env:AdsOpts_CD_Services_Vnet_BastionSubnetAddressRange `
data-subnet-ip-prefix=$env:AdsOpts_CD_Services_Vnet_DataSubnetAddressRange `
webapp-subnet-ip-prefix=$env:AdsOpts_CD_Services_Vnet_WebAppSubnetAddressRange `
@ -17,7 +17,7 @@ if($env:AdsOpts_CD_Services_Vnet_Enable -eq "True")
webapp-subnet-name=$env:AdsOpts_CD_Services_Vnet_WebAppSubnetName `
funcapp-subnet-name=$env:AdsOpts_CD_Services_Vnet_FuncAppSubnetName
Write-Debug"Creating Vnet"
Write-Debug " Creating Vnet"
}
else
{

Просмотреть файл

@ -13,8 +13,8 @@ if ($env:AdsOpts_CD_Services_WebSite_Enable -eq "True")
$sn = $env:AdsOpts_CD_Services_AppPlans_WebApp_Name
Write-Debug"Deploying Wesite to $sn in resource group $rg"
az deployment group create -g $rg --template-file ./../arm/WebApp.json --parameters resource_group_name=$rg sites_AdsGoFastWebApp_name=$env:AdsOpts_CD_Services_WebSite_Name appservice_name=$sn}
Write-Debug " Deploying Wesite to $sn in resource group $rg"
$result = az deployment group create -g $rg --template-file ./../arm/WebApp.json --parameters resource_group_name=$rg sites_AdsGoFastWebApp_name=$env:AdsOpts_CD_Services_WebSite_Name appservice_name=$sn}
else
{
Write-Warning "Skipped Creation of Web Site"

Просмотреть файл

@ -38,7 +38,7 @@
#Transient Storage Account
if($env:AdsOpts_CD_Services_Storage_ADLSTransient_Enable -eq "True")
{
Write-Debug"Granting RBAC on Transient Storage Account (ADLS)"
Write-Debug " Granting RBAC on Transient Storage Account (ADLS)"
# MSI Access from AF to ADLS Gen2
$result = az role assignment create --assignee $AzureFunctionId --role "Storage Blob Data Contributor" --scope "$basescope/Microsoft.Storage/storageAccounts/$env:AdsOpts_CD_Services_Storage_ADLSTransient_Name"

Просмотреть файл

@ -18,4 +18,4 @@ $body.appRoleId = ($authapp.appRoles | Where-Object {$_.value -eq "Administrato
$body.principalId = $callinguser
$body = ($body | ConvertTo-Json -compress | Out-String).Replace('"','\"')
az rest --method post --uri "https://graph.microsoft.com/v1.0/servicePrincipals/$authappobjectid/appRoleAssignedTo" --headers '{\"Content-Type\":\"application/json\"}' --body $body
$result = az rest --method post --uri "https://graph.microsoft.com/v1.0/servicePrincipals/$authappobjectid/appRoleAssignedTo" --headers '{\"Content-Type\":\"application/json\"}' --body $body

Просмотреть файл

@ -8,20 +8,20 @@ function Install-Gateway([string] $gwPath)
# uninstall any existing gateway
UnInstall-Gateway
Write-Debug"Start Gateway installation"
Write-Debug " Start Gateway installation"
Start-Process "msiexec.exe" "/i $path /quiet /passive" -Wait
Start-Sleep -Seconds 30
Write-Debug"Succeed to install gateway"
Write-Debug " Succeed to install gateway"
}
function Register-Gateway([string] $key)
{
Write-Debug"Start to register gateway with key: $key"
Write-Debug " Start to register gateway with key: $key"
$cmd = Get-CmdFilePath
Start-Process $cmd "-k $key" -Wait
Write-Debug"Succeed to register gateway"
Write-Debug " Succeed to register gateway"
}
@ -58,11 +58,11 @@ function UnInstall-Gateway()
if ($installed -eq $false)
{
Write-Debug"Microsoft Integration Runtime Preview is not installed."
Write-Debug " Microsoft Integration Runtime Preview is not installed."
return
}
Write-Debug"Microsoft Integration Runtime has been uninstalled from this machine."
Write-Debug " Microsoft Integration Runtime has been uninstalled from this machine."
}
function Get-CmdFilePath()

Просмотреть файл

@ -72,10 +72,7 @@
"inputAttributes": {
"placeholder": 0
},
"dependencies": {
"Type": "ChunkField"
},
"infoText": "Number of rows to use for each 'chunk' of data"
"infoText": "Number of rows to use for each 'chunk' of data."
},
"default": 0
}

Просмотреть файл

@ -4,6 +4,7 @@
<TargetFramework>netcoreapp3.1</TargetFramework>
<IsPackable>false</IsPackable>
<IsPublishable>false</IsPublishable>
</PropertyGroup>
<ItemGroup>