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

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

Uživatelské rozhraní OSDU Správa umožňuje správcům platformy spravovat oddíl dat Azure Data Manageru 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

  • Nainstalujte Visual Studio Code s dev Containers. Uživatelské rozhraní OSDU Správa z místního počítače můžete nasadit 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.

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

    Důležité

    Pro správné fungování Správa uživatelského rozhraní se vyžadují následující oprávnění rozhraní API.

    Při prvním přihlášení k uživatelskému rozhraní Správa 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í.

Nastavení prostředí

  1. Pomocí vývojového kontejneru v editoru Visual Studio Code nasaďte uživatelské rozhraní OSDU Správa k odstranění konfliktů z místního počítače.

  2. VyberteRemote - Containers | Open, pokud chcete otevřít vývojový kontejner a naklonovat úložiště OSDU Správa uživatelského rozhraní.

    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 && \
    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 ADMINUI_CLIENT_ID="" ## App Registration to be used by OSDU Admin UI, usually the client ID used to provision ADME
     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
    
  5. Přidejte identifikátor URI přesměrování do registrace aplikace.

    export REDIRECT_URI=$(az storage account show --resource-group $RESOURCE_GROUP --name $WEBSITE_NAME --query "primaryEndpoints.web") && \
    echo "Redirect URL: $REDIRECT_URI" && \
    echo "Add the redirect URI above to the following App Registration's Single-page Application (SPA) section: https://ms.portal.azure.com/#view/Microsoft_AAD_RegisteredApps/ApplicationMenuBlade/~/Authentication/appId/$ADMINUI_CLIENT_ID/isMSAApp~/false"
    

    Snímek obrazovky znázorňující identifikátory URI přesměrování registrace aplikace

Sestavení a nasazení webové aplikace

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

    cd OSDUApp/
    
  2. Nainstalujte závislosti.

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

    {
        "mapboxKey": "key", // This is optional for the access token from Mapbox.com and used to visualize data on the map feature.
        ...
        "data_partition": "<adme_data_partition>", // ADME Data Partition ID (i.e. opendes)
      "idp": {
         ...
         "tenant_id": "<tenant_id>", // Entra ID tenant ID
         "client_id": "<client_id>", // App Registration ID to use for the admin UI, usually the same as the ADME App Registration ID, i.e. "6ee7e0d6-0641-4b29-a283-541c5d00655a"
         "redirect_uri": "<redirect_uri>", // This is the website URL ($REDIRECT_URI), i.e. "https://contoso.z1.web.core.windows.net"
         "scope": "<client_id>/.default" // Scope of the ADME instance, i.e. "6ee7e0d6-0641-4b29-a283-541c5d00655a/.default"
      },
      "api_endpoints": { // Just replace contoso.energy.azure.com with your ADME_URL after removing https or wwww in all the API endpoints below.
         "entitlement_endpoint": "https://contoso.energy.azure.com/api/", 
         "storage_endpoint": "https://contoso.energy.azure.com/api/",
         "search_endpoint": "https://contoso.energy.azure.com/api/",
         "legal_endpoint": "https://contoso.energy.azure.com/api/",
         "schema_endpoint": "https://contoso.energy.azure.com/api/",
         "osdu_connector_api_endpoint":"osdu_connector", // Optional. API endpoint of the OSDU Connector API*
         "file_endpoint": "https://contoso.energy.azure.com/api/",
         "graphAPI_endpoint": "https://graph.microsoft.com/v1.0/",
         "workflow_endpoint": "https://contoso.energy.azure.com/api/"
      }
      ...
    }
    

    Poznámka:

    Rozhraní API Připojení oru OSDU je vytvořené jako rozhraní api pro uživatele a rozhraní API OSDU, které obtékání některých volání a objektů řetězu rozhraní API. V současné době spravuje všechny operace a akce s objekty projektu a scénáře.

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

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

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

    echo $REDIRECT_URI
    
  7. 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.

Další kroky

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

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

Reference

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