Nasazení uživatelského rozhraní pro správu OSDU nad Azure Data Managerem pro energii

V této příručce se dozvíte, jak nasadit uživatelské rozhraní správce OSDU nad instancí Azure Data Manageru pro energii (ADME).

Uživatelské rozhraní pro správu OSDU umožňuje správcům platforem spravovat oddíl dat Azure Data Manager pro energii, ke kterému ho připojíte. Mezi úlohy správy patří nároky (správa uživatelů a skupin), právní značky, schémata, referenční data, zobrazení a vizualizace objektů na mapě.

Požadavky

  • Instance Azure Data Manageru pro energii.

  • Registrace aplikace Microsoft Entra ID.
    Tato registrace aplikace může být stejná jako registrace aplikace použitá pro instanci Azure Data Manageru pro energii. Pro správné fungování uživatelského rozhraní správce se vyžadují následující oprávnění rozhraní API pro registraci aplikace.

    Při prvním přihlášení k uživatelskému rozhraní správce požádá o potřebná oprávnění. Požadovaná oprávnění můžete také udělit předem. Viz dokumentace k rozhraní API pro registraci aplikací.

Možnosti nasazení

Pro uživatelské rozhraní správce OSDU existují dvě možnosti nasazení:

  1. Rychlé nasazení pomocí Azure Container Apps: Nasazení jedním kliknutím pomocí Azure Container Apps Toto nasazení je nejjednodušším a nejrychlejším způsobem nasazení uživatelského rozhraní pro správu OSDU. Podporuje veřejná i privátní nasazení.

  2. Vlastní nasazení pomocí statického webu účtu úložiště Azure: Sestavte a nasaďte uživatelské rozhraní pro správu OSDU pomocí účtu úložiště Azure. Tato možnost nasazení je lépe přizpůsobitelná a umožňuje nakonfigurovat nasazení podle vašich potřeb.

Rychlé nasazení s využitím Azure Container Apps

  1. Výběrem tlačítka Deploy to Azure nasaďte uživatelské rozhraní pro správu OSDU pomocí Azure Container Apps.

    Nasazení do Azure

  2. Vyplňte požadované parametry na webu Azure Portal. Další informace o parametrech najdete v části s parametry.

    Snímek obrazovky znázorňující formulář nasazení webu Azure Portal

  3. Vyberte Zkontrolovat a vytvořit a pak vytvořte a nasaďte uživatelské rozhraní pro správu OSDU.

  4. Outputs V části vyhledejte adresu URL nasazeného uživatelského rozhraní pro správu OSDU.

  5. Nakonfigurujte zásady CORS ADME a identifikátor URI přesměrování SPA pro registraci aplikací pomocí adresy URL webu.

  6. Otevřete adresu URL v prohlížeči a ověřte, že funguje správně a že je připojená ke správné instanci Azure Data Manageru pro energii.

Parametry

Parametr Popis Povinní účastníci
Předplatné Předplatné Azure pro nasazení uživatelského rozhraní pro správu OSDU do. Ano
Skupina prostředků Skupina prostředků pro nasazení uživatelského rozhraní správce OSDU do. Ano
Oblast Oblast Azure pro nasazení uživatelského rozhraní pro správu OSDU do. Ano
Název Název instance uživatelského rozhraní správce OSDU. Jiné prostředky tento název používají jako základní název a připojují zkratku služby. Ano
Image kontejneru Image kontejneru, která se má použít pro uživatelské rozhraní správce OSDU. Informace o dostupných imagích najdete v registru kontejnerů uživatelského rozhraní správce OSDU. Ano
Koncový bod Osdu Koncový bod instance Azure Data Manageru pro energii nebo OSDU pro připojení. Ano
ID oddílu dat ID datového oddílu azure Data Manageru pro instanci OSDU pro energii nebo OSDU pro připojení. Ano
Název domény nároků Název domény, který se má použít pro službu nároků. Ponechte .dataservices.energy všechna nasazení ADME, aktualizujte pouze v případě, že používáte jinou implementaci OSDU. Ano
Client ID ID klienta registrace aplikace, které se má použít pro uživatelské rozhraní správce OSDU. Ano
Obor Rozsah registrace aplikace, kterou používá Azure Data Manager pro energii nebo OSDU. Pokud je ID klienta registrace aplikace ADME, můžete toto výchozí nastavení ponechat. Ano
Koncový bod konektoru Volitelné: Koncový bod rozhraní API konektoru uživatelského rozhraní pro správu OSDU, který se má použít pro uživatelské rozhraní správce. No
Povolení privátní sítě Volitelné: Povolte přístup k privátní síti k uživatelskému rozhraní správce OSDU. No
Povolit protokolování Volitelné: Povolte protokolování pro uživatelské rozhraní správce OSDU. No

Vlastní nasazení pomocí statického webu účtu služby Azure Storage

Příprava počítače

  • Nainstalujte Visual Studio Code s dev Containers. Uživatelské rozhraní pro správu OSDU můžete nasadit z místního počítače pomocí Linuxu nebo Subsystém Windows pro Linux (WSL), doporučujeme použít vývojový kontejner k odstranění potenciálních konfliktů verzí nástrojů, prostředí atd.

Nastavení prostředí

  1. Pomocí vývojového kontejneru v editoru Visual Studio Code nasaďte uživatelské rozhraní pro správu OSDU, abyste vyloučili konflikty z místního počítače.

  2. Výběrem Remote - Containers | Open otevřete vývojový kontejner a naklonujete úložiště uživatelského rozhraní správce OSDU.

    Otevřít ve službě Remote – Containers

  3. Přijměte výzvu k klonování.

    Snímek obrazovky znázorňující klonování úložiště

  4. Po zobrazení výzvy k zadání šablony konfigurace kontejneru

    1. Vyberte Ubuntu.
    2. Přijměte výchozí verzi.
    3. Nepřidávejte žádné další funkce.
  5. Po několika minutách je devcontainer spuštěný.

    Snímek obrazovky znázorňující spuštění devcontaineru

  6. Otevřete terminál.

    Snímek obrazovky znázorňující otevření terminálu

  7. Nainstalujte Angular CLI, Azure CLI, npm a Node Version Manager (NVM).

    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash && \
    export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
    [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \
    nvm install 14.17.3 && \
    export NG_CLI_ANALYTICS=false && \ 
    npm install -g @angular/cli@13.3.9 && \
    apt-get install jq -y && \
    curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash
    

    Snímek obrazovky znázorňující instalaci

  8. Přihlaste se k Azure CLI spuštěním příkazu v terminálu. Přejdete na přihlašovací obrazovku.

    az login
    
  9. Přejdete na přihlašovací obrazovku. Po úspěšném zadání přihlašovacích údajů se zobrazí zpráva o úspěchu.

    Snímek obrazovky znázorňující úspěšné přihlášení

  10. Ověřte, že používáte správné předplatné.

    az account show
    
  11. V případě potřeby použijte tento kód ke změně předplatného.

    az account set --subscription <subscription-id>
    

Konfigurace proměnných prostředí

  1. Zadejte požadované proměnné prostředí v terminálu.

    export WEBSITE_NAME="" ## Unique name of the static web app or storage account that will be generated. Storage account name must be between 3 and 24 characters in length and use numbers and lower-case letters only.
    export RESOURCE_GROUP="" ## Name of resource group
    export LOCATION="" ## Azure region to deploy to, i.e. "westeurope"
    

Nasazení účtu úložiště

  1. Vytvořte skupinu prostředků. Pokud skupina prostředků již existuje, tento krok přeskočte.

    az group create \
        --name $RESOURCE_GROUP \
        --location $LOCATION
    
  2. Vytvořte účet úložiště.

    az storage account create \
        --resource-group $RESOURCE_GROUP \
        --location $LOCATION \
        --name $WEBSITE_NAME \
        --sku Standard_LRS \
        --public-network-access Enabled \
        --allow-blob-public-access true
    
  3. Nakonfigurujte statický web.

    az storage blob service-properties update \
        --account-name $WEBSITE_NAME \
        --static-website \
        --404-document index.html \
        --index-document index.html
    
  4. Nastavte oprávnění kontejneru $web tak, aby povolte anonymní přístup.

    az storage container set-permission \
        --name '$web' \
        --account-name $WEBSITE_NAME \
        --public-access blob
    

Sestavení a nasazení webové aplikace

  1. Přejděte do složky OSDUApp.

    cd OSDUApp/
    
  2. Zkopírujte soubor Azure routing.ts.

    cp providers/azure/routing.ts src/app/routing.ts
    
  3. Nainstalujte závislosti.

    npm install
    
  4. Upravte parametry v konfiguračním souboru umístěném na /src/config/config.jsonadrese .

Nahraďte hodnoty proměnných prostředí hodnotami.

export OSDU_ENDPOINT="" # Endpoint of the Azure Data Manager for Energy or OSDU instance to connect to
export DATA_PARTITION_ID="" # ADME Data Partition ID (i.e. opendes)
export DOMAIN_NAME=".dataservices.energy" # Domain name to use for the entitlements service. Use .dataservices.energy for any ADME deployment.
export TENANT_ID="" # Entra ID tenant ID
export CLIENT_ID="" # App Registration ID to use for the admin UI, usually the same as the ADME App Registration ID
export SCOPE="" # Scope of the ADME instance, i.e. "6ee7e0d6-0641-4b29-a283-541c5d00655a/.default"
export GRAPH_ENDPOINT="https://graph.microsoft.com/v1.0/" # Microsoft Graph API endpoint
export APPINSIGHTS_INSTRUMENTATIONKEY="" # Optional. Application Insights instrumentation key
export OSDU_CONNECTOR_API_ENDPOINT="" # Optional. API endpoint of the OSDU Connector API


jq --arg data "$DATA_PARTITION_ID" \
--arg domain "$DOMAIN_NAME" \
--arg tenant "$TENANT_ID" \
--arg client "$CLIENT_ID" \
--arg redirect "$REDIRECT_URI" \
--arg scope "$SCOPE" \
--arg endpoint "$OSDU_ENDPOINT" \
--arg graph "$GRAPH_ENDPOINT" \
--arg appinnsights "$APPINSIGHTS_INSTRUMENTATIONKEY" \
--arg connectorapi "$OSDU_CONNECTOR_API_ENDPOINT" \
'.settings.appInsights.instrumentationKey = $appinnsights |
    .settings.data_partition = $data | 
    .settings.domain_name = $domain | 
    .settings.idp.tenant_id = $tenant | 
    .settings.idp.client_id = $client | 
    .settings.idp.redirect_uri = $redirect | 
    .settings.idp.scope = $scope | 
    .settings.api_endpoints.entitlement_endpoint = $endpoint | 
    .settings.api_endpoints.storage_endpoint = $endpoint | 
    .settings.api_endpoints.search_endpoint = $endpoint | 
    .settings.api_endpoints.legal_endpoint = $endpoint | 
    .settings.api_endpoints.schema_endpoint = $endpoint | 
    .settings.api_endpoints.file_endpoint = $endpoint | 
    .settings.api_endpoints.secrets_endpoint = $connectorapi | 
    .settings.api_endpoints.graphAPI_endpoint = $graph | 
    .settings.api_endpoints.workflow_endpoint = $endpoint | 
    .settings.api_endpoints.secrets_endpoint = $endpoint | 
    .settings.api_endpoints.wddms_endpoint = $endpoint' \
src/config/config.json > src/config/temp.json
mv src/config/temp.json src/config/config.json

Poznámka:

Rozhraní API konektoru OSDU je vytvořené jako rozhraní mezi spotřebiteli a rozhraními API OSDU, která obtéká některé volání a objekty řetězu rozhraní API. V současné době spravuje všechny operace a akce s objekty projektu a scénáře.

  1. Sestavte webové uživatelské rozhraní.

    ng build
    
  2. Nahrajte build do účtu úložiště.

    az storage blob upload-batch \
        --account-name $WEBSITE_NAME \
        --source ./dist/OSDUApp \
        --destination '$web' \
        --overwrite
    
  3. Načtěte adresu URL webu.

    echo $REDIRECT_URI
    
  4. Nakonfigurujte zásady CORS ADME a identifikátor URI přesměrování SPA pro registraci aplikací pomocí adresy URL webu.

  5. Otevřete adresu URL webu v prohlížeči a ověřte, že funguje správně a že je připojený ke správné instanci Azure Data Manageru pro energii.

Přidání zásad CORS

Aby uživatelské rozhraní správce fungovalo správně, musíte přidat identifikátor URI přesměrování do zásad CORS v instanci Azure Data Manageru pro energii. Informace o přidání zásad CORS do instance Azure Data Manageru pro energii najdete v dokumentaci k zásadám CORS.

Přidání identifikátoru URI přesměrování do registrace aplikace

Identifikátor URI přesměrování musíte přidat jako jednostráňovou aplikaci do registrace aplikace, kterou používá uživatelské rozhraní správce. Pokud chcete nakonfigurovat identifikátor URI přesměrování, postupujte podle kroků v dokumentaci k přidání identifikátoru URI přesměrování do registrace aplikace.

Další kroky

Po úspěšném fungování uživatelského rozhraní správce můžete:

Data můžete také ingestovat do azure Data Manageru pro energetické instance:

Reference

Informace o uživatelském rozhraní pro správu OSDU najdete v tématu OSDU GitLab.
Další metody nasazení (Terraform nebo kanál CI/CD Azure DevOps) najdete v tématu DevOps uživatelského rozhraní pro správu OSDU.