Bereitstellen der OSDU-Administratoroberfläche auf Basis von Azure Data Manager for Energy

In diesem Leitfaden wird gezeigt, wie Sie die OSDU-Administratorbenutzeroberfläche zusätzlich zu Ihrer ADME-Instanz (Azure Data Manager for Energy) bereitstellen.

Die OSDU-Administratoroberfläche ermöglicht es Plattformadministratoren, die Azure Data Manager for Energy-Datenpartition zu verwalten, mit der Sie eine Verbindung herstellen. Die Verwaltungsaufgaben umfassen Berechtigungen (Benutzer- und Gruppenverwaltung), rechtliche Tags, Schemas, Verweisdaten, Anzeigen sowie Visualisieren von Objekten auf einer Karte.

Voraussetzungen

Einrichten der Umgebung

  1. Verwenden Sie den Entwicklungscontainer in Visual Studio Code, um die OSDU-Administratoroberfläche bereitzustellen und Konflikte auf Ihrem lokalen Computer zu vermeiden.

  2. Wählen Sie Remote - Containers | Open aus, um einen Entwicklungscontainer zu öffnen und das Repository für die OSDU-Administratorbenutzeroberfläche zu klonen.

    Öffnen in „Remotecontainer“

  3. Akzeptieren Sie die Eingabeaufforderung zum Klonen.

    Screenshot des Klonens des Repositorys

  4. Wenn Sie zur Eingabe einer Containerkonfigurationsvorlage aufgefordert werden.

    1. Wählen Sie Ubuntu aus.
    2. Übernehmen Sie die Standardversion.
    3. Fügen Sie keine zusätzlichen Features hinzu.
  5. Nach ein paar Minuten wird der Entwicklungscontainer ausgeführt.

    Screenshot der Ausführung von devcontainer

  6. Öffnen Sie das Terminal.

    Screenshot des Öffnens des Terminals

  7. Installieren Sie die Angular CLI, die Azure-Befehlszeilenschnittstelle, npm und 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
    

    Screenshot der Installation

  8. Melden Sie sich bei der Azure CLI an, indem Sie den Befehl im Terminal ausführen. Sie gelangen zum Anmeldebildschirm.

    az login
    
  9. Sie gelangen zum Anmeldebildschirm. Geben Sie Ihre Anmeldeinformationen ein. Ggf. wird eine Erfolgsmeldung angezeigt.

    Screenshot einer erfolgreichen Anmeldung

  10. Überprüfen Sie, ob Sie das richtige Abonnement verwenden.

    az account show
    
  11. Verwenden Sie bei Bedarf diesen Code, um das Abonnement zu ändern.

    az account set --subscription <subscription-id>
    

Konfigurieren von Umgebungsvariablen

  1. Geben Sie die erforderlichen Umgebungsvariablen im Terminal ein.
     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"
    

Bereitstellen des Speicherkontos

  1. Erstellen Sie eine Ressourcengruppe. Überspringen Sie diesen Schritt, wenn die Ressourcengruppe bereits vorhanden ist.

    az group create \
        --name $RESOURCE_GROUP \
        --location $LOCATION
    
  2. Erstellen eines Speicherkontos.

    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. Konfigurieren Sie die statische Website.

    az storage blob service-properties update \
        --account-name $WEBSITE_NAME \
        --static-website \
        --404-document index.html \
        --index-document index.html
    
  4. Legen Sie $web-Containerberechtigungen fest, um anonymen Zugriff zu ermöglichen.

    az storage container set-permission \
        --name '$web' \
        --account-name $WEBSITE_NAME \
        --public-access blob
    
  5. Fügen Sie der App-Registrierung den Umleitungs-URI hinzu.

    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"
    

    Screenshot der Umleitungs-URIs einer App-Registrierung

Erstellen und Bereitstellen der Web-App

  1. Navigieren Sie zum Ordner OSDUApp.

    cd OSDUApp/
    
  2. Installieren Sie die Abhängigkeiten.

    npm install
    
  3. Ändern Sie die Parameter in der Konfigurationsdatei unter /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/"
      }
      ...
    }
    

    Hinweis

    Die OSDU-Connector-API ist als Schnittstelle zwischen Consumern und OSDU-APIs erstellt, die einige API-Kettenaufrufe und -objekte umschließen. Derzeit verwaltet sie alle Vorgänge und Aktionen für Projekt- und Szenarioobjekte.

  4. Erstellen Sie die Webbenutzeroberfläche.

    ng build
    
  5. Laden Sie den Build in das Speicherkonto hoch.

    az storage blob upload-batch \
        --account-name $WEBSITE_NAME \
        --source ./dist/OSDUApp \
        --destination '$web' \
        --overwrite
    
  6. Rufen Sie die Website-URL ab.

    echo $REDIRECT_URI
    
  7. Öffnen Sie die Website-URL im Browser, und überprüfen Sie, ob sie ordnungsgemäß funktioniert und mit der richtigen Azure Data Manager for Energy-Instanz verbunden ist.

Nächste Schritte

Nachdem Sie über eine funktionierende Administratorbenutzeroberfläche verfügen, können Sie folgende Aktionen ausführen:

Sie können Daten auch in Ihrer Azure Data Manager for Energy-Instanz erfassen:

References

Informationen zur OSDU-Administratoroberfläche finden Sie unter OSDU GitLab.
Weitere Bereitstellungsmethoden (Terraform oder Azure DevOps-CI/CD-Pipeline) finden Sie unter OSDU-Administratorbenutzeroberfläche für DevOps.