Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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 el Azure Data Manager para la partición de datos de energía a la que se conecta. Las tareas de administración incluyen derechos (administración de usuarios y grupos), etiquetas legales, esquemas, datos de referencia y visualización y visualización de objetos en un mapa.
Requisitos previos
Un Registro de la Aplicación de Microsoft Entra ID.
Este registro de aplicación 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 la aplicación para que la interfaz de usuario de administrador funcione correctamente.Tras el primer inicio de sesión en la interfaz de usuario de administrador, la aplicación solicita los permisos necesarios. También puede conceder los permisos necesarios de antemano. Para obtener más información, consulte Configuración del acceso de aplicaciones a las API web.
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 opción es la manera más rápida de implementar la interfaz de usuario de administrador de OSDU y admite implementaciones públicas y privadas.
- Implementación personalizada mediante la característica Sitio web estático de la cuenta de Azure Storage: compile e implemente la interfaz de usuario de administración de OSDU mediante la característica Sitio web estático de la cuenta de Azure Storage. Esta opción es más personalizable y le permite adaptar la implementación a sus requisitos.
Implementación rápida con Azure Container Apps
Seleccione el botón
Deploy to Azurepara 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 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
Outputsde la dirección URL de la interfaz de usuario de administrador de OSDU implementada.Configure la política ADME CORS y la URI de redireccionamiento SPA de registro de aplicaciones con la 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 |
|---|---|---|
| Suscripción | La suscripción de Azure en la que se va a implementar la UI de administración de OSDU. | Sí |
| Grupo de recursos | El grupo de recursos en el que se va a implementar la interfaz de usuario de administrador de OSDU. | Sí |
| Región | 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 el Container Registry de la IU de administración del foro 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 o de OSDU al que se debe conectar. Utilice el punto de conexión base de ADME. La implementación la normaliza para el entorno de ejecución del contenedor. | Sí |
| Identificadores de partición de datos | Lista separada por comas de identificadores de partición de datos de la instancia de Azure Data Manager for Energy o 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 | El ID de cliente del registro de la aplicación que se utilizará para la IU de administración de OSDU. | Sí |
| Ámbito | El ámbito del registro de aplicaciones usado por Azure Data Manager para Energy o OSDU. Si el Client ID es el registro de aplicaciones de ADME, puede dejar este valor predeterminado. | Sí |
| Extremo del conector | Opcional: El punto de conexión de la API del conector de la IU de administración de OSDU que se utilizará para la IU de administración. | No |
| Punto de conexión de GCZ |
Opcional: Punto de conexión de GCZ base que termina con /gcz/. Ejemplo: https://contoso.energy.azure.com/api/gcz/. GCZ ya debe estar implementado por separado. |
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
Prepare su equipo
- Instale Visual Studio Code con contenedores de desarrollo. Puede 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 reducir los conflictos de herramientas y entorno.
Configuración del entorno
Use un contenedor de desarrollo en Visual Studio Code para reducir los conflictos con las herramientas instaladas localmente.
Seleccione
Remote - Containers | Openpara 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 20.19.6 && \ export NG_CLI_ANALYTICS=false && \ npm install -g @angular/cli@13.3.9 && \ sudo apt-get update && \ sudo apt-get install -y jq && \ curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bashInicie sesión en CLI de Azure ejecutando el comando en el terminal.
az loginEscriba sus credenciales y compruebe que el inicio de sesión se realiza correctamente.
Asegúrese de que está usando la suscripción correcta.
az account showSi es necesario, cambie 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 website storage account. The storage account name must be between 3 and 24 characters in length and contain only numbers and lower-case letters. export RESOURCE_GROUP="" ## Name of the resource group export LOCATION="" ## Azure region to deploy to, for example "westeurope"
Desplegar cuenta de almacenamiento
Cree el grupo de recursos. Omita este paso si el grupo de recursos ya existe.
az group create \ --name $RESOURCE_GROUP \ --location $LOCATIONCree la 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 trueConfiguració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.htmlEstablezca
$webpermisos de contenedor para permitir el acceso anónimo.az storage container set-permission \ --name '$web' \ --account-name $WEBSITE_NAME \ --public-access blob
Configuración del sitio web
Vaya a la carpeta
OSDUApp.cd OSDUApp/Copie el archivo Azure
routing.ts.cp providers/azure/routing.ts src/app/routing.tsInstale las dependencias.
npm installModifique los parámetros del archivo de configuración ubicado en
/src/config/config.json.
Reemplace los valores de las variables de entorno por los valores de la implementación.
export OSDU_ENDPOINT="" # Endpoint of the Azure Data Manager for Energy or OSDU instance to connect to, ending with /api/ . Example: https://contoso.energy.azure.com/api/
export DATA_PARTITION_ID="" # ADME Data Partition ID, or comma-separated list if using multiple partitions
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, for example "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
export REDIRECT_URI="" # This is your static website URL, for example https://<storage-account-name>.z21.web.core.windows.net/
export GCZ_ENDPOINT="" # Optional. Base GCZ service endpoint ending with /gcz/ . Example: https://contoso.energy.azure.com/api/gcz/
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 appinsights "$APPINSIGHTS_INSTRUMENTATIONKEY" \
--arg connectorapi "$OSDU_CONNECTOR_API_ENDPOINT" \
--arg gcz "$GCZ_ENDPOINT" \
'
.settings.appInsights.instrumentationKey = $appinsights |
.settings.data_partition = ($data | split(",")) |
.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.wddms_endpoint = $endpoint |
.settings.api_endpoints.gcz_endpoint = $gcz
' \
src/config/config.json > src/config/temp.json && \
mv src/config/temp.json src/config/config.json