Udostępnij za pośrednictwem


Wdrażanie interfejsu użytkownika administratora OSDU w usłudze Azure Data Manager for Energy

W tym przewodniku pokazano, jak wdrożyć interfejs użytkownika administratora OSDU w oparciu o wystąpienie usługi Azure Data Manager for Energy (ADME).

Interfejs użytkownika administratora OSDU umożliwia administratorom platformy zarządzanie partycją danych usługi Azure Data Manager for Energy, z którą się łączysz. Zadania zarządzania obejmują uprawnienia (zarządzanie użytkownikami i grupami), tagi prawne, schematy, dane referencyjne, widok i wizualizację obiektów na mapie.

Wymagania wstępne

  • Wystąpienie usługi Azure Data Manager dla energii.

  • Rejestracja aplikacji Microsoft Entra ID.
    Ta rejestracja aplikacji może być taka sama jak ta używana dla wystąpienia usługi Azure Data Manager for Energy. Następujące uprawnienia interfejsu API są wymagane w rejestracji aplikacji dla interfejsu użytkownika administratora, aby działał prawidłowo.

    Po pierwszym zalogowaniu się do interfejsu użytkownika administratora żąda niezbędnych uprawnień. Możesz również przyznać wymagane uprawnienia z wyprzedzeniem. Zobacz Dokumentację uprawnień interfejsu API rejestracji aplikacji.

Opcje wdrażania

Istnieją dwie opcje wdrażania dla interfejsu użytkownika administratora OSDU:

  1. Szybkie wdrażanie przy użyciu usługi Azure Container Apps: wdrażanie jednym kliknięciem przy użyciu usługi Azure Container Apps. To wdrożenie jest najprostszym i najszybszym sposobem wdrożenia interfejsu użytkownika administratora OSDU. Obsługuje zarówno wdrożenia publiczne, jak i prywatne.

  2. Wdrożenie niestandardowe przy użyciu statycznej witryny internetowej konta usługi Azure Storage: kompilowanie i wdrażanie interfejsu użytkownika administratora OSDU przy użyciu konta usługi Azure Storage. Ta opcja wdrożenia jest bardziej dostosowywalna i umożliwia skonfigurowanie wdrożenia zgodnie z potrzebami.

Szybkie wdrażanie za pomocą usługi Azure Container Apps

  1. Deploy to Azure Wybierz przycisk , aby wdrożyć interfejs użytkownika administratora OSDU przy użyciu usługi Azure Container Apps.

    Wdróż na platformie Azure

  2. Wypełnij wymagane parametry w witrynie Azure Portal. Aby uzyskać więcej informacji na temat parametrów, zobacz sekcję parameters, aby uzyskać więcej informacji.

    Zrzut ekranu przedstawiający formularz wdrażania witryny Azure Portal.

  3. Wybierz pozycję Przejrzyj i utwórz , a następnie pozycję Utwórz , aby wdrożyć interfejs użytkownika administratora OSDU.

  4. Sprawdź sekcję Outputs pod kątem adresu URL wdrożonego interfejsu użytkownika administratora OSDU.

  5. Skonfiguruj zasady MECHANIZMU CORS adME i identyfikator URI przekierowania SPA rejestracji aplikacji przy użyciu adresu URL witryny internetowej.

  6. Otwórz adres URL w przeglądarce i zweryfikuj, czy działa prawidłowo, i połącz się z poprawnym wystąpieniem usługi Azure Data Manager for Energy.

Parametry

Parametr opis Wymagania
Subskrypcja Subskrypcja platformy Azure w celu wdrożenia interfejsu użytkownika administratora OSDU. Tak
Grupa zasobów Grupa zasobów do wdrożenia interfejsu użytkownika administratora OSDU w systemie . Tak
Region (Region) Region platformy Azure do wdrożenia interfejsu użytkownika administratora OSDU. Tak
Nazwisko Nazwa wystąpienia interfejsu użytkownika administratora OSDU. Inne zasoby używają tej nazwy jako nazwy podstawowej i dołączania skrótu usługi Tak
Obraz kontenera Obraz kontenera do użycia w interfejsie użytkownika administratora OSDU. Aby uzyskać dostępne obrazy, zobacz Rejestr kontenerów interfejsu użytkownika administratora forum OSDU. Tak
Punkt końcowy Osdu Punkt końcowy wystąpienia usługi Azure Data Manager for Energy lub OSDU do nawiązania połączenia. Tak
Identyfikator partycji danych Identyfikator partycji danych wystąpienia usługi Azure Data Manager for Energy lub OSDU do nawiązania połączenia. Tak
Nazwa domeny uprawnień Nazwa domeny do użycia dla usługi uprawnień. Zachowaj dla .dataservices.energy dowolnego wdrożenia ADME, aktualizuj tylko wtedy, gdy używasz innej implementacji OSDU. Tak
Client ID Identyfikator klienta rejestracji aplikacji do użycia dla interfejsu użytkownika administratora OSDU. Tak
Scope Zakres rejestracji aplikacji używany przez usługę Azure Data Manager for Energy lub OSDU. Jeśli identyfikator klienta jest rejestracją aplikacji ADME, możesz pozostawić tę wartość domyślną. Tak
Punkt końcowy łącznika Opcjonalnie: punkt końcowy interfejsu API interfejsu użytkownika administratora OSDU do użycia dla interfejsu użytkownika administratora. Nie.
Włączanie sieci prywatnej Opcjonalnie: Włącz dostęp do sieci prywatnej do interfejsu użytkownika administratora OSDU. Nie.
Włączanie rejestrowania Opcjonalnie: włącz rejestrowanie dla interfejsu użytkownika administratora OSDU. Nie.

Wdrażanie niestandardowe przy użyciu statycznej witryny internetowej konta usługi Azure Storage

Przygotowywanie komputera

  • Instalowanie programu Visual Studio Code za pomocą kontenerów deweloperskich. Istnieje możliwość wdrożenia interfejsu użytkownika administratora OSDU z komputera lokalnego przy użyciu systemu Linux lub Podsystem Windows dla systemu Linux (WSL), zalecamy użycie kontenera deweloperskiego w celu wyeliminowania potencjalnych konfliktów wersji narzędzi, środowisk itp.

Konfigurowanie środowiska

  1. Użyj kontenera deweloperskiego w programie Visual Studio Code, aby wdrożyć interfejs użytkownika administratora OSDU w celu wyeliminowania konfliktów z komputera lokalnego.

  2. Wybierz Remote - Containers | Open , aby otworzyć kontener dewelopera i sklonować repozytorium interfejsu użytkownika administratora OSDU.

    Otwórz w zdalnym — kontenery

  3. Zaakceptuj wiersz polecenia klonowania.

    Zrzut ekranu przedstawiający klonowanie repozytorium.

  4. Po wyświetleniu monitu o szablon konfiguracji kontenera.

    1. Wybierz pozycję Ubuntu.
    2. Zaakceptuj wersję domyślną.
    3. Nie dodawaj żadnych dodatkowych funkcji.
  5. Po kilku minutach devcontainer jest uruchomiony.

    Zrzut ekranu przedstawiający uruchamianie devcontainer.

  6. Otwórz terminal.

    Zrzut ekranu przedstawiający otwieranie terminalu.

  7. Zainstaluj interfejs wiersza polecenia platformy Angular, interfejs wiersza polecenia platformy Azure, narzędzie npm i program Node Version Manager (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 && \
    apt-get install jq -y && \
    curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash
    

    Zrzut ekranu przedstawiający instalację.

  8. Zaloguj się do interfejsu wiersza polecenia platformy Azure, wykonując polecenie w terminalu. Spowoduje to przejście do ekranu logowania.

    az login
    
  9. Spowoduje to przejście do ekranu logowania. Wprowadź poświadczenia i po pomyślnym wyświetleniu komunikatu o powodzeniu.

    Zrzut ekranu przedstawiający pomyślne logowanie.

  10. Sprawdź, czy używasz odpowiedniej subskrypcji.

    az account show
    
  11. W razie potrzeby użyj tego kodu, aby zmienić subskrypcję.

    az account set --subscription <subscription-id>
    

Skonfiguruj zmienne środowiskowe

  1. Wprowadź wymagane zmienne środowiskowe w terminalu.

    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"
    

Wdrażanie konta magazynu

  1. Utwórz grupę zasobów. Pomiń ten krok, jeśli grupa zasobów już istnieje.

    az group create \
        --name $RESOURCE_GROUP \
        --location $LOCATION
    
  2. Utwórz konto magazynu.

    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. Skonfiguruj statyczną witrynę internetową.

    az storage blob service-properties update \
        --account-name $WEBSITE_NAME \
        --static-website \
        --404-document index.html \
        --index-document index.html
    
  4. Ustaw $web uprawnienia kontenera, aby zezwolić na dostęp anonimowy.

    az storage container set-permission \
        --name '$web' \
        --account-name $WEBSITE_NAME \
        --public-access blob
    

Kompilowanie i wdrażanie aplikacji internetowej

  1. Przejdź do folderu OSDUApp.

    cd OSDUApp/
    
  2. Skopiuj plik routing.ts platformy Azure.

    cp providers/azure/routing.ts src/app/routing.ts
    
  3. Zainstaluj zależności.

    npm install
    
  4. Zmodyfikuj parametry w pliku konfiguracji znajdującym się w lokalizacji /src/config/config.json.

Zastąp wartości zmiennych środowiskowych wartościami.

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

Uwaga

Interfejs API łącznika OSDU jest tworzony jako interfejs między użytkownikami a interfejsami API OSDU opakowującym niektóre wywołania łańcuchów interfejsów API i obiektami. Obecnie zarządza wszystkimi operacjami i akcjami w obiektach projektu i scenariusza.

  1. Skompiluj internetowy interfejs użytkownika.

    ng build
    
  2. Przekaż kompilację do konta magazynu.

    az storage blob upload-batch \
        --account-name $WEBSITE_NAME \
        --source ./dist/OSDUApp \
        --destination '$web' \
        --overwrite
    
  3. Pobierz adres URL witryny internetowej.

    echo $REDIRECT_URI
    
  4. Skonfiguruj zasady MECHANIZMU CORS adME i identyfikator URI przekierowania SPA rejestracji aplikacji przy użyciu adresu URL witryny internetowej.

  5. Otwórz adres URL witryny internetowej w przeglądarce i sprawdź, czy działa prawidłowo i nawiązał połączenie z poprawnym wystąpieniem usługi Azure Data Manager for Energy.

Dodawanie zasad CORS

Aby interfejs użytkownika administratora działał prawidłowo, należy dodać identyfikator URI przekierowania do zasad CORS w wystąpieniu usługi Azure Data Manager for Energy. Dowiedz się, jak dodać zasady CORS do wystąpienia usługi Azure Data Manager for Energy, zobacz dokumentację zasad CORS.

Dodawanie identyfikatora URI przekierowania do rejestracji aplikacji

Musisz dodać identyfikator URI przekierowania jako aplikację jednostronicową do rejestracji aplikacji używanej przez interfejs użytkownika administratora. Aby skonfigurować identyfikator URI przekierowania, wykonaj kroki opisane w dokumentacji Dodawanie identyfikatora URI przekierowania do rejestracji aplikacji.

Następne kroki

Po pomyślnym zakończeniu działania interfejsu użytkownika administratora możesz wykonać następujące czynności:

Możesz również pozyskiwać dane do wystąpienia usługi Azure Data Manager for Energy:

Informacje

Aby uzyskać informacje o interfejsie użytkownika administratora OSDU, zobacz OSDU GitLab.
Aby uzyskać informacje o innych metodach wdrażania (potok ciągłej integracji/ciągłego wdrażania usługi Terraform lub Azure DevOps), zobacz DevOps interfejsu użytkownika administratora OSDU.