Condividi tramite


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:

  1. 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.

  2. 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

  1. Selezionare il Deploy to Azure pulsante per distribuire l'interfaccia utente di amministrazione OSDU usando App Contenitore di Azure.

    Distribuisci in Azure

  2. Compilare i parametri obbligatori nella portale di Azure. Per altre informazioni sui parametri, vedere la sezione parametri per altre informazioni.

    Screenshot che mostra il modulo di distribuzione portale di Azure.

  3. Selezionare Rivedi e crea e quindi Crea per distribuire l'interfaccia utente amministratore OSDU.

  4. Controllare la Outputs sezione relativa all'URL dell'interfaccia utente di amministrazione di OSDU distribuita.

  5. Configurare il criterio CORS DI ADME e l'URI di reindirizzamento dell'APPLICAZIONE registrazione app con l'URL del sito Web.

  6. 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.
Gruppo di risorse Gruppo di risorse in cui distribuire l'interfaccia utente amministratore OSDU.
Paese Area di Azure in cui distribuire l'interfaccia utente amministratore OSDU.
Nome Nome dell'istanza dell'interfaccia utente amministratore OSDU. Altre risorse usano questo nome come nome di base e aggiungono un'abbreviazione del servizio
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.
Osdu Endpoint Endpoint dell'istanza di Azure Data Manager per Energia o OSDU a cui connettersi.
ID partizione dati ID partizione dati dell'istanza di Azure Data Manager per Energia o OSDU a cui connettersi.
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.
ID client ID client della registrazione dell'app da usare per l'interfaccia utente amministratore OSDU.
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.
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

  1. Usare il contenitore di sviluppo in Visual Studio Code per distribuire l'interfaccia utente di amministrazione OSDU per eliminare i conflitti dal computer locale.

  2. Selezionare questa opzione Remote - Containers | Open per aprire un contenitore di sviluppo e clonare il repository dell'interfaccia utente di amministrazione OSDU.

    Aprire in remoto - Contenitori

  3. Accettare la richiesta di clonazione.

    Screenshot che mostra la clonazione del repository.

  4. Quando viene richiesto un modello di configurazione del contenitore.

    1. Selezionare Ubuntu.
    2. Accettare la versione predefinita.
    3. Non aggiungere funzionalità aggiuntive.
  5. Dopo alcuni minuti, devcontainer è in esecuzione.

    Screenshot che mostra l'esecuzione di devcontainer.

  6. Aprire il terminale.

    Screenshot che mostra l'apertura del terminale.

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

    Screenshot che mostra l'installazione.

  8. Accedere all'interfaccia della riga di comando di Azure eseguendo il comando nel terminale. Viene visualizzata la schermata di accesso.

    az login
    
  9. Viene visualizzata la schermata di accesso. Immettere le credenziali e, al termine dell'operazione, viene visualizzato un messaggio di operazione riuscita.

    Screenshot che mostra l'accesso riuscito.

  10. Verificare di usare la sottoscrizione corretta.

    az account show
    
  11. Se necessario, usare questo codice per modificare la sottoscrizione.

    az account set --subscription <subscription-id>
    

Configurare le variabili di ambiente

  1. 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

  1. Creare un gruppo di risorse. Ignorare questo passaggio se il gruppo di risorse esiste già.

    az group create \
        --name $RESOURCE_GROUP \
        --location $LOCATION
    
  2. 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
    
  3. 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
    
  4. 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

  1. Passa alla cartella OSDUApp.

    cd OSDUApp/
    
  2. Copiare il file routing.ts di Azure.

    cp providers/azure/routing.ts src/app/routing.ts
    
  3. Installa le dipendenze.

    npm install
    
  4. 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