Share via


Implementación de la interfaz de usuario de administrador de OSDU sobre Azure Data Manager for Energy

En esta guía se muestra cómo implementar la interfaz de usuario de administrador de OSDU sobre la instancia de Azure Data Manager for Energy (ADME).

La interfaz de usuario de administrador de OSDU permite a los administradores de plataforma administrar la partición de datos de Azure Data Manager for Energy a la que se conecta. Las tareas de administración incluyen derechos (administración de usuarios y grupos), etiquetas legales, esquemas, datos de referencia, vista y visualización de objetos en un mapa.

Requisitos previos

Configuración del entorno

  1. Use el contenedor de desarrollo en Visual Studio Code para implementar la interfaz de usuario de administrador de OSDU para eliminar conflictos de la máquina local.

  2. Seleccione Remote - Containers | Open para abrir un contenedor de desarrollo y clonar el repositorio de la interfaz de usuario de administración de OSDU.

    Abrir en Remoto: contenedores

  3. Acepte el mensaje de clonación.

    Captura de pantalla que muestra la clonación del repositorio.

  4. Cuando se le solicite una plantilla de configuración de contenedor.

    1. Seleccione Ubuntu
    2. Acepte la versión predeterminada.
    3. No agregue ninguna característica adicional.
  5. Después de unos minutos, el devcontainer se ejecutará.

    Captura de pantalla que muestra la ejecución de devcontainer.

  6. Abra el terminal.

    Captura de pantalla que muestra la apertura del terminal.

  7. Instale la CLI de Angular, la CLI de Azure, npm y el Administrador de versiones de Node (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
    

    Captura de pantalla que muestra la instalación.

  8. Inicie sesión en la CLI de Azure ejecutando el comando en el terminal. Le llevará a la pantalla de inicio de sesión.

    az login
    
  9. Le llevará a la pantalla de inicio de sesión. Escriba sus credenciales y, después de que se realice correctamente, verá un mensaje de operación correcta.

    Captura de pantalla que muestra un inicio de sesión correcto.

  10. Asegúrese de que está usando la suscripción correcta.

    az account show
    
  11. Si es necesario, use este código para cambiar la suscripción.

    az account set --subscription <subscription-id>
    

Configuración de las variables de entorno

  1. Escriba las variables de entorno necesarias en el terminal.
     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"
    

Implementación de la cuenta de almacenamiento

  1. Creación de un grupo de recursos. Omita este paso si el grupo de recursos ya existe.

    az group create \
        --name $RESOURCE_GROUP \
        --location $LOCATION
    
  2. Cree una cuenta de almacenamiento.

    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. Configuración del sitio web estático.

    az storage blob service-properties update \
        --account-name $WEBSITE_NAME \
        --static-website \
        --404-document index.html \
        --index-document index.html
    
  4. Establezca $web permisos de contenedor para permitir el acceso anónimo.

    az storage container set-permission \
        --name '$web' \
        --account-name $WEBSITE_NAME \
        --public-access blob
    
  5. Agregue el URI de redirección al registro de aplicaciones.

    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"
    

    Captura de pantalla que muestra los URI de redirección de un registro de aplicaciones.

Compilación e implementación de la aplicación web

  1. Vaya a la carpeta OSDUApp.

    cd OSDUApp/
    
  2. Instale las dependencias.

    npm install
    
  3. Modifique los parámetros del archivo de configuración ubicado en /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/"
      }
      ...
    }
    

    Nota:

    API del conector de OSDU se crea como una interfaz entre los consumidores y las API de OSDU que encapsulan algunas llamadas y objetos de la cadena de API. Actualmente, administra todas las operaciones y acciones en objetos de proyecto y escenario.

  4. Compile la interfaz de usuario web.

    ng build
    
  5. Cargue la compilación en la cuenta de almacenamiento.

    az storage blob upload-batch \
        --account-name $WEBSITE_NAME \
        --source ./dist/OSDUApp \
        --destination '$web' \
        --overwrite
    
  6. Capture la dirección URL del sitio web.

    echo $REDIRECT_URI
    
  7. Abra la dirección URL del sitio web en el explorador y compruebe que funciona correctamente y que está conectada a la instancia correcta de Azure Data Manager for Energy.

Pasos siguientes

Una vez que la interfaz de usuario de administración funcione correctamente, puede hacer lo siguiente:

También puede ingerir datos en la instancia de Azure Data Manager for Energy:

Referencias

Para obtener información sobre la interfaz de usuario de administrador de OSDU, consulte GitLab de OSDU.
Para ver otros métodos de implementación (canalización de CI/CD de Terraform o Azure DevOps), consulte interfaz de usuario de administración de OSDU DevOps.