Развертывание пользовательского интерфейса OSDU Администратор на основе Azure Data Manager для энергетики

В этом руководстве показано, как развернуть пользовательский интерфейс OSDU Администратор на основе экземпляра Azure Data Manager for Energy (ADME).

Пользовательский интерфейс OSDU Администратор позволяет администраторам платформы управлять разделом данных Azure Data Manager для энергетики, к которому вы подключаетесь. Задачи управления включают права (управление пользователями и группами), юридические теги, схемы, справочные данные, представление и визуализацию объектов на карте.

Необходимые компоненты

  • Установите Visual Studio Code с контейнерами разработки. Развертывание пользовательского интерфейса OSDU Администратор с локального компьютера с помощью Linux или подсистема Windows для Linux (WSL) рекомендуется использовать контейнер разработки для устранения потенциальных конфликтов версий инструментов, сред и т. д.

  • Экземпляр Azure Data Manager для энергетики.

  • Регистрация приложения идентификатора Microsoft Entra.
    Регистрация приложений может совпадать с тем, что используется для экземпляра Azure Data Manager для энергетики.

    Внимание

    Для правильной работы пользовательского интерфейса Администратор пользовательского интерфейса требуются следующие разрешения API.

    При первом входе в пользовательский интерфейс Администратор запросит необходимые разрешения. Вы также можете заранее предоставить необходимые разрешения, см . документацию по API регистрации приложений.

Настройка среды

  1. Используйте контейнер разработки в Visual Studio Code для развертывания пользовательского интерфейса OSDU Администратор для устранения конфликтов с локального компьютера.

  2. ВыберитеRemote - Containers | Open, чтобы открыть контейнер разработки и клонировать репозиторий Администратор пользовательского интерфейса OSDU.

    Открытие в удаленном режиме — контейнеры

  3. Примите запрос клонирования.

    Снимок экрана: клонирование репозитория.

  4. При появлении запроса на шаблон конфигурации контейнера.

    1. Выберите Ubuntu.
    2. Примите версию по умолчанию.
    3. Не добавляйте дополнительные функции.
  5. Через несколько минут выполняется devcontainer.

    Снимок экрана: запуск devcontainer.

  6. Откройте терминал.

    Снимок экрана: открытие терминала.

  7. Установите Angular CLI, Azure CLI, npm и Диспетчер версий узлов (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 && \
    curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash
    

    Снимок экрана: установка.

  8. Войдите в Azure CLI, выполнив команду в терминале. Это позволит вам войти на экран входа.

    az login
    
  9. Это позволит вам войти на экран входа. Введите учетные данные и после успешного выполнения вы увидите сообщение об успешном выполнении.

    Снимок экрана: успешный вход.

  10. Убедитесь, что вы используете правильную подписку.

    az account show
    
  11. При необходимости используйте этот код для изменения подписки.

    az account set --subscription <subscription-id>
    

Настройка переменных среды

  1. Введите необходимые переменные среды в терминале.
     export ADMINUI_CLIENT_ID="" ## App Registration to be used by OSDU Admin UI, usually the client ID used to provision ADME
     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"
    

Развертывание учетной записи хранения

  1. Создайте группу ресурсов. Пропустите этот шаг, если группа ресурсов уже существует.

    az group create \
        --name $RESOURCE_GROUP \
        --location $LOCATION
    
  2. Создание учетной записи хранения

    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. Настройте статический веб-сайт.

    az storage blob service-properties update \
        --account-name $WEBSITE_NAME \
        --static-website \
        --404-document index.html \
        --index-document index.html
    
  4. Задайте $web разрешения контейнера, чтобы разрешить анонимный доступ.

    az storage container set-permission \
        --name '$web' \
        --account-name $WEBSITE_NAME \
        --public-access blob
    
  5. Добавьте URI перенаправления в регистрацию приложений.

    export REDIRECT_URI=$(az storage account show --resource-group $RESOURCE_GROUP --name $WEBSITE_NAME --query "primaryEndpoints.web") && \
    echo "Redirect URL: $REDIRECT_URI" && \
    echo "Add the redirect URI above to the following App Registration's Single-page Application (SPA) section: https://ms.portal.azure.com/#view/Microsoft_AAD_RegisteredApps/ApplicationMenuBlade/~/Authentication/appId/$ADMINUI_CLIENT_ID/isMSAApp~/false"
    

    Снимок экрана: URI перенаправления регистрации приложений.

Создание и развертывание веб-приложения

  1. Перейдите в папку OSDUApp.

    cd OSDUApp/
    
  2. Установите зависимости.

    npm install
    
  3. Измените параметры в файле конфигурации, расположенном по адресу /src/config/config.json.

    {
        "mapboxKey": "key", // This is optional for the access token from Mapbox.com and used to visualize data on the map feature.
        ...
        "data_partition": "<adme_data_partition>", // ADME Data Partition ID (i.e. opendes)
      "idp": {
         ...
         "tenant_id": "<tenant_id>", // Entra ID tenant ID
         "client_id": "<client_id>", // App Registration ID to use for the admin UI, usually the same as the ADME App Registration ID, i.e. "6ee7e0d6-0641-4b29-a283-541c5d00655a"
         "redirect_uri": "<redirect_uri>", // This is the website URL ($REDIRECT_URI), i.e. "https://contoso.z1.web.core.windows.net"
         "scope": "<client_id>/.default" // Scope of the ADME instance, i.e. "6ee7e0d6-0641-4b29-a283-541c5d00655a/.default"
      },
      "api_endpoints": { // Just replace contoso.energy.azure.com with your ADME_URL after removing https or wwww in all the API endpoints below.
         "entitlement_endpoint": "https://contoso.energy.azure.com/api/", 
         "storage_endpoint": "https://contoso.energy.azure.com/api/",
         "search_endpoint": "https://contoso.energy.azure.com/api/",
         "legal_endpoint": "https://contoso.energy.azure.com/api/",
         "schema_endpoint": "https://contoso.energy.azure.com/api/",
         "osdu_connector_api_endpoint":"osdu_connector", // Optional. API endpoint of the OSDU Connector API*
         "file_endpoint": "https://contoso.energy.azure.com/api/",
         "graphAPI_endpoint": "https://graph.microsoft.com/v1.0/",
         "workflow_endpoint": "https://contoso.energy.azure.com/api/"
      }
      ...
    }
    

    Примечание.

    API osDU Подключение or создается в качестве интерфейса между потребителями и API OSDU, упаковывая некоторые вызовы и объекты цепочки API. В настоящее время он управляет всеми операциями и действиями в объектах проекта и сценария.

  4. Создайте веб-интерфейс.

    ng build
    
  5. Отправьте сборку в служба хранилища учетную запись.

    az storage blob upload-batch \
        --account-name $WEBSITE_NAME \
        --source ./dist/OSDUApp \
        --destination '$web' \
        --overwrite
    
  6. Получение URL-адреса веб-сайта.

    echo $REDIRECT_URI
    
  7. Откройте URL-адрес веб-сайта в браузере и убедитесь, что он работает правильно и подключен к правильному экземпляру Azure Data Manager для энергетики.

Следующие шаги

После успешной работы пользовательского интерфейса Администратор вы можете:

Вы также можете получать данные в экземпляр Azure Data Manager для энергетики:

Ссылки

Сведения о пользовательском интерфейсе OSDU Администратор см. в разделе OSDU GitLab.
Другие методы развертывания (Terraform или конвейер CI/CD Azure DevOps) см. в разделе OSDU Администратор UI DevOps.