Implantar a interface do usuário do administrador do OSDU no Gerenciador de Dados do Azure para Energia
Este guia mostra como implantar a interface do usuário administrador do OSDU na instância do ADME (Gerenciador de Dados do Azure para Energia).
A interface do usuário do administrador do OSDU permite que os administradores da plataforma gerenciem a partição de dados do Gerenciador de Dados do Azure para Energia à qual você a conecta. As tarefas de gerenciamento incluem direitos (gerenciamento de usuário e grupo), marcas legais, esquemas, dados de referência, exibição e visualização de objetos em um mapa.
Pré-requisitos
Instale o Visual Studio Code com Contêineres de Desenvolvimento. É possível implantar a interface do usuário administrador do OSDU do computador local usando o Linux ou o WSL (Subsistema do Windows para Linux). Recomendamos usar um Contêiner de Desenvolvimento para eliminar possíveis conflitos de versões de ferramentas, ambientes etc.
Uma instância do Gerenciador de Dados do Azure para Energia.
Um Registro de aplicativo do Microsoft Entra ID.
Esse Registro de Aplicativo pode ser o mesmo usado para a instância do Gerenciador de Dados do Azure para Energia.Importante
As permissões de API a seguir são necessárias no Registro de Aplicativo para que a interface do usuário administrador funcione corretamente.
Ao fazer logon pela primeira vez na interface do usuário administrador, serão solicitadas as permissões necessárias. Você também pode conceder as permissões necessárias com antecedência. Consulte a Documentação da permissão da API de Registro de Aplicativo.
Configuração do ambiente
Use o Contêiner de Desenvolvimento no Visual Studio Code para implantar a interface do usuário do administrador do OSDU para eliminar conflitos do computador local.
Selecione
Remote - Containers | Open
para abrir um Contêiner de Desenvolvimento e clonar o repositório de interface do usuário do Administrador do OSDU.Aceite o prompt de clonagem.
Quando solicitado para um modelo de configuração de contêiner.
- Selecione Ubuntu.
- Aceite o valor padrão.
- Não adicione nenhum recurso extra.
Após alguns minutos, o devcontainer estará em execução.
Abra o terminal.
Instale a CLI do Angular, a CLI do Azure, o npm e o NVM (Node Version Manager).
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
Entre na CLI do Azure executando o comando no terminal. Ele leva você para a tela de entrada.
az login
Ele leva você para a tela de entrada. Insira suas credenciais e, após o sucesso, você verá uma mensagem de sucesso.
Valide se você está usando a assinatura correta.
az account show
Se necessário, use esse código para alterar a assinatura.
az account set --subscription <subscription-id>
Configurar variáveis de ambiente
- Insira as variáveis de ambiente necessárias no 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"
Implantar conta de armazenamento
Crie o grupo de recursos. Ignore esta etapa se o grupo de recursos já existir.
az group create \ --name $RESOURCE_GROUP \ --location $LOCATION
Criar conta de armazenamento.
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
Configure o site estático.
az storage blob service-properties update \ --account-name $WEBSITE_NAME \ --static-website \ --404-document index.html \ --index-document index.html
Defina permissões de contêiner $web para permitir acesso anônimo.
az storage container set-permission \ --name '$web' \ --account-name $WEBSITE_NAME \ --public-access blob
Adicione o URI de redirecionamento ao registro do aplicativo.
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"
Criar e implantar o aplicativo Web
Navegue até a pasta
OSDUApp
.cd OSDUApp/
Instale as dependências.
npm install
Modifique os parâmetros no arquivo de configuração localizado em
/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/" } ... }
Observação
API do Conector do OSDU é criada como uma interface entre consumidores e APIs do OSDU que encapsulam algumas chamadas e objetos da cadeia de API. Atualmente, ele gerencia todas as operações e ações em objetos de projeto e cenário.
Crie a interface do usuário da web.
ng build
Faça upload do build na conta de armazenamento.
az storage blob upload-batch \ --account-name $WEBSITE_NAME \ --source ./dist/OSDUApp \ --destination '$web' \ --overwrite
Busque o URL do site.
echo $REDIRECT_URI
Abra o URL do Site no navegador e valide se ele está funcionando corretamente e conectado à instância correta do Gerenciador de Dados do Azure para Energia.
Próximas etapas
Depois de ter uma interface do administrador funcionando com sucesso, você pode:
Também pode ingerir dados na sua instância do Gerenciador de Dados do Azure para Energia:
Referências
Para obter informações sobre a interface do usuário do administrador do OSDU, consulte GitLab do OSDU.
Para outros métodos de implantação (pipeline do Terraform ou do Azure DevOps) CI/CD, consulte DevOps da interface do usuário do administrador do OSDU.