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

Opções de implantação

Há duas opções de implantação para a interface do usuário do administrador 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 do administrador do OSDU. Ele dá suporte a implantações públicas e privadas.

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

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

    Implantar 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 Examinar + criar e, em seguida, Criar para implantar a interface do usuário do administrador do OSDU.

  4. Verifique a seção Outputs para obter a URL da interface do usuário de administrador do OSDU implantada.

  5. Configure a política ADME CORS e o URI de redirecionamento do SPA de Registro de Aplicativo 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 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

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

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

    Abrir no 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 o valor padrão.
    3. Não adicione nenhum recurso extra.
  5. Após alguns minutos, o devcontainer estará em execução.

    Captura de tela que mostra a execução do contêiner de desenvolvimento.

  6. Abra o terminal.

    Captura de tela que mostra a abertura do terminal.

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

    Captura de tela que mostra a instalação.

  8. Entre na CLI do Azure executando o comando no terminal. Ele leva você para a tela de entrada.

    az login
    
  9. Ele leva você para a tela de entrada. Insira suas credenciais e, após o sucesso, você verá uma mensagem de sucesso.

    Captura de tela que mostra o logon bem-sucedido.

  10. Valide se você está usando a assinatura correta.

    az account show
    
  11. Se necessário, use esse 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. Crie o grupo de recursos. Ignore esta etapa se o grupo de recursos já existir.

    az group create \
        --name $RESOURCE_GROUP \
        --location $LOCATION
    
  2. 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
    
  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 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

  1. Navegue até a pasta OSDUApp.

    cd OSDUApp/
    
  2. Copie o arquivo de 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 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.

  1. Crie a interface do usuário da web.

    ng build
    
  2. Faça upload do build na conta de armazenamento.

    az storage blob upload-batch \
        --account-name $WEBSITE_NAME \
        --source ./dist/OSDUApp \
        --destination '$web' \
        --overwrite
    
  3. Busque o URL do site.

    echo $REDIRECT_URI
    
  4. Configure a política ADME CORS e o URI de redirecionamento do SPA de Registro de Aplicativo com a URL do site.

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