Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
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 Azure Data Manager for Energy à qual ele se conecta. As tarefas de gerenciamento incluem direitos (gerenciamento de usuário e grupo), marcas legais, esquemas, dados de referência e 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 Azure Data Manager for Energy. As permissões de API a seguir são necessárias no registro do aplicativo para que a interface do usuário do administrador funcione corretamente.Após a primeira entrada na interface do usuário do administrador, o aplicativo solicita as permissões necessárias. Você também pode conceder as permissões necessárias com antecedência. Para obter mais informações, consulte Configurar o acesso do aplicativo às APIs Web.
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: uma implantação de um clique usando Aplicativos de Contêiner do Azure. Essa opção é a maneira mais rápida de implantar a interface do usuário do administrador do OSDU e dá suporte a implantações públicas e privadas.
- Implantação personalizada usando o Site Estático da Conta de Armazenamento do Azure: Compile e implante a interface administrativa do OSDU usando o Site Estático da Conta de Armazenamento do Azure. Essa opção é mais personalizável e permite que você adapte a implantação aos seus requisitos.
Implantação rápida com Aplicativos de Contêiner do Azure
Selecione o botão
Deploy to Azurepara 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.
Selecione Examinar + criar e, em seguida, Criar para implantar a interface do usuário do administrador do OSDU.
Verifique a seção
Outputspara 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 na qual será implantada a interface de administração do OSDU. | Sim |
| Grupo de recursos | O grupo de recursos no qual implantar a interface do usuário do administrador do OSDU. | Sim |
| Região | A região do Azure na qual implantar a interface de administração do OSDU. | Sim |
| Nome | O nome da instância da UI 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 UI de administração do OSDU. Consulte o Registro de Contêiner da Interface do Usuário Administrativo do Fórum OSDU para ver imagens disponíveis. | Sim |
| Ponto de Extremidade de OSDU | O ponto de extremidade da instância do Gerenciador de Dados do Azure para Energia ou do OSDU à qual se conectar. Use o ponto de extremidade ADME base. A implantação o normaliza para o ambiente de execução do contêiner. | Sim |
| IDs da Partição de Dados | Lista de IDs de partição de dados, separada por vírgulas, do Azure Data Manager for Energy ou da instância do OSDU à qual se conectar. | Sim |
| Nome de domínio de direitos | O nome de domínio a ser usado para o serviço de autorizações. Mantenha .dataservices.energy para qualquer implantação do ADME, atualize somente se você estiver usando outra implementação de OSDU. |
Sim |
| ID do Cliente | O ID do cliente do registro do aplicativo a ser usado na interface administrativa do OSDU. | Sim |
| Scope | O escopo do Registro de Aplicativo utilizado pelo Azure Data Manager for Energy 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 da interface administrativa do OSDU a ser usado para a interface administrativa. | Não |
| Ponto de Extremidade de GCZ |
Opcional: ponto de extremidade GCZ base terminando com /gcz/. Exemplo: https://contoso.energy.azure.com/api/gcz/. O GCZ já deve estar implantado separadamente. |
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 de log para a interface do usuário 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. Você pode implantar a interface do usuário do administrador do OSDU em seu computador local usando Linux ou Subsistema do Windows para Linux (WSL). É recomendável usar um Contêiner de Desenvolvimento para reduzir os conflitos de ferramentas e de ambiente.
Configuração do ambiente
Use um contêiner de desenvolvimento em Visual Studio Code para reduzir conflitos com ferramentas instaladas localmente.
Selecione
Remote - Containers | Openpara 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 for solicitado 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 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 bashFaça logon na CLI do Azure executando o comando no terminal.
az loginInsira suas credenciais e verifique se a entrada foi bem-sucedida.
Valide se você está usando a assinatura correta.
az account showSe necessário, altere 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 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"
Implantar conta de armazenamento
Crie o grupo de recursos. Ignore esta etapa caso o grupo de recursos já exista.
az group create \ --name $RESOURCE_GROUP \ --location $LOCATIONCrie a 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 trueConfigure o site estático.
az storage blob service-properties update \ --account-name $WEBSITE_NAME \ --static-website \ --404-document index.html \ --index-document index.htmlDefina
$webpermissões de contêiner para permitir acesso anônimo.az storage container set-permission \ --name '$web' \ --account-name $WEBSITE_NAME \ --public-access blob
Configuração do site
Navegue até a pasta
OSDUApp.cd OSDUApp/Copie o arquivo do Azure
routing.ts.cp providers/azure/routing.ts src/app/routing.tsInstale as dependências.
npm installModifique os parâmetros no arquivo de configuração localizado em
/src/config/config.json.
Substitua os valores da variável de ambiente por valores para sua implantação.
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