Compartir a través de


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

Opciones de implementación

Hay dos opciones de implementación para la interfaz de usuario de administrador de OSDU:

  1. Implementación rápida mediante Azure Container Apps: implementación con un solo clic mediante Azure Container Apps. Esta implementación es la manera más sencilla y rápida de implementar la interfaz de usuario de administrador de OSDU. Admite implementaciones públicas y privadas.

  2. Implementación personalizada mediante el sitio web estático de la cuenta de Azure Storage: compile e implemente la interfaz de usuario de administrador de OSDU mediante la cuenta de Azure Storage. Esta opción de implementación es más personalizable y le permite configurar la implementación según sus necesidades.

Implementación rápida con Azure Container Apps

  1. Seleccione el botón Deploy to Azure para implementar la interfaz de usuario de administrador de OSDU mediante Azure Container Apps.

    Implementación en Azure

  2. Rellene los parámetros necesarios en Azure Portal. Para obtener más información sobre los parámetros, consulte la sección de parámetros.

    Recorte de pantalla que muestra el formulario de implementación de Azure Portal.

  3. Seleccione Revisar y crear y, a continuación, Crear para implementar la interfaz de usuario de administrador de OSDU.

  4. Compruebe la sección Outputs de la dirección URL de la interfaz de usuario de administrador de OSDU implementada.

  5. Configure la directiva CORS de ADME y el URI de redirección del SPA de registro de aplicaciones con la dirección URL del sitio web.

  6. Abra la dirección URL en un explorador y compruebe que funciona correctamente y que está conectada a la instancia correcta de Azure Data Manager for Energy.

Parámetros

Parámetro Descripción Obligatorio
Subscription La suscripción de Azure en la que se va a implementar la interfaz de usuario de administrador de OSDU.
Resource group El grupo de recursos en el que se va a implementar la interfaz de usuario de administrador de OSDU.
Region La región de Azure en la que se va a implementar la interfaz de usuario de administrador de OSDU.
Nombre El nombre de la instancia de la interfaz de usuario de administrador de OSDU. Otros recursos usan este nombre como nombre base y anexan una abreviatura de servicio
Imagen de contenedor La imagen de contenedor que se va a usar para la interfaz de usuario de administrador de OSDU. Consulte Container Registry de la interfaz de usuario de administración del foro de OSDU para ver las imágenes disponibles.
Punto de conexión de Osdu El punto de conexión de la instancia de Azure Data Manager for Energy u OSDU a la que conectarse.
Identificador de partición de datos La identificación de partición de datos de la instancia de Azure Data Manager for Energy u OSDU a la que conectarse.
Nombre de dominio de derechos El nombre de dominio que se va a usar para el servicio de derechos. Mantenga .dataservices.energy para cualquier implementación de ADME, solo actualice si usa otra implementación de OSDU.
Id. de cliente La id. de cliente del registro de aplicaciones que se va a usar para la interfaz de usuario de administrador de OSDU.
Ámbito El ámbito del registro de aplicaciones usado por Azure Data Manager para Energy o OSDU. Si el id. de cliente es el registro de aplicaciones de ADME, puede dejar este valor predeterminado.
Punto de conexión del conector Opcional: el punto de conexión de la API del conector de la interfaz de usuario de administración de OSDU que se usará para la interfaz de usuario de administración. No
Habilitación de la red privada Opcional: habilite el acceso de red privada a la interfaz de usuario de administrador de OSDU. No
Habilitar registro Opcional: habilite el registro para la interfaz de usuario de administrador de OSDU. No

Implementación personalizada mediante el sitio web estático de la cuenta de Azure Storage

Preparación del equipo

  • Instale Visual Studio Code con contenedores de desarrollo. Es posible implementar la interfaz de usuario de administrador de OSDU desde el equipo local mediante Linux o Subsistema de Windows para Linux (WSL), se recomienda usar un contenedor de desarrollo para eliminar posibles conflictos de versiones de herramientas, entornos, etc.

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

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

  1. Vaya a la carpeta OSDUApp.

    cd OSDUApp/
    
  2. Copie el archivo routing.ts de Azure.

    cp providers/azure/routing.ts src/app/routing.ts
    
  3. Instale las dependencias.

    npm install
    
  4. Modifique los parámetros del archivo de configuración ubicado en /src/config/config.json.

Reemplace los valores de las variables de entorno por sus valores.

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