Distribuera OSDU-administratörsgränssnittet ovanpå Azure Data Manager for Energy

Den här guiden visar hur du distribuerar OSDU-administratörsgränssnittet ovanpå adme-instansen (Azure Data Manager for Energy).

Användargränssnittet för OSDU-administratören gör det möjligt för plattformsadministratörer att hantera den Azure Data Manager for Energy-datapartition som du ansluter den till. Hanteringsuppgifterna omfattar rättigheter (användar- och grupphantering), juridiska taggar, scheman, referensdata, vy och visualisering av objekt på en karta.

Förutsättningar

  • Installera Visual Studio Code med Dev Containers. Det är möjligt att distribuera användargränssnittet för OSDU-administratören från din lokala dator med antingen Linux eller Windows-undersystem för Linux (WSL), vi rekommenderar att du använder en Dev Container för att eliminera potentiella konflikter mellan verktygsversioner, miljöer osv.

  • En Azure Data Manager för Energy-instans.

  • En Microsoft Entra-ID-appregistrering.
    Den här appregistreringen kan vara samma som den som används för Azure Data Manager for Energy-instansen.

    Viktigt!

    Följande API-behörigheter krävs i appregistreringen för att administratörsgränssnittet ska fungera korrekt.

    Vid första inloggningen till administratörsgränssnittet begär den nödvändiga behörigheter. Du kan också bevilja de behörigheter som krävs i förväg. Mer information finns i dokumentationen om API-behörighet för appregistrering.

Miljöinställningar

  1. Använd Dev Container i Visual Studio Code för att distribuera OSDU-administratörsgränssnittet för att eliminera konflikter från den lokala datorn.

  2. Välj Remote - Containers | Open för att öppna en utvecklingscontainer och klona OSDU Admin UI-lagringsplatsen.

    Öppna i Fjärr - Containrar

  3. Acceptera kloningsprompten.

    Skärmbild som visar kloning av lagringsplatsen.

  4. När du uppmanas att ange en mall för containerkonfiguration.

    1. Välj Ubuntu.
    2. Acceptera standardversionen.
    3. Lägg inte till några extra funktioner.
  5. Efter några minuter körs devcontainern.

    Skärmbild som visar hur devcontainer körs.

  6. Öppna terminalfönstret.

    Skärmbild som visar öppningsterminalen.

  7. Installera Angular CLI, Azure CLI, npm och 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
    

    Skärmbild som visar installationen.

  8. Logga in på Azure CLI genom att köra kommandot på terminalen. Det tar dig till inloggningsskärmen.

    az login
    
  9. Det tar dig till inloggningsskärmen. Ange dina autentiseringsuppgifter och när du har lyckats visas ett meddelande om att det lyckades.

    Skärmbild som visar lyckad inloggning.

  10. Kontrollera att du använder rätt prenumeration.

    az account show
    
  11. Om det behövs använder du den här koden för att ändra prenumerationen.

    az account set --subscription <subscription-id>
    

Konfigurera miljövariabler

  1. Ange nödvändiga miljövariabler i terminalen.
     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"
    

Distribuera lagringskonto

  1. Skapa resursgrupp. Hoppa över det här steget om resursgruppen redan finns.

    az group create \
        --name $RESOURCE_GROUP \
        --location $LOCATION
    
  2. Skapa ett lagringskonto.

    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. Konfigurera den statiska webbplatsen.

    az storage blob service-properties update \
        --account-name $WEBSITE_NAME \
        --static-website \
        --404-document index.html \
        --index-document index.html
    
  4. Ange $web containerbehörigheter för att tillåta anonym åtkomst.

    az storage container set-permission \
        --name '$web' \
        --account-name $WEBSITE_NAME \
        --public-access blob
    
  5. Lägg till omdirigerings-URI:n i appregistreringen.

    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"
    

    Skärmbild som visar omdirigerings-URI:er för en appregistrering.

Skapa och distribuera webbappen

  1. Gå till mappen OSDUApp.

    cd OSDUApp/
    
  2. Installera beroenden.

    npm install
    
  3. Ändra parametrarna i konfigurationsfilen som finns på /src/config/config.json.

    {
        "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/"
      }
      ...
    }
    

    Kommentar

    OSDU Anslut eller-API:et skapas som ett gränssnitt mellan konsumenter och OSDU-API:er som omsluter vissa API-kedjeanrop och -objekt. För närvarande hanterar den alla åtgärder och åtgärder för projekt- och scenarioobjekt.

  4. Skapa webbgränssnittet.

    ng build
    
  5. Ladda upp versionen till lagringskontot.

    az storage blob upload-batch \
        --account-name $WEBSITE_NAME \
        --source ./dist/OSDUApp \
        --destination '$web' \
        --overwrite
    
  6. Hämta webbplatsens URL.

    echo $REDIRECT_URI
    
  7. Öppna webbplats-URL:en i webbläsaren och kontrollera att den fungerar korrekt och ansluten till rätt Azure Data Manager for Energy-instans.

Nästa steg

När du har ett lyckat administratörsgränssnitt kan du:

Du kan också mata in data i din Azure Data Manager for Energy-instans:

Referenser

Information om OPERATIVSYSTEMDU-administratörsgränssnittet finns i OSDU GitLab.
Andra distributionsmetoder (Terraform eller Azure DevOps CI/CD-pipeline) finns i OSDU Admin UI DevOps.