Distribuire l'interfaccia utente dell'amministratore OSDU in Azure Data Manager per l'energia
Questa guida illustra come distribuire l'interfaccia utente di amministrazione osDU nell'istanza di Azure Data Manager for Energy (ADME).
L'interfaccia utente amministratore OSDU consente agli amministratori della piattaforma di gestire la partizione di dati di Azure Data Manager per l'energia a cui ci si connette. Le attività di gestione includono diritti (gestione di utenti e gruppi), tag legali, schemi, dati di riferimento, visualizzazione e visualizzazione di oggetti su una mappa.
Prerequisiti
Istanza di Azure Data Manager per l'energia.
Registrazione dell'app Microsoft Entra ID.
Questa registrazione dell'app può essere uguale a quella usata per l'istanza di Azure Data Manager per l'energia. Per il corretto funzionamento dell'interfaccia utente amministratore sono necessarie le autorizzazioni API seguenti per la registrazione dell'app.Al primo accesso all'interfaccia utente amministratore, richiede le autorizzazioni necessarie. È anche possibile concedere in anticipo le autorizzazioni necessarie. Vedere la documentazione relativa all'autorizzazione dell'API di registrazione app.
Opzioni di distribuzione
Sono disponibili due opzioni di distribuzione per l'interfaccia utente di amministrazione osDU:
Distribuzione rapida con App Azure Container: distribuzione con un solo clic con App Contenitore di Azure. Questa distribuzione è il modo più semplice e rapido per distribuire l'interfaccia utente di amministrazione osDU. Supporta distribuzioni sia pubbliche che private.
Distribuzione personalizzata usando Archiviazione di Azure sito Web statico dell'account: compilare e distribuire l'interfaccia utente amministratore OSDU usando Archiviazione di Azure Account. Questa opzione di distribuzione è più personalizzabile e consente di configurare la distribuzione in base alle proprie esigenze.
Distribuzione rapida con app Azure Container
Selezionare il
Deploy to Azure
pulsante per distribuire l'interfaccia utente di amministrazione OSDU usando App Contenitore di Azure.Compilare i parametri obbligatori nella portale di Azure. Per altre informazioni sui parametri, vedere la sezione parametri per altre informazioni.
Selezionare Rivedi e crea e quindi Crea per distribuire l'interfaccia utente amministratore OSDU.
Controllare la
Outputs
sezione relativa all'URL dell'interfaccia utente di amministrazione di OSDU distribuita.Configurare il criterio CORS DI ADME e l'URI di reindirizzamento dell'APPLICAZIONE registrazione app con l'URL del sito Web.
Aprire l'URL in un browser e verificare che funzioni correttamente e connesso all'istanza corretta di Azure Data Manager per l'energia.
Parametri
Parametro | Descrizione | Richiesto |
---|---|---|
Abbonamento | Sottoscrizione di Azure in cui distribuire l'interfaccia utente amministratore OSDU. | Sì |
Gruppo di risorse | Gruppo di risorse in cui distribuire l'interfaccia utente amministratore OSDU. | Sì |
Paese | Area di Azure in cui distribuire l'interfaccia utente amministratore OSDU. | Sì |
Nome | Nome dell'istanza dell'interfaccia utente amministratore OSDU. Altre risorse usano questo nome come nome di base e aggiungono un'abbreviazione del servizio | Sì |
Immagine del contenitore | Immagine del contenitore da usare per l'interfaccia utente di amministrazione OSDU. Per le immagini disponibili, vedere Registro contenitori dell'interfaccia utente amministratore del forum OSDU. | Sì |
Osdu Endpoint | Endpoint dell'istanza di Azure Data Manager per Energia o OSDU a cui connettersi. | Sì |
ID partizione dati | ID partizione dati dell'istanza di Azure Data Manager per Energia o OSDU a cui connettersi. | Sì |
Nome di dominio entitlement | Nome di dominio da usare per il servizio entitlement. Mantenere .dataservices.energy per qualsiasi distribuzione DI ADME, aggiornare solo se si usa un'altra implementazione OSDU. |
Sì |
ID client | ID client della registrazione dell'app da usare per l'interfaccia utente amministratore OSDU. | Sì |
Ambito | Ambito della registrazione dell'app usata da Azure Data Manager per Energia o OSDU. Se l'ID client è la registrazione dell'app ADME, è possibile lasciare questa impostazione predefinita. | Sì |
Endpoint connettore | Facoltativo: endpoint dell'API del connettore dell'interfaccia utente amministratore OSDU da usare per l'interfaccia utente di amministrazione. | No |
Abilitare la rete privata | Facoltativo: abilitare l'accesso alla rete privata all'interfaccia utente di amministrazione osDU. | No |
Abilita registrazione | Facoltativo: abilitare la registrazione per l'interfaccia utente di amministrazione osDU. | No |
Distribuzione personalizzata con Archiviazione di Azure sito Web statico dell'account
Preparare il computer
- Installare Visual Studio Code con i contenitori di sviluppo. È possibile distribuire l'interfaccia utente amministratore OSDU dal computer locale usando Linux o sottosistema Windows per Linux (WSL), è consigliabile usare un contenitore di sviluppo per eliminare potenziali conflitti di versioni degli strumenti, ambienti e così via.
Impostazione dell'ambiente
Usare il contenitore di sviluppo in Visual Studio Code per distribuire l'interfaccia utente di amministrazione OSDU per eliminare i conflitti dal computer locale.
Selezionare questa opzione
Remote - Containers | Open
per aprire un contenitore di sviluppo e clonare il repository dell'interfaccia utente di amministrazione OSDU.Accettare la richiesta di clonazione.
Quando viene richiesto un modello di configurazione del contenitore.
- Selezionare Ubuntu.
- Accettare la versione predefinita.
- Non aggiungere funzionalità aggiuntive.
Dopo alcuni minuti, devcontainer è in esecuzione.
Aprire il terminale.
Installare l'interfaccia della riga di comando di Angular, l'interfaccia della riga di comando di Azure, npm e 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
Accedere all'interfaccia della riga di comando di Azure eseguendo il comando nel terminale. Viene visualizzata la schermata di accesso.
az login
Viene visualizzata la schermata di accesso. Immettere le credenziali e, al termine dell'operazione, viene visualizzato un messaggio di operazione riuscita.
Verificare di usare la sottoscrizione corretta.
az account show
Se necessario, usare questo codice per modificare la sottoscrizione.
az account set --subscription <subscription-id>
Configurare le variabili di ambiente
Immettere le variabili di ambiente necessarie nel terminale.
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"
Distribuire l'account di archiviazione
Creare un gruppo di risorse. Ignorare questo passaggio se il gruppo di risorse esiste già.
az group create \ --name $RESOURCE_GROUP \ --location $LOCATION
Creare un account di archiviazione.
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
Configurare il sito Web statico.
az storage blob service-properties update \ --account-name $WEBSITE_NAME \ --static-website \ --404-document index.html \ --index-document index.html
Impostare $web autorizzazioni contenitore per consentire l'accesso anonimo.
az storage container set-permission \ --name '$web' \ --account-name $WEBSITE_NAME \ --public-access blob
Creare e distribuire l'app Web
Passa alla cartella
OSDUApp
.cd OSDUApp/
Copiare il file routing.ts di Azure.
cp providers/azure/routing.ts src/app/routing.ts
Installa le dipendenze.
npm install
Modificare i parametri nel file di configurazione che si trova in
/src/config/config.json
.
Sostituire i valori delle variabili di ambiente con i valori.
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