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
Un registro de aplicaciones de Microsoft Entra ID.
Este registro de aplicaciones puede ser el mismo que el que se usa para la instancia de Azure Data Manager for Energy. Los siguientes permisos de API son necesarios en el registro de aplicaciones para que la interfaz de usuario de administración funcione correctamente.Tras iniciar sesión en la interfaz de usuario de administración, se le solicitan los permisos necesarios. También puede conceder los permisos necesarios de antemano. Consulte Documentación del permiso de API de registro de aplicaciones.
Opciones de implementación
Hay dos opciones de implementación para la interfaz de usuario de administrador de OSDU:
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.
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
Seleccione el botón
Deploy to Azure
para implementar la interfaz de usuario de administrador de OSDU mediante Azure Container Apps.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.
Seleccione Revisar y crear y, a continuación, Crear para implementar la interfaz de usuario de administrador de OSDU.
Compruebe la sección
Outputs
de la dirección URL de la interfaz de usuario de administrador de OSDU implementada.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.
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. | Sí |
Resource group | El grupo de recursos en el que se va a implementar la interfaz de usuario de administrador de OSDU. | Sí |
Region | La región de Azure en la que se va a implementar la interfaz de usuario de administrador de OSDU. | Sí |
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 | Sí |
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. | Sí |
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. | Sí |
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. | Sí |
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. |
Sí |
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. | Sí |
Á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. | Sí |
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
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.
Seleccione
Remote - Containers | Open
para abrir un contenedor de desarrollo y clonar el repositorio de la interfaz de usuario de administración de OSDU.Acepte el mensaje de clonación.
Cuando se le solicite una plantilla de configuración de contenedor.
- Seleccione Ubuntu
- Acepte la versión predeterminada.
- No agregue ninguna característica adicional.
Después de unos minutos, el devcontainer se ejecutará.
Abra el terminal.
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
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
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.
Asegúrese de que está usando la suscripción correcta.
az account show
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
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
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
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
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
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
Vaya a la carpeta
OSDUApp
.cd OSDUApp/
Copie el archivo routing.ts de Azure.
cp providers/azure/routing.ts src/app/routing.ts
Instale las dependencias.
npm install
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