Freigeben über


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

Bereitstellungsoptionen

Es gibt zwei Bereitstellungsoptionen für die OSDU-Admin-Benutzeroberfläche:

  1. Schnelle Bereitstellung mit Azure Container Apps: Einmaliges Bereitstellen mithilfe von Azure-Container-Apps. Diese Bereitstellung ist die einfachste und schnellste Möglichkeit, die OSDU-Admin-Benutzeroberfläche bereitzustellen. Sie unterstützt sowohl öffentliche als auch private Einsätze.

  2. Benutzerdefinierte Bereitstellung mithilfe der statischen Azure Storage-Website: Erstellen und Bereitstellen der OSDU-Administrator-Benutzeroberfläche mithilfe des Azure Storage-Kontos. Diese Bereitstellungsoption ist anpassbarer und ermöglicht es Ihnen, die Bereitstellung nach Ihren Bedürfnissen zu konfigurieren.

Schnelle Bereitstellung mit Azure Container Apps

  1. Wählen Sie die Schaltfläche Deploy to Azure aus, um die OSDU-Administrator-Benutzeroberfläche mit Azure-Container-Apps bereitzustellen.

    Bereitstellung in Azure

  2. Geben Sie die erforderlichen Parameter im Azure-Portal ein. Weitere Informationen zu den Parametern finden Sie im Abschnitt Parameter.

    Screenshot, der das Azure-Portal-Bereitstellungsformular zeigt.

  3. Wählen Sie Überprüfen + erstellen und dann Erstellen, um die OSDU-Admin-Benutzeroberfläche bereitzustellen.

  4. Die URL der bereitgestellten OSDU-Admin-Benutzeroberfläche finden Sie im Abschnitt Outputs.

  5. Konfigurieren Sie die ADME-CORS-Richtlinie und den App-Registrierungs-SPA-Umleitungs-URI mit der Website-URL.

  6. Öffnen Sie die URL in einem Browser, und überprüfen Sie, ob sie ordnungsgemäß funktioniert und mit der richtigen Azure Data Manager for Energy-Instanz verbunden ist.

Parameter

Parameter Beschreibung des Dataflows Erforderlich
Abonnement Das Azure-Abonnement, auf dem die OSDU-Admin-Benutzeroberfläche bereitgestellt werden soll. Ja
Resource group Die Ressourcengruppe, für die die OSDU-Admin-Benutzeroberfläche bereitgestellt werden soll. Ja
Region Die Azure-Region, in der die OSDU-Admin-Benutzeroberfläche bereitgestellt werden soll. Yes
Name Der Name der Instanz der OSDU-Admin-Benutzeroberfläche. Andere Ressourcen verwenden diesen Namen als Basisnamen und fügen eine Dienstabkürzung hinzu. Ja
Containerimage Das für die OSDU-Admin-Benutzeroberfläche zu verwendende Containerimage. Verfügbare Images finden Sie unter OSDU Forum Admin UI Container Registry. Ja
Osdu Endpoint Der Endpunkt der Azure Data Manager for Energy- oder OSDU-Instanz, mit der eine Verbindung hergestellt werden soll. Ja
Datenpartitions-ID Die Datenpartitions-ID der Azure Data Manager for Energy- oder OSDU-Instanz, mit der eine Verbindung hergestellt werden soll. Ja
Domänenname der Berechtigungen Der Domänenname, der für den Berechtigungsdienst verwendet werden soll. Behalten Sie .dataservices.energy für jede ADME-Bereitstellung bei und aktualisieren Sie es nur, wenn Sie eine andere OSDU-Implementierung verwenden. Ja
Client-ID Die Client-ID der App-Registrierung, die für die OSDU-Admin-Benutzeroberfläche verwendet werden soll. Ja
`Scope` Der Umfang der App-Registrierung, die von Azure Data Manager for Energy oder OSDU verwendet wird. Wenn die Client-ID die ADME-App-Registrierung ist, können Sie diese Standardeinstellung beibehalten. Ja
Connectorendpunkt Optional: Der Endpunkt der OSDU-Admin-UI-Connector-API, der für die Admin-UI verwendet werden soll. No
Privates Netzwerk aktivieren Optional: Ermöglichen Sie den privaten Netzwerkzugriff auf die OSDU-Admin-Benutzeroberfläche. No
Protokollierung aktivieren Optional: Aktivieren Sie die Protokollierung für die OSDU-Administrator-Benutzeroberfläche. No

Benutzerdefinierte Bereitstellung mit statischer Website des Azure-Speicherkontos

Vorbereiten Ihres Computers

  • Installieren von Visual Studio Code mit Entwicklungscontainern. Es ist möglich, die OSDU-Administratorbenutzeroberfläche über Ihren lokalen Computer mit Linux oder das Windows-Subsystem für Linux (WSL) bereitzustellen. Es wird die Verwendung eines Entwicklungscontainers empfohlen, um potenzielle Konflikte mit Toolversionen, Umgebungen usw. zu vermeiden.

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 && \
    apt-get install jq -y && \
    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 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
    

Erstellen und Bereitstellen der Web-App

  1. Navigieren Sie zum Ordner OSDUApp.

    cd OSDUApp/
    
  2. Kopieren Sie die Azure routing.ts-Datei.

    cp providers/azure/routing.ts src/app/routing.ts
    
  3. Installieren Sie die Abhängigkeiten.

    npm install
    
  4. Ändern Sie die Parameter in der Konfigurationsdatei unter /src/config/config.json.

Ersetzen Sie die Werte der Umgebungsvariablen durch Ihre Werte.

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

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.

  1. Erstellen Sie die Webbenutzeroberfläche.

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

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

    echo $REDIRECT_URI
    
  4. Konfigurieren Sie die ADME-CORS-Richtlinie und den App-Registrierungs-SPA-Umleitungs-URI mit der Website-URL.

  5. Ö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.

CORS-Richtlinie hinzufügen

Damit die Admin-Benutzeroberfläche ordnungsgemäß funktioniert, müssen Sie den Umleitungs-URI zur CORS-Richtlinie in der Azure Data Manager for Energy-Instanz hinzufügen. Erfahren Sie, wie Sie eine CORS-Richtlinie zu Ihrer Azure Data Manager for Energy-Instanz hinzufügen. Weitere Informationen finden Sie in der Dokumentation zur CORS-Richtlinie.

Hinzufügen einen Umleitungs-URI zur App-Registrierung

Sie müssen den Umleitungs-URI als Single-Page-App zur App-Registrierung hinzufügen, die von der Admin-Benutzeroberfläche verwendet wird. Um den Umleitungs-URI zu konfigurieren, befolgen Sie die Schritte in der Dokumentation Hinzufügen eines Umleitungs-URI zur App-Registrierung.

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.