Refresh with Azure Automation
Az Azure Automation és a PowerShell-runbookok használatával automatizált adatfrissítési műveleteket hajthat végre az Azure Analysis táblázatos modelljein.
A cikkben szereplő példa az SqlServer PowerShell-modult használja. A cikk későbbi részében egy modell frissítését bemutató PowerShell-runbook-minta jelenik meg.
Authentication
Minden hívást érvényes Microsoft Entra-azonosítóval (OAuth 2) kell hitelesíteni. A cikkben szereplő példa szolgáltatásnévvel (SPN) hitelesíti magát az Azure Analysis Services szolgáltatásban. További információ: Szolgáltatásnév létrehozása az Azure Portal használatával.
Előfeltételek
Fontos
Az alábbi példa feltételezi, hogy az Azure Analysis Services tűzfala le van tiltva. Ha engedélyezve van egy tűzfal, a kérés kezdeményezőjének nyilvános IP-címét egy tűzfalszabálynak kell tartalmaznia.
Telepítse az SqlServer-modulokat a PowerShell-gyűjteményből.
Az Azure Automation-fiókjában kattintson a Modulok elemre, majd tallózással keresse meg a katalógust.
A keresősávban keresse meg az SqlServert.
Válassza az SqlServer lehetőséget, majd kattintson az Importálás gombra.
Kattintson az OK gombra.
Szolgáltatásnév (SPN) létrehozása
A szolgáltatásnév létrehozásával kapcsolatos további információkért lásd : Szolgáltatásnév létrehozása az Azure Portal használatával.
Engedélyek konfigurálása az Azure Analysis Servicesben
A létrehozott szolgáltatásnévnek kiszolgálóadminisztrátori engedélyekkel kell rendelkeznie a kiszolgálón. További információ: Szolgáltatásnév hozzáadása a kiszolgálói rendszergazdai szerepkörhöz.
Az Azure Automation runbook tervezése
Az Automation-fiókban hozzon létre egy hitelesítőadat-erőforrást , amely a szolgáltatásnév biztonságos tárolására szolgál.
Adja meg a hitelesítő adatok részleteit. Felhasználónévként adja meg a szolgáltatásnév alkalmazásazonosítóját (appid), majd a Jelszó mezőbe írja be a szolgáltatásnév titkos kódját.
Importálja az Automation runbookot.
Keresse meg a Refresh-Model.ps1 fájlt, adjon meg egy nevet és egy leírást, majd kattintson a Létrehozás gombra.
Megjegyzés:
A dokumentum alján található PowerShell-runbook mintaszakasz szkriptjének használatával hozzon létre egy Refresh-Model.ps1 nevű fájlt, és mentse a helyi gépre a Runbookba való importáláshoz.
A runbook létrehozásakor automatikusan szerkesztési módba lép. Válassza a Közzététel lehetőséget.
Megjegyzés:
A korábban létrehozott hitelesítő erőforrást a runbook a Get-AutomationPSCredential paranccsal kéri le. Ezt a parancsot ezután a Rendszer átadja az Invoke-ProcessASADatabase PowerShell parancsnak a hitelesítés Azure Analysis Servicesben való végrehajtásához.
Tesztelje a runbookot a Start gombra kattintva.
Töltse ki a DATABA Standard kiadás NAME, ANALYSIS Standard kiadás RVER és REFRESHTYPE paramétereket, majd kattintson az OK gombra. A WEBHOOKDATA paraméterre nincs szükség a Runbook manuális futtatásakor.
Ha a Runbook sikeresen végrehajtotta a parancsot, a következőhöz hasonló kimenetet fog kapni:
Önálló Azure Automation-runbook használata
A Runbook konfigurálható úgy, hogy ütemezetten aktiválja az Azure Analysis Services-modell frissítését.
Ez a következőképpen konfigurálható:
Az Automation runbookban kattintson az Ütemezések elemre, majd az Ütemezés hozzáadása parancsra.
Kattintson az Ütemezés>új ütemezés létrehozása elemre, majd adja meg a részleteket.
Click Create.
Adja meg az ütemezés paramétereit. Ezeket a runbook-eseményindítók minden alkalommal használják. A WEBHOOKDATA paramétert üresen kell hagyni, ha ütemezésen keresztül fut.
Kattintson az OK gombra.
Felhasználás a Data Factoryvel
Ha a runbookot az Azure Data Factory használatával szeretné felhasználni, először hozzon létre egy webhookot a runbookhoz. A Webhook megad egy URL-címet, amely egy Azure Data Factory-webtevékenységen keresztül hívható meg.
Fontos
Webhook létrehozásához a runbook állapotát közzé kell tenni.
Az Automation Runbookban kattintson a Webhookok elemre, majd a Webhook hozzáadása parancsra.
Adjon nevet és lejáratot a Webhooknak. A név csak a webhookot azonosítja az Automation Runbookban, nem része az URL-címnek.
Figyelmeztetés
Győződjön meg arról, hogy a varázsló bezárása előtt másolja az URL-címet, mert a varázsló bezárása után nem tudja visszajutni.
A webhook paraméterei üresek maradhatnak. Az Azure Data Factory webes tevékenységének konfigurálásakor a paraméterek átadhatók a webes hívás törzsének.
A Data Factoryben konfiguráljon egy webes tevékenységet
Example
Az URL-cím a Webhookból létrehozott URL-cím.
A törzs egy JSON-dokumentum, amelynek a következő tulajdonságokat kell tartalmaznia:
Tulajdonság | Érték |
---|---|
AnalysisServicesDatabase | Az Azure Analysis Services-adatbázis neve Példa: AdventureWorksDB |
AnalysisServicesServer | Az Azure Analysis Services-kiszolgáló neve. Example: https://westus.asazure.windows.net/servers/myserver/models/AdventureWorks/ |
DatabaseRefreshType | A végrehajtandó frissítés típusa. Példa: Teljes |
Példa JSON-törzsre:
{
"AnalysisServicesDatabaseName": "AdventureWorksDB",
"AnalysisServicesServer": "asazure://westeurope.asazure.windows.net/MyAnalysisServer",
"DatabaseRefreshType": "Full"
}
Ezeket a paramétereket a runbook PowerShell-szkriptje határozza meg. A webes tevékenység végrehajtásakor az átadott JSON hasznos adat a WEBHOOKDATA.
Ez deszerializált és PowerShell-paraméterekként van tárolva, amelyeket aztán az Invoke-ProcessASDatabase PowerShell parancs használ.
Hibrid feldolgozó használata az Azure Analysis Services használatával
Egy statikus nyilvános IP-címmel rendelkező Azure-beli virtuális gép használható hibrid Azure Automation-feldolgozóként. Ez a nyilvános IP-cím ezután hozzáadható az Azure Analysis Services tűzfalához.
Fontos
Győződjön meg arról, hogy a virtuális gép nyilvános IP-címe statikusként van konfigurálva.
Az Azure Automation hibrid feldolgozók konfigurálásával kapcsolatos további információkért lásd a hibrid runbook-feldolgozó telepítését ismertető témakört.
Miután konfigurálta a hibrid feldolgozót, hozzon létre egy webhookot a Felhasználás a Data Factoryvel című szakaszban leírtak szerint. Itt az egyetlen különbség, hogy a Webhook konfigurálásakor a Hibrid feldolgozó futtatása>lehetőséget választja.
Példa webhook hibrid feldolgozóval:
PowerShell-runbook minta
Az alábbi kódrészlet egy példa az Azure Analysis Services-modell frissítésének PowerShell-runbook használatával történő végrehajtására.
param
(
[Parameter (Mandatory = $false)]
[object] $WebhookData,
[Parameter (Mandatory = $false)]
[String] $DatabaseName,
[Parameter (Mandatory = $false)]
[String] $AnalysisServer,
[Parameter (Mandatory = $false)]
[String] $RefreshType
)
$_Credential = Get-AutomationPSCredential -Name "ServicePrincipal"
# If runbook was called from Webhook, WebhookData will not be null.
if ($WebhookData)
{
# Retrieve AAS details from Webhook request body
$atmParameters = (ConvertFrom-Json -InputObject $WebhookData.RequestBody)
Write-Output "CredentialName: $($atmParameters.CredentialName)"
Write-Output "AnalysisServicesDatabaseName: $($atmParameters.AnalysisServicesDatabaseName)"
Write-Output "AnalysisServicesServer: $($atmParameters.AnalysisServicesServer)"
Write-Output "DatabaseRefreshType: $($atmParameters.DatabaseRefreshType)"
$_databaseName = $atmParameters.AnalysisServicesDatabaseName
$_analysisServer = $atmParameters.AnalysisServicesServer
$_refreshType = $atmParameters.DatabaseRefreshType
Invoke-ProcessASDatabase -DatabaseName $_databaseName -RefreshType $_refreshType -Server $_analysisServer -ServicePrincipal -Credential $_credential
}
else
{
Invoke-ProcessASDatabase -DatabaseName $DatabaseName -RefreshType $RefreshType -Server $AnalysisServer -ServicePrincipal -Credential $_Credential
}