Partilhar via


Implantar a interface do usuário de administração OSDU sobre o Azure Data Manager for Energy

Este guia mostra como implantar a interface do usuário de administração OSDU sobre sua instância do Azure Data Manager for Energy (ADME).

A interface do usuário de administração do OSDU permite que os administradores de plataforma gerenciem a partição de dados do Azure Data Manager for Energy à qual você a conecta. As tarefas de gerenciamento incluem direitos (gerenciamento de usuários e grupos), tags legais, esquemas, dados de referência, visualização e visualização de objetos em um mapa.

Pré-requisitos

  • Uma instância do Azure Data Manager for Energy.

  • Um Registo da Aplicação Microsoft Entra ID.
    Este Registo de Aplicação pode ser o mesmo que o utilizado para o Azure Data Manager for Energy por exemplo. As seguintes permissões de API são necessárias no Registro do aplicativo para que a interface do usuário do administrador funcione corretamente.

    Ao entrar pela primeira vez na interface do usuário do administrador, ele solicita as permissões necessárias. Você também pode conceder as permissões necessárias com antecedência. Consulte a documentação de permissão da API de registro de aplicativo.

Opções de implementação

Há duas opções de implantação para a interface do usuário de administração do OSDU:

  1. 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 de administração do OSDU. Ele suporta implantações públicas e privadas.

  2. Implantação personalizada usando o site estático da Conta de Armazenamento do Azure: crie e implante a interface do usuário de administração 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

  1. Selecione o Deploy to Azure botão para implantar a interface do usuário de administração OSDU usando os Aplicativos de Contêiner do Azure.

    Implementar no Azure

  2. 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.

    Captura de tela que mostra o formulário de implantação do portal do Azure.

  3. Selecione Rever + criar e, em seguida, Criar para implementar a IU de administração OSDU.

  4. Verifique na Outputs seção a URL da interface do usuário de administração do OSDU implantada.

  5. Configure a política ADME CORS e o URI de redirecionamento do App Registration SPA com a URL do site.

  6. Abra a URL em um navegador e valide se ela está funcionando corretamente e conectada à instância correta do Azure Data Manager for Energy.

Parâmetros

Parâmetro Descrição Obrigatório
Subscrição A assinatura do Azure para implantar a interface do usuário de administração do OSDU. Sim
Grupo de recursos O grupo de recursos no qual implantar a interface do usuário de administração do OSDU. Sim
País/Região A região do Azure na qual implantar a interface do usuário de administração do OSDU. Sim
Nome O nome da instância da interface do usuário de administração do OSDU. Outros recursos usam esse nome como o nome base e acrescentam uma abreviação de serviço Sim
Imagem de Contentor A imagem do contêiner a ser usada para a interface do usuário de administração do OSDU. Consulte OSDU Forum Admin UI Container Registry para obter as imagens disponíveis. Sim
Ponto final Osdu O ponto de extremidade da instância do Azure Data Manager for Energy ou OSDU à qual se conectar. Sim
ID da partição de dados A ID da partição de dados da instância do Azure Data Manager for Energy ou OSDU à qual se conectar. Sim
Entitlements Nome de Domínio O nome de domínio a ser usado para o serviço de direitos. Mantenha .dataservices.energy para qualquer implantação do ADME, atualize apenas se estiver usando outra implementação OSDU. Sim
ID de Cliente A ID do cliente do Registro do aplicativo a ser usado para a interface do usuário de administração do OSDU. Sim
Âmbito O escopo do Registro de Aplicativo usado pelo Azure Data Manager for Energy ou OSDU. Se a ID do Cliente for o Registro do Aplicativo ADME, você poderá deixar esse padrão. Sim
Ponto de extremidade do conector Opcional: O ponto de extremidade da API do OSDU Admin UI Connector a ser usado para a interface do usuário Admin. Não
Ativar rede privada Opcional: Habilite o acesso à rede privada para a interface do usuário de administração do OSDU. Não
Ativar registro em log Opcional: habilite o registro em log para a interface do usuário de administração do OSDU. Não

Implantação personalizada usando o site estático da conta de armazenamento do Azure

Prepare o seu computador

  • Instale o Visual Studio Code com contêineres de desenvolvimento. É possível implantar a interface do usuário de administração do OSDU a partir do seu computador local usando Linux ou Windows Subsystem for Linux (WSL), recomendamos o uso de um Dev Container para eliminar possíveis conflitos de versões de ferramentas, ambientes, etc.

Configuração do ambiente

  1. Use o contêiner de desenvolvimento no Visual Studio Code para implantar a interface do usuário de administração OSDU para eliminar conflitos de sua máquina local.

  2. Selecione Remote - Containers | Open para abrir um contêiner de desenvolvimento e clonar o repositório OSDU Admin UI.

    Abrir no controle remoto - Contêineres

  3. Aceite o prompt de clonagem.

    Captura de tela que mostra a clonagem do repositório.

  4. Quando solicitado para um modelo de configuração de contêiner.

    1. Selecione Ubuntu.
    2. Aceite a versão padrão.
    3. Não adicione recursos extras.
  5. Após alguns minutos, o devcontainer está em execução.

    Captura de tela que mostra a execução do devcontainer.

  6. Abra o terminal.

    Captura de tela que mostra o terminal de abertura.

  7. Instale a CLI Angular, a CLI do Azure, o npm e o Gerenciador de Versão do Nó (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 tela que mostra a instalação.

  8. Faça logon na CLI do Azure executando o comando no terminal. Leva-o ao ecrã de início de sessão.

    az login
    
  9. Leva-o ao ecrã de início de sessão. Insira suas credenciais e, após o sucesso, você verá uma mensagem de sucesso.

    Captura de tela que mostra o login bem-sucedido.

  10. Valide se está a utilizar a subscrição correta.

    az account show
    
  11. Se necessário, use este código para alterar a assinatura.

    az account set --subscription <subscription-id>
    

Configurar variáveis de ambiente

  1. 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

  1. Criar grupo de recursos. Ignore esta etapa se o grupo de recursos já existir.

    az group create \
        --name $RESOURCE_GROUP \
        --location $LOCATION
    
  2. Crie uma 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
    
  3. 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
    
  4. Defina $web permissões de contêiner para permitir acesso anônimo.

    az storage container set-permission \
        --name '$web' \
        --account-name $WEBSITE_NAME \
        --public-access blob
    

Criar e implementar a aplicação Web

  1. Navegue para a pasta OSDUApp.

    cd OSDUApp/
    
  2. Copie o arquivo routing.ts do Azure.

    cp providers/azure/routing.ts src/app/routing.ts
    
  3. Instale as dependências.

    npm install
    
  4. Modifique os parâmetros no arquivo de configuração localizado em /src/config/config.json.

Substitua os valores das variáveis de ambiente pelos 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