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

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

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

Предварительные условия

Параметры развертывания

Существует два варианта развертывания пользовательского интерфейса администратора OSDU:

  1. Быстрое развертывание с помощью приложений контейнеров Azure: Развертывание в один клик с использованием приложений контейнеров Azure. Это развертывание является самым простым и быстрым способом развертывания пользовательского интерфейса администратора OSDU. Он поддерживает как общедоступные, так и частные развертывания.

  2. Настраиваемое развертывание с помощью статического веб-сайта в учетной записи Azure Storage: создание и развертывание пользовательского интерфейса администратора OSDU с использованием учетной записи Azure Storage. Этот вариант развертывания является более настраиваемым и позволяет настроить развертывание в соответствии с вашими потребностями.

Быстрое развертывание с помощью приложений контейнеров Azure

  1. Нажмите кнопку Deploy to Azure , чтобы развернуть пользовательский интерфейс администратора OSDU с помощью приложений контейнеров Azure.

    Развернуть в Azure

  2. Заполните необходимые параметры в портал Azure. Дополнительные сведения о параметрах см. в разделе параметров.

    Снимок экрана, показывающий форму развертывания портала Azure.

  3. Выберите "Проверка + создание", а затем "Создать", чтобы развернуть пользовательский интерфейс администратора OSDU.

  4. Проверьте раздел Outputs для URL-адреса развернутого пользовательского интерфейса администратора OSDU.

  5. Настройте политику ADME CORS и URI перенаправления SPA регистрации приложений с URL-адресом веб-сайта.

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

Параметры

Параметр Описание: Обязательное поле
Подписка Подписка Azure, в которую будет развернут пользовательский интерфейс администратора OSDU. Да
Группа ресурсов Группа ресурсов, в которую развертывается административный интерфейс OSDU. Да
Область/регион Регион Azure, в который будет развернут пользовательский интерфейс администратора OSDU. Да
Имя. Имя экземпляра пользовательского интерфейса администратора OSDU. Другие ресурсы используют данное имя в качестве базового имени и добавляют аббревиатуру службы. Да
Образ контейнера Образ контейнера, используемый для пользовательского интерфейса администратора OSDU. Сведения о доступных образах см. в реестре контейнеров пользовательского интерфейса администратора ФОРУМА OSDU. Да
Конечная точка Osdu Конечная точка подключения для экземпляра Azure Data Manager в энергетике или OSDU. Да
Идентификаторы секций данных Разделенный запятыми список идентификатора секции данных экземпляра Azure Data Manager для энергетики или OSDU для подключения. Да
Имя домена прав доступа Доменное имя, которое используется для службы управления правами. Сохраните .dataservices.energy для любого развертывания ADME. Обновите только в случае, если вы используете другую реализацию OSDU. Да
Идентификатор клиента Идентификатор клиента регистрации приложений, используемый для пользовательского интерфейса администратора OSDU. Да
Область Область регистрации приложения, которую использует Azure Data Manager для энергетики или OSDU. Если идентификатор клиента является регистрацией приложений ADME, этот параметр можно оставить по умолчанию. Да
Конечная точка соединителя Необязательно: Конечная точка API Connector для пользовательского интерфейса администратора OSDU, используемая для пользовательского интерфейса администратора. Нет
Включение частной сети Необязательно. Включите доступ к пользовательскому интерфейсу администратора OSDU для частной сети. Нет
Включение ведения журнала Необязательно. Включите ведение журнала для пользовательского интерфейса администратора OSDU. Нет

Развертывание с настройкой с помощью статического веб-сайта учетной записи хранилища Azure

Подготовка компьютера

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

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

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

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

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

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

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

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

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

    az account set --subscription <subscription-id>
    

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

  1. Введите необходимые переменные среды в терминале.

    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
    

Настройка веб-сайта

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

    cd OSDUApp/
    
  2. Скопируйте файл routing.ts Azure.

    cp providers/azure/routing.ts src/app/routing.ts
    
  3. Установите зависимости.

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

Замените значения переменных среды на ваши значения.

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
export REDIRECT_URI="" # this is your static website you can find in your storage account example https://<storage account name>.z21.web.core.windows.net/"


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" \
'
.settings.appInsights.instrumentationKey = $appinsights |
.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.wddms_endpoint = $endpoint
' src/config/config.json > src/config/temp.json && \
mv src/config/temp.json src/config/config.json

Примечание.

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

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

    ng build --configuration=azure-prod
    
  2. Отправьте сборку в учетную запись хранения.

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

    echo $REDIRECT_URI
    
  4. Настройте политику ADME CORS и URI перенаправления SPA регистрации приложений с URL-адресом веб-сайта.

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

Добавление политики CORS

Чтобы пользовательский интерфейс администратора работал правильно, необходимо добавить URI перенаправления в политику CORS в экземпляре Azure Data Manager для энергетики. Чтобы узнать, как добавить политику CORS в экземпляр Azure Data Manager для Energy, см. документацию по политике CORS.

Добавление URI перенаправления в регистрацию приложений

Необходимо добавить URI перенаправления в качестве одностраничного приложения в регистрацию приложений, используемую пользовательским интерфейсом администратора. Чтобы настроить URI перенаправления, выполните действия, описанные в документации по добавлению URI перенаправления в документацию по регистрации приложений .

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

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

Вы также можете загружать данные в инстанцию Azure Data Manager for Energy.

Ссылки

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