Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
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 UI de Administração OSDU permite aos administradores da plataforma gerir a partição de dados Azure Data Manager for Energy a que esta se liga. As tarefas de gestão incluem direitos (gestão de utilizadores e grupos), etiquetas legais, esquemas, dados de referência e visualização e visualização de objetos num mapa.
Pré-requisitos
Uma instância do Azure Data Manager for Energy.
Um registo de aplicação do Microsoft Entra ID.
Este registo da aplicação pode ser igual ao usado para a instância Azure Data Manager for Energy. São necessárias as seguintes permissões de API no registo da aplicação para que a Interface de Administração funcione corretamente.Ao iniciar sessão pela primeira vez na Interface de Administração, a aplicação solicita as permissões necessárias. Você também pode conceder as permissões necessárias com antecedência. Para mais informações, consulte Configurar acesso de aplicações a APIs web.
Opções de implementação
Há duas opções de implantação para a interface do usuário de administração do OSDU:
- Implementação rápida com o Azure Container Apps: Implementação com um único clique com o Azure Container Apps. Esta opção é a forma mais rápida de implementar a UI de Administração do OSDU e suporta tanto implantações públicas como privadas.
- Implementação personalizada usando o Armazenamento do Azure Account Static Website: Construa e implemente a interface administrativa do OSDU usando o Armazenamento do Azure Account Static Website. Esta opção é mais personalizável e permite-lhe adaptar a implementação às suas necessidades.
Implantação rápida com Aplicativos de Contêiner do Azure
Selecione o
Deploy to Azurebotão para implantar a interface do usuário de administração OSDU usando os Aplicativos de Contêiner do Azure.Preencha os parâmetros necessários no portal do Azure. Para mais informações sobre os parâmetros, consulte a secção de parâmetros.
Selecione Rever + criar e, em seguida, Criar para implementar a IU de administração OSDU.
Verifique na
Outputsseção a URL da interface do usuário de administração do OSDU implantada.Configure a política ADME CORS e URI de redirecionamento do App Registration SPA utilizando o URL do website.
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 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 |
| 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 utilizam este nome como nome base e acrescentam uma abreviatura de serviço. | Sim |
| Imagem de Contêiner | 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 |
| OSDU Endpoint | O ponto de extremidade da instância do Azure Data Manager for Energy ou OSDU à qual se conectar. Usa o endpoint base do ADME. A implementação normaliza-o para o tempo de execução do contentor. | Sim |
| IDs de partição de dados | Lista separada por vírgulas dos IDs das partições de dados do Azure Data Manager for Energy ou da instância OSDU à qual se pretende ligar. | 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 | O ID do cliente do Registo da Aplicação a ser utilizada para a interface de administração do utilizador 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 Connector do OSDU Admin UI a ser usado para a interface do usuário Admin. | Não |
| GCZ Endpoint |
Opcional: Endpoint de base do GCZ que termina em /gcz/. Exemplo: https://contoso.energy.azure.com/api/gcz/. O GCZ deve já estar implantado separadamente. |
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 logging | Opcional: Habilite o registo de logs para a interface 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 Visual Studio Code com Dev Containers. Pode implementar a interface de administração OSDU a partir do seu computador local usando Linux ou Subsistema Windows para Linux (WSL). Recomendamos o uso de um Contentor de Desenvolvimento para reduzir conflitos de ferramentas e ambiente.
Configuração do ambiente
Use um Contentor de Desenvolvimento no 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 OSDU Admin UI.Aceite o prompt de clonagem.
Quando lhe for solicitado um modelo de configuração de um contentor:
- Selecione Ubuntu.
- Aceite a versão padrão.
- Não adicione recursos extras.
Após alguns minutos, o devcontainer está em execução.
Abra o terminal.
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 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 bashInicie sessão no CLI do Azure executando o comando no terminal.
az loginIntroduza as suas credenciais e verifique se o início de sessão foi bem-sucedido.
Valide se está a utilizar a subscrição correta.
az account showSe necessário, altera a subscrição.
az account set --subscription <subscription-id>
Configurar variáveis de ambiente
Introduza 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 este passo se o grupo de recursos já existir.
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 contentores para permitir acesso anónimo.az storage container set-permission \ --name '$web' \ --account-name $WEBSITE_NAME \ --public-access blob
Configurar o site
Navegue para a pasta
OSDUApp.cd OSDUApp/Copie o ficheiro 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 das variáveis de ambiente por valores para a sua implementaçã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