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
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:
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.
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
Deploy to Azure
Wybierz przycisk , aby wdrożyć interfejs użytkownika administratora OSDU przy użyciu usługi Azure Container Apps.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.
Wybierz pozycję Przejrzyj i utwórz , a następnie pozycję Utwórz , aby wdrożyć interfejs użytkownika administratora OSDU.
Sprawdź sekcję
Outputs
pod kątem adresu URL wdrożonego interfejsu użytkownika administratora OSDU.Skonfiguruj zasady MECHANIZMU CORS adME i identyfikator URI przekierowania SPA rejestracji aplikacji przy użyciu adresu URL witryny internetowej.
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
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.
Wybierz
Remote - Containers | Open
, aby otworzyć kontener dewelopera i sklonować repozytorium interfejsu użytkownika administratora OSDU.Zaakceptuj wiersz polecenia klonowania.
Po wyświetleniu monitu o szablon konfiguracji kontenera.
- Wybierz pozycję Ubuntu.
- Zaakceptuj wersję domyślną.
- Nie dodawaj żadnych dodatkowych funkcji.
Po kilku minutach devcontainer jest uruchomiony.
Otwórz terminal.
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
Zaloguj się do interfejsu wiersza polecenia platformy Azure, wykonując polecenie w terminalu. Spowoduje to przejście do ekranu logowania.
az login
Spowoduje to przejście do ekranu logowania. Wprowadź poświadczenia i po pomyślnym wyświetleniu komunikatu o powodzeniu.
Sprawdź, czy używasz odpowiedniej subskrypcji.
az account show
W razie potrzeby użyj tego kodu, aby zmienić subskrypcję.
az account set --subscription <subscription-id>
Skonfiguruj zmienne środowiskowe
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
Utwórz grupę zasobów. Pomiń ten krok, jeśli grupa zasobów już istnieje.
az group create \ --name $RESOURCE_GROUP \ --location $LOCATION
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
Skonfiguruj statyczną witrynę internetową.
az storage blob service-properties update \ --account-name $WEBSITE_NAME \ --static-website \ --404-document index.html \ --index-document index.html
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
Przejdź do folderu
OSDUApp
.cd OSDUApp/
Skopiuj plik routing.ts platformy Azure.
cp providers/azure/routing.ts src/app/routing.ts
Zainstaluj zależności.
npm install
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.
Skompiluj internetowy interfejs użytkownika.
ng build
Przekaż kompilację do konta magazynu.
az storage blob upload-batch \ --account-name $WEBSITE_NAME \ --source ./dist/OSDUApp \ --destination '$web' \ --overwrite
Pobierz adres URL witryny internetowej.
echo $REDIRECT_URI
Skonfiguruj zasady MECHANIZMU CORS adME i identyfikator URI przekierowania SPA rejestracji aplikacji przy użyciu adresu URL witryny internetowej.
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:
- Samouczek dotyczący pozyskiwania analizatora CSV.
- Samouczek dotyczący pozyskiwania manifestu.
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.