Sdílet prostřednictvím


Aktualizace s využitím služby Azure Automation

Pomocí runbooků Azure Automation a PowerShellu můžete provádět automatizované operace aktualizace dat na tabulkových modelech Azure Analysis.

Příklad v tomto článku používá modul SqlServer PowerShell. Ukázkový runbook PowerShellu, který ukazuje aktualizaci modelu, je k dispozici dále v tomto článku.

Ověřování

Všechna volání musí být ověřena pomocí platného tokenu Microsoft Entra ID (OAuth 2). Příklad v tomto článku používá instanční objekt (SPN) k ověření ve službě Azure Analysis Services. Další informace najdete v tématu Vytvoření instančního objektu pomocí webu Azure Portal.

Požadavky

Důležité

Následující příklad předpokládá, že je zakázaná brána firewall služby Azure Analysis Services. Pokud je povolená brána firewall, musí být veřejná IP adresa iniciátoru požadavku zahrnutá do pravidla brány firewall.

  1. Ve svém účtu Azure Automation klikněte na Moduly a pak na Procházet galerii.

  2. Na panelu hledání vyhledejte SqlServer.

    Moduly vyhledávání

  3. Vyberte SqlServer a potom klikněte na Importovat.

    Import modulu

  4. Klikněte na OK.

Vytvoření instančního objektu (SPN)

Další informace o vytvoření instančního objektu najdete v tématu Vytvoření instančního objektu pomocí webu Azure Portal.

Konfigurace oprávnění ve službě Azure Analysis Services

Instanční objekt, který vytvoříte, musí mít na serveru oprávnění správce serveru. Další informace najdete v tématu Přidání instančního objektu do role správce serveru.

Návrh runbooku Azure Automation

  1. V účtu Automation vytvořte prostředek přihlašovacích údajů , který se použije k bezpečnému uložení instančního objektu.

    Snímek obrazovky zobrazující stránku Přihlašovací údaje s vybranou akcí Přidat přihlašovací údaje

  2. Zadejte podrobnosti o přihlašovacích údajích. Do pole Uživatelské jméno zadejte ID aplikace instančního objektu (appid) a pak do pole Heslo zadejte tajný klíč instančního objektu.

    Vytvoření přihlašovacích údajů

  3. Importujte runbook Automation.

    Snímek obrazovky znázorňující stránku Runbooky s vybranou akcí Importovat runbook

  4. Vyhledejte soubor Refresh-Model.ps1, zadejte název a popis a klikněte na vytvořit.

    Poznámka:

    Pomocí skriptu z ukázkové části runbooku PowerShellu v dolní části tohoto dokumentu vytvořte soubor s názvem Refresh-Model.ps1 a uložte ho do místního počítače pro import do runbooku.

    Import runbooku

  5. Po vytvoření runbooku se automaticky přejde do režimu úprav. Vyberte Publikovat.

    Publikování runbooku

    Poznámka:

    Prostředek přihlašovacích údajů, který byl vytvořen dříve, je načten runbook pomocí příkazu Get-AutomationPSCredential . Tento příkaz se pak předá příkazu Invoke-ProcessASADatabase PowerShellu, který provede ověření do služby Azure Analysis Services.

  6. Otestujte runbook kliknutím na Start.

    Snímek obrazovky znázorňující stránku Přehled s vybranou akcí Start

  7. Vyplňte parametry DATABASENAME, ANALYSISSERVER a REFRESHTYPE a klepněte na tlačítko OK. Parametr WEBHOOKDATA není vyžadován při ručním spuštění runbooku.

    Spuštění runbooku

Pokud se runbook úspěšně spustil, zobrazí se výstup podobný tomuto:

Úspěšné spuštění

Použití samostatného runbooku Azure Automation

Runbook je možné nakonfigurovat tak, aby aktivoval aktualizaci modelu služby Azure Analysis Services podle plánu.

Můžete ho nakonfigurovat následujícím způsobem:

  1. V runbooku Automation klikněte na Plány a pak přidejte plán.

    Vytvoření plánu

  2. Klikněte na Naplánovat>vytvoření nového plánu a vyplňte podrobnosti.

    Konfigurace plánu

  3. Klikněte na Vytvořit.

  4. Vyplňte parametry plánu. Ty se použijí při každém triggeru runbooku. Parametr WEBHOOKDATA by měl být při spuštění prostřednictvím plánu ponechán prázdný.

    Konfigurace parametrů

  5. Klikněte na OK.

Využívání se službou Data Factory

Pokud chcete runbook využívat pomocí služby Azure Data Factory, nejprve vytvořte webhook pro runbook. Webhook poskytne adresu URL, kterou je možné volat prostřednictvím webové aktivity služby Azure Data Factory.

Důležité

Pokud chcete vytvořit webhook, musí být stav runbooku Publikováno.

  1. V runbooku Automation klikněte na webhooky a potom klepněte na tlačítko Přidat webhook.

    Přidání webhooku

  2. Dejte webhooku název a vypršení platnosti. Název identifikuje pouze webhook v runbooku Automation, který není součástí adresy URL.

    Upozornění

    Před zavřením průvodce se ujistěte, že adresu URL zkopírujete, protože ji nemůžete po zavření vrátit zpět.

    Konfigurace webhooku

    Parametry webhooku můžou zůstat prázdné. Při konfiguraci webové aktivity služby Azure Data Factory je možné parametry předat do textu webového volání.

  3. Ve službě Data Factory nakonfigurujte webovou aktivitu.

Příklad

Příklad webové aktivity

Adresa URL je adresa URL vytvořená z webhooku.

Text je dokument JSON, který by měl obsahovat následující vlastnosti:

Vlastnost Hodnota
AnalysisServicesDatabase Název databáze služby Azure Analysis Services
Příklad: AdventureWorksDB
AnalysisServicesServer Název serveru Azure Analysis Services.
Příklad: https://westus.asazure.windows.net/servers/myserver/models/AdventureWorks/
DatabaseRefreshType Typ aktualizace, kterou chcete provést.
Příklad: Úplná

Příklad textu JSON:

{
    "AnalysisServicesDatabaseName": "AdventureWorksDB",
    "AnalysisServicesServer": "asazure://westeurope.asazure.windows.net/MyAnalysisServer",
    "DatabaseRefreshType": "Full"
}

Tyto parametry jsou definovány ve skriptu PowerShellu runbooku. Při spuštění webové aktivity se předá datová část JSON webHOOKDATA.

Toto je deserializováno a uloženo jako parametry PowerShellu, které se pak používají příkazem PowerShellu Invoke-ProcessASDatabase.

Deserializovaný Webhook

Použití funkce Hybrid Worker se službou Azure Analysis Services

Virtuální počítač Azure se statickou veřejnou IP adresou se dá použít jako Hybrid Worker služby Azure Automation. Tuto veřejnou IP adresu pak můžete přidat do brány firewall služby Azure Analysis Services.

Důležité

Ujistěte se, že je veřejná IP adresa virtuálního počítače nakonfigurovaná jako statická.

Další informace o konfiguraci hybridních pracovních procesů Azure Automation najdete v tématu Instalace funkce Hybrid Runbook Worker.

Jakmile je hybrid Worker nakonfigurovaný, vytvořte webhook, jak je popsáno v části Využití se službou Data Factory. Jediným rozdílem je výběr možnosti Spustit v>hybrid Workeru při konfiguraci webhooku.

Příklad webhooku s využitím Funkce Hybrid Worker:

Příklad webhooku Hybrid Worker

Ukázkový runbook PowerShellu

Následující fragment kódu je příkladem provedení aktualizace modelu služby Azure Analysis Services pomocí runbooku PowerShellu.

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
}

Další kroky

Ukázky
REST API