Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym przewodniku pokazano, jak wdrożyć interfejs użytkownika administratora OSDU na bazie instancji usługi Azure Data Manager for Energy (ADME).
Interfejs użytkownika administratora OSDU umożliwia administratorom platformy zarządzanie partycją danych Azure Data Manager for Energy, z którą nawiązuje połączenie. Zadania zarządzania obejmują uprawnienia (zarządzanie użytkownikami i grupami), tagi prawne, schematy, dane referencyjne oraz wyświetlanie i wizualizowanie obiektów na mapie.
Wymagania wstępne
Instancja Azure Data Manager for Energy.
Rejestracja aplikacji Microsoft Entra ID.
Ta rejestracja aplikacji może być taka sama jak ta używana na potrzeby instancji Azure Data Manager for Energy. Następujące uprawnienia interfejsu API są wymagane w rejestracji aplikacji, aby interfejs użytkownika administratora działał prawidłowo.Po pierwszym zalogowaniu się do interfejsu użytkownika administratora aplikacja żąda niezbędnych uprawnień. Możesz również przyznać wymagane uprawnienia z wyprzedzeniem. Aby uzyskać więcej informacji, zobacz Konfigurowanie dostępu aplikacji do internetowych interfejsów API.
Opcje wdrażania
Istnieją dwie opcje wdrażania dla interfejsu użytkownika administratora OSDU:
- Szybkie wdrażanie przy użyciu Azure Container Apps: wdrożenie jednym kliknięciem przy użyciu Azure Container Apps. Ta opcja to najszybszy sposób wdrażania interfejsu użytkownika administratora OSDU i obsługi wdrożeń publicznych i prywatnych.
- Wdrożenie niestandardowe za pomocą funkcji Statyczna witryna internetowa konta usługi Azure Storage: Kompilowanie i wdrażanie interfejsu administracyjnego OSDU za pomocą funkcji Statyczna witryna internetowa konta usługi Azure Storage. Ta opcja jest bardziej dostosowywalna i umożliwia dostosowanie wdrożenia do wymagań.
Szybkie wdrażanie za pomocą usługi Azure Container Apps
Deploy to AzureWybierz 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ę parametry.
Wybierz Przejrzyj i utwórz, a następnie Utwórz, aby wdrożyć interfejs użytkownika administratora OSDU.
Sprawdź sekcję
Outputspod kątem adresu URL wdrożonego interfejsu użytkownika administratora OSDU.Skonfiguruj zasady CORS polityki ADME oraz identyfikator URI przekierowania SPA dla rejestracji aplikacji za pomocą adresu URL witryny internetowej.
Otwórz adres URL w przeglądarce i zweryfikuj, czy działa prawidłowo oraz czy jest połączony z właściwą instancją Azure Data Manager for Energy.
Parametry
| Parametr | opis | Wymagane |
|---|---|---|
| Subskrypcja | Subskrypcja platformy Azure do wdrożenia interfejsu użytkownika administratora OSDU. | Tak |
| Grupa zasobów | Grupa zasobów do wdrożenia interfejsu administratora OSDU. | Tak |
| Region | Region Azure, do którego zostanie wdrożony interfejs użytkownika administratora OSDU. | Tak |
| Nazwisko | Nazwa wystąpienia OSDU Admin UI. Inne zasoby wykorzystują tę nazwę jako nazwę bazową i dołączają skrót usługi. | Tak |
| Obraz kontenera | Obraz kontenera do użycia w interfejsie użytkownika administratora OSDU. Zobacz Rejestr kontenerów interfejsu użytkownika administratora forum OSDU w celu uzyskania dostępnych obrazów. | Tak |
| Punkt końcowy OSDU | Punkt końcowy wystąpienia usługi Azure Data Manager for Energy lub OSDU do nawiązania połączenia. Użyj podstawowego punktu końcowego ADME. Wdrożenie normalizuje je dla środowiska uruchomieniowego kontenera. | Tak |
| Identyfikatory partycji danych | Rozdzielona przecinkami lista identyfikatorów partycji danych wystąpienia Azure Data Manager for Energy lub OSDU w celu nawiązania połączenia. | Tak |
| Nazwa domeny uprawnień | Nazwa domeny do użycia dla usługi uprawnień. Zachowaj .dataservices.energy w przypadku każdego wdrożenia ADME, aktualizuj tylko w przypadku użycia innej implementacji OSDU. |
Tak |
| ID klienta | 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 API Connector do użycia dla interfejsu użytkownika administratora OSDU. | Nie. |
| Punkt końcowy GCZ |
Opcjonalne: Podstawowy punkt końcowy GCZ kończący się ciągiem /gcz/. Przykład: https://contoso.energy.azure.com/api/gcz/. GCZ musi być już wdrożony oddzielnie. |
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. Interfejs użytkownika administratora OSDU można wdrożyć z komputera lokalnego przy użyciu systemu Linux lub Podsystem Windows dla systemu Linux (WSL). Zalecamy użycie kontenera deweloperskiego w celu zmniejszenia konfliktów narzędzi i środowiska.
Konfigurowanie środowiska
Użyj kontenera deweloperskiego w Visual Studio Code, aby zmniejszyć konflikty z lokalnie zainstalowanymi narzędziami.
Wybierz
Remote - Containers | Open, aby otworzyć kontener deweloperski i sklonować repozytorium interfejsu użytkownika administratora OSDU.Zaakceptuj komunikat klonowania.
Gdy pojawi się monit 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 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 bashZaloguj się do Azure CLI, wykonując polecenie w terminalu.
az loginWprowadź poświadczenia i sprawdź, czy logowanie zakończyło się pomyślnie.
Sprawdź, czy używasz odpowiedniej subskrypcji.
az account showW razie potrzeby zmień subskrypcję.
az account set --subscription <subscription-id>
Skonfiguruj zmienne środowiskowe
Wprowadź wymagane zmienne środowiskowe w terminalu.
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"
Wdrażanie konta magazynowego
Utwórz grupę zasobów. Pomiń ten krok, jeśli grupa zasobów już istnieje.
az group create \ --name $RESOURCE_GROUP \ --location $LOCATIONUtwórz konto magazynowe.
az storage account create \ --resource-group $RESOURCE_GROUP \ --location $LOCATION \ --name $WEBSITE_NAME \ --sku Standard_LRS \ --public-network-access Enabled \ --allow-blob-public-access trueSkonfiguruj statyczną witrynę internetową.
az storage blob service-properties update \ --account-name $WEBSITE_NAME \ --static-website \ --404-document index.html \ --index-document index.htmlUstaw
$webuprawnienia kontenera, aby zezwolić na dostęp anonimowy.az storage container set-permission \ --name '$web' \ --account-name $WEBSITE_NAME \ --public-access blob
Konfigurowanie witryny internetowej
Przejdź do folderu
OSDUApp.cd OSDUApp/Skopiuj plik Azure
routing.ts.cp providers/azure/routing.ts src/app/routing.tsZainstaluj zależności.
npm installZmodyfikuj parametry w pliku konfiguracji znajdującym się w lokalizacji
/src/config/config.json.
Zastąp wartości zmiennych środowiskowych wartościami dla wdrożenia.
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