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
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. 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.Após a primeira entrada na interface do usuário do administrador, ela solicita 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 de API de Registro de Aplicativo.
Opções de implantação
Há duas opções de implantação para a interface do usuário do administrador do OSDU:
Implantação rápida usando Aplicativos de Contêiner do Azure: implantação com um clique usando Aplicativos de Contêiner do Azure. Essa implantação é a maneira mais fácil e rápida de implantar a interface do usuário do administrador do OSDU. Ele dá suporte a implantações públicas e privadas.
Implantação personalizada usando o Site Estático da Conta de Armazenamento do Microsoft Azure: crie e implante a interface do usuário do administrador do OSDU usando a Conta de Armazenamento do Azure. Essa opção de implantação é mais personalizável e permite que você configure a implantação de acordo com suas necessidades.
Implantação rápida com Aplicativos de Contêiner do Azure
Selecione o botão
Deploy to Azure
para implantar a interface do usuário do administrador do OSDU usando os Aplicativos de Contêiner do Azure.Preencha os parâmetros necessários no portal do Azure. Para obter mais informações sobre os parâmetros, consulte a seção de parâmetros para obter mais informações.
Selecione Examinar + criar e, em seguida, Criar para implantar a interface do usuário do administrador do OSDU.
Verifique a seção
Outputs
para obter a URL da interface do usuário de administrador do OSDU implantada.Configure a política ADME CORS e o URI de redirecionamento do SPA de Registro de Aplicativo com a URL do site.
Abra a URL em um navegador e valide se ela está funcionando corretamente e conectada à instância correta do Gerenciador de Dados do Azure para Energia.
Parâmetros
Parâmetro | Descrição | Obrigatório |
---|---|---|
Assinatura | A assinatura do Azure para a qual implantar a interface do usuário do administrador do OSDU. | Sim |
Grupo de recursos | O grupo de recursos para o qual implantar a interface do usuário do administrador do OSDU. | Sim |
Region | A região do Azure para a qual implantar a interface do usuário do administrador do OSDU. | Sim |
Nome | O nome da instância da interface do usuário do administrador do OSDU. Outros recursos usam esse nome como o nome base e acrescentam uma abreviação de serviço | Sim |
Imagem do contêiner | A imagem de contêiner a ser usada para a interface do usuário do administrador do OSDU. Consulte o Registro de Contêiner de Interface do Usuário do Administrador do Fórum da OSDU para obter imagens disponíveis. | Sim |
Ponto de Extremidade do Osdu | O ponto de extremidade da instância do Gerenciador de Dados do Azure para Energia ou OSDU à qual se conectar. | Sim |
ID da Partição de Dados | A ID de partição de dados da instância do Gerenciador de Dados do Azure para Energia ou OSDU à qual se conectar. | Sim |
Nome de domínio de direitos | O nome de domínio a ser usado para o serviço de direitos. Mantenha .dataservices.energy para qualquer implantação do ADME, atualize somente se você estiver usando outra implementação de OSDU. |
Sim |
ID do Cliente | A ID do cliente do Registro de Aplicativo a ser usada para a interface do usuário do administrador do OSDU. | Sim |
Escopo | O escopo do Registro de Aplicativo usado pelo Gerenciador de Dados do Azure para Energia ou OSDU. Se a ID do cliente for o Registro de Aplicativo do ADME, você poderá deixar esse padrão. | Sim |
Ponto de extremidade do conector | Opcional: o ponto de extremidade da API do Conector de Interface do Usuário do Administrador do OSDU a ser usado para a interface do usuário do administrador. | Não |
Habilitar Rede Privada | Opcional: habilite o acesso à rede privada para a interface do usuário do administrador do OSDU. | Não |
Habilitar Registro em Log | Opcional: habilite o registro em log para a interface do usuário do administrador do OSDU. | Não |
Implantação personalizada usando o Site Estático da Conta de Armazenamento do Microsoft Azure
Preparar o computador
- 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.
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 && \ apt-get install jq -y && \ 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 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
Criar e implantar o aplicativo Web
Navegue até a pasta
OSDUApp
.cd OSDUApp/
Copie o arquivo de routing.ts do Azure.
cp providers/azure/routing.ts src/app/routing.ts
Instale as dependências.
npm install
Modifique os parâmetros no arquivo de configuração localizado em
/src/config/config.json
.
Substitua os valores das variáveis de ambiente por seus 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
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
Configure a política ADME CORS e o URI de redirecionamento do SPA de Registro de Aplicativo com a URL do site.
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.
Adicionar política CORS
Para que a interface do usuário do administrador funcione corretamente, você precisa adicionar o URI de redirecionamento à política CORS na instância do Gerenciador de Dados do Azure para Energia. Saiba como adicionar uma política CORS à instância do Gerenciador de Dados do Azure para Energia, consulte a documentação da política do CORS.
Adicionar URI de redirecionamento ao Registro de Aplicativo
Você precisa adicionar o URI de redirecionamento como um aplicativo de página única ao Registro de Aplicativo usado pela interface do usuário do administrador. Para configurar o URI de redirecionamento, siga as etapas na documentação Adicionar URI de redirecionamento ao Registro de Aplicativo.
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.