Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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-Admin-Benutzeroberfläche ermöglicht Plattformadministratoren, die Datenpartition von Azure Data Manager for Energy zu verwalten, mit der die Benutzeroberfläche verbunden ist. Verwaltungsaufgaben umfassen Berechtigungen (Benutzer- und Gruppenverwaltung), rechtliche Tags, Schemas, Referenzdaten sowie das Anzeigen und Visualisieren von Objekten auf einer Karte.
Voraussetzungen
Eine Microsoft Entra ID-App-Registrierung.
Diese App-Registrierung kann mit dem für die Azure Data Manager für Energy-Instanz verwendeten identisch sein. Die folgenden API-Berechtigungen sind für die App-Registrierung erforderlich, damit die Administratorbenutzeroberfläche ordnungsgemäß funktioniert.Bei der ersten Anmeldung bei der Administratorbenutzeroberfläche fordert die Anwendung die erforderlichen Berechtigungen an. Sie können die erforderlichen Berechtigungen auch im Voraus erteilen. Weitere Informationen finden Sie unter Konfigurieren des App-Zugriffs auf Web-APIs.
Bereitstellungsoptionen
Es gibt zwei Bereitstellungsoptionen für die OSDU-Admin-Benutzeroberfläche:
- Schnelle Bereitstellung mit Azure Container Apps: Eine Einklickbereitstellung mit Azure Container Apps. Diese Option ist die schnellste Möglichkeit, die OSDU-Administratorbenutzeroberfläche bereitzustellen und sowohl öffentliche als auch private Bereitstellungen zu unterstützen.
- Benutzerdefinierte Bereitstellung unter Verwendung von Azure Storage Account Static Website: Erstellen und bereitstellen Sie die OSDU-Admin-Benutzeroberfläche mithilfe von Azure Storage Account Static Website. Diese Option ist anpassbarer und ermöglicht es Ihnen, die Bereitstellung an Ihre Anforderungen anzupassen.
Schnelle Bereitstellung mit Azure Container Apps
Wählen Sie die Schaltfläche
Deploy to Azureaus, um die OSDU-Administrator-Benutzeroberfläche mit Azure-Container-Apps bereitzustellen.Geben Sie die erforderlichen Parameter im Azure-Portal ein. Weitere Informationen zu den Parametern finden Sie im Abschnitt "Parameter".
Wählen Sie Überprüfen + erstellen und dann Erstellen, um die OSDU-Admin-Benutzeroberfläche bereitzustellen.
Die URL der bereitgestellten OSDU-Admin-Benutzeroberfläche finden Sie im Abschnitt
Outputs.Konfigurieren Sie die ADME CORS-Richtlinie und den App-Registrierungs-SPA-Umleitungs-URI mit der Website-URL.
Ö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 | Erforderlich |
|---|---|---|
| Abonnement | Das Azure-Abonnement, auf dem die OSDU-Admin-Benutzeroberfläche bereitgestellt werden soll. | Ja |
| Ressourcengruppe | 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. | Ja |
| Name | Der Name der Instanz der OSDU-Admin-Benutzeroberfläche. Andere Ressourcen verwenden diesen Namen als Basisnamen und fügen eine Dienstkürzel an. | 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-Endpunkt | Der Endpunkt der Azure Data Manager for Energy- oder OSDU-Instanz, mit der eine Verbindung hergestellt werden soll. Verwenden Sie den AdME-Basisendpunkt. Die Bereitstellung sorgt für eine Normalisierung für die Containerlaufzeit. | Ja |
| Datenpartitions-IDs | Durch Trennzeichen getrennte Liste der Datenpartition-IDs der Azure Data Manager für Energie- oder OSDU-Instanz, mit der eine Verbindung hergestellt werden soll. | Ja |
| Berechtigungs-Domänenname | 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 |
| Umfang | 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 |
| Steckverbinder-Endpunkt | Optional: Der Endpunkt der OSDU-Admin-UI-Connector-API, der für die Admin-UI verwendet werden soll. | Nein |
| GCZ-Endpunkt |
Optional: GCZ-Basisendpunkt endet mit /gcz/. Beispiel: https://contoso.energy.azure.com/api/gcz/. GCZ muss bereits separat bereitgestellt werden. |
Nein |
| Privates Netzwerk aktivieren | Optional: Ermöglichen Sie den privaten Netzwerkzugriff auf die OSDU-Admin-Benutzeroberfläche. | Nein |
| Protokollierung aktivieren | Optional: Aktivieren Sie die Protokollierung für die OSDU-Administrator-Benutzeroberfläche. | Nein |
Benutzerdefinierte Bereitstellung mit einer statischen Website im Azure-Speicherkonto
Vorbereiten Ihres Computers
- Installieren Sie Visual Studio Code with Dev Containers. Sie können die OSDU-Administrator-Benutzeroberfläche auf Ihrem lokalen Computer mithilfe von Linux oder Windows-Subsystem für Linux (WSL) bereitstellen. Es wird empfohlen, einen Dev-Container zu verwenden, um Tool- und Umgebungskonflikte zu reduzieren.
Einrichten der Umgebung
Verwenden Sie einen Dev-Container in Visual Studio Code, um Konflikte mit lokal installierten Tools zu reduzieren.
Wählen Sie
Remote - Containers | Openaus, um einen Entwicklungscontainer zu öffnen und das Repository für die OSDU-Administratorbenutzeroberfläche zu klonen.Akzeptieren Sie die Eingabeaufforderung zum Klonen.
Wenn Sie zur Eingabe einer Containerkonfigurationsvorlage aufgefordert werden:
- Wählen Sie Ubuntu aus.
- Übernehmen Sie die Standardversion.
- Fügen Sie keine zusätzlichen Features hinzu.
Nach ein paar Minuten läuft der Entwicklungscontainer.
Öffnen Sie das Terminal.
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 20.19.6 && \ export NG_CLI_ANALYTICS=false && \ npm install -g @angular/cli@13.3.9 && \ sudo apt-get update && \ sudo apt-get install -y jq && \ curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bashMelden Sie sich bei Azure CLI an, indem Sie den Befehl im Terminal ausführen.
az loginGeben Sie Ihre Anmeldeinformationen ein, und überprüfen Sie, ob die Anmeldung erfolgreich ist.
Überprüfen Sie, ob Sie das richtige Abonnement verwenden.
az account showÄndern Sie bei Bedarf das Abonnement.
az account set --subscription <subscription-id>
Konfigurieren von Umgebungsvariablen
Geben Sie die erforderlichen Umgebungsvariablen im Terminal ein.
export WEBSITE_NAME="" ## Unique name of the static website storage account. The storage account name must be between 3 and 24 characters in length and contain only numbers and lower-case letters. export RESOURCE_GROUP="" ## Name of the resource group export LOCATION="" ## Azure region to deploy to, for example "westeurope"
Speicherkonto bereitstellen
Erstellen Sie die Ressourcengruppe. Überspringen Sie diesen Schritt, wenn die Ressourcengruppe bereits vorhanden ist.
az group create \ --name $RESOURCE_GROUP \ --location $LOCATIONErstellen Sie das Speicherkonto.
az storage account create \ --resource-group $RESOURCE_GROUP \ --location $LOCATION \ --name $WEBSITE_NAME \ --sku Standard_LRS \ --public-network-access Enabled \ --allow-blob-public-access trueKonfigurieren Sie die statische Website.
az storage blob service-properties update \ --account-name $WEBSITE_NAME \ --static-website \ --404-document index.html \ --index-document index.htmlLegen Sie
$webContainerberechtigungen fest, um anonymen Zugriff zu ermöglichen.az storage container set-permission \ --name '$web' \ --account-name $WEBSITE_NAME \ --public-access blob
Konfigurieren der Website
Navigieren Sie zum Ordner
OSDUApp.cd OSDUApp/Kopieren Sie die Azure
routing.tsDatei.cp providers/azure/routing.ts src/app/routing.tsInstallieren Sie die Abhängigkeiten.
npm installÄndern Sie die Parameter in der Konfigurationsdatei unter
/src/config/config.json.
Ersetzen Sie die Umgebungsvariablenwerte durch Werte für Ihre Bereitstellung.
export OSDU_ENDPOINT="" # Endpoint of the Azure Data Manager for Energy or OSDU instance to connect to, ending with /api/ . Example: https://contoso.energy.azure.com/api/
export DATA_PARTITION_ID="" # ADME Data Partition ID, or comma-separated list if using multiple partitions
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, for example "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
export REDIRECT_URI="" # This is your static website URL, for example https://<storage-account-name>.z21.web.core.windows.net/
export GCZ_ENDPOINT="" # Optional. Base GCZ service endpoint ending with /gcz/ . Example: https://contoso.energy.azure.com/api/gcz/
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 appinsights "$APPINSIGHTS_INSTRUMENTATIONKEY" \
--arg connectorapi "$OSDU_CONNECTOR_API_ENDPOINT" \
--arg gcz "$GCZ_ENDPOINT" \
'
.settings.appInsights.instrumentationKey = $appinsights |
.settings.data_partition = ($data | split(",")) |
.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.wddms_endpoint = $endpoint |
.settings.api_endpoints.gcz_endpoint = $gcz
' \
src/config/config.json > src/config/temp.json && \
mv src/config/temp.json src/config/config.json