Share via


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.

  1. Az Azure Automation-fiókjában kattintson a Modulok elemre, majd tallózással keresse meg a katalógust.

  2. A keresősávban keresse meg az SqlServert.

    Search Modules

  3. Válassza az SqlServer lehetőséget, majd kattintson az Importálás gombra.

    Import Module

  4. 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

  1. 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.

    Screenshot that shows the

  2. 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.

    Create credential

  3. Importálja az Automation runbookot.

    Screenshot that shows the

  4. 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.

    Import Runbook

  5. A runbook létrehozásakor automatikusan szerkesztési módba lép. Válassza a Közzététel lehetőséget.

    Publish Runbook

    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.

  6. Tesztelje a runbookot a Start gombra kattintva.

    Screenshot that shows the

  7. 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.

    Start the Runbook

Ha a Runbook sikeresen végrehajtotta a parancsot, a következőhöz hasonló kimenetet fog kapni:

Successful Run

Ö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ó:

  1. Az Automation runbookban kattintson az Ütemezések elemre, majd az Ütemezés hozzáadása parancsra.

    Create schedule

  2. Kattintson az Ütemezés>új ütemezés létrehozása elemre, majd adja meg a részleteket.

    Configure schedule

  3. Click Create.

  4. 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.

    Configure parameters

  5. 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.

  1. Az Automation Runbookban kattintson a Webhookok elemre, majd a Webhook hozzáadása parancsra.

    Add Webhook

  2. 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.

    Configure Webhook

    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.

  3. A Data Factoryben konfiguráljon egy webes tevékenységet

Example

Example Web Activity

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.

Deserialized Webhook

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:

Example Hybrid Worker Webhook

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
}

Következő lépések

Példák
REST API