Dela via


Distribuera OSDU-administratörsgränssnittet ovanpå Azure Data Manager for Energy

Den här guiden visar hur du distribuerar OSDU-administratörsgränssnittet ovanpå adme-instansen (Azure Data Manager for Energy).

Användargränssnittet för OSDU-administratören gör det möjligt för plattformsadministratörer att hantera den Azure Data Manager for Energy-datapartition som du ansluter den till. Hanteringsuppgifterna omfattar rättigheter (användar- och grupphantering), juridiska taggar, scheman, referensdata, vy och visualisering av objekt på en karta.

Förutsättningar

Distribueringsalternativ

Det finns två distributionsalternativ för OSDU-administratörsgränssnittet:

  1. Snabbdistribuering med Azure Container Apps: Distribuera med ett klick med Azure Container Apps. Den här distributionen är det enklaste och snabbaste sättet att distribuera OSDU-administratörsgränssnittet. Den stöder både offentliga och privata distributioner.

  2. Anpassad distribution med azure storage-kontots statiska webbplats: Skapa och distribuera OSDU-administratörsgränssnittet med hjälp av Azure Storage-kontot. Det här distributionsalternativet är mer anpassningsbart och gör att du kan konfigurera distributionen efter dina behov.

Snabbdistribution med Azure Container Apps

  1. Deploy to Azure Välj knappen för att distribuera användargränssnittet för OSDU-administratören med Hjälp av Azure Container Apps.

    Distribuera till Azure

  2. Fyll i de obligatoriska parametrarna i Azure Portal. Mer information om parametrarna finns i avsnittet parametrar för mer information.

    Skärmbild som visar distributionsformuläret för Azure Portal.

  3. Välj Granska + skapa och sedan Skapa för att distribuera OSDU-administratörsgränssnittet.

  4. Kontrollera avsnittet Outputs för URL:en för det distribuerade användargränssnittet för OSDU-administratör.

  5. Konfigurera ADME CORS-principen och omdirigerings-URI:n för appregistrerings-SPA med webbplatsens URL.

  6. Öppna URL:en i en webbläsare och kontrollera att den fungerar korrekt och ansluten till rätt Azure Data Manager för Energy-instans.

Parametrar

Parameter Beskrivning Obligatoriskt
Prenumeration Azure-prenumerationen som operativsystemdu-administratörsgränssnittet ska distribueras till. Ja
Resursgrupp Den resursgrupp som osDU-administratörsgränssnittet ska distribueras till. Ja
Region Den Azure-region som osDU-administratörsgränssnittet ska distribueras till. Ja
Name Namnet på OSDU Admin UI-instansen. Andra resurser använder det här namnet som basnamn och lägger till en tjänstförkortning Ja
Containeravbildning Containeravbildningen som ska användas för OSDU-administratörsgränssnittet. Se OSDU Forum Admin UI Container Registry för tillgängliga avbildningar. Ja
Osdu-slutpunkt Slutpunkten för Azure Data Manager for Energy- eller OSDU-instansen att ansluta till. Ja
Datapartitions-ID Datapartitions-ID:t för Azure Data Manager for Energy- eller OSDU-instansen att ansluta till. Ja
Domännamn för berättiganden Domännamnet som ska användas för rättighetstjänsten. Behåll .dataservices.energy för alla ADME-distributioner, uppdatera endast om du använder en annan OSDU-implementering. Ja
Client ID Klient-ID:t för appregistreringen som ska användas för OSDU-administratörsgränssnittet. Ja
Omfattning Omfånget för den appregistrering som används av Azure Data Manager för Energy eller OSDU. Om klient-ID:t är ADME-appregistreringen kan du lämna det här standardvärdet. Ja
Anslutningsslutpunkt Valfritt: OSDU Admin UI Connector API-slutpunkten som ska användas för administratörsgränssnittet. Nej
Aktivera privat nätverk Valfritt: Aktivera åtkomst till det privata nätverket till OSDU-administratörsgränssnittet. Nej
Aktivera loggning Valfritt: Aktivera loggning för OSDU-administratörsgränssnittet. Nej

Anpassad distribution med azure storage-kontots statiska webbplats

Förbereda datorn

  • Installera Visual Studio Code med Dev Containers. Det är möjligt att distribuera användargränssnittet för OSDU-administratören från din lokala dator med antingen Linux eller Windows-undersystem för Linux (WSL), vi rekommenderar att du använder en Dev Container för att eliminera potentiella konflikter mellan verktygsversioner, miljöer osv.

Miljöinställningar

  1. Använd Dev Container i Visual Studio Code för att distribuera OSDU-administratörsgränssnittet för att eliminera konflikter från den lokala datorn.

  2. Välj Remote - Containers | Open för att öppna en utvecklingscontainer och klona OSDU Admin UI-lagringsplatsen.

    Öppna i Fjärr - Containrar

  3. Acceptera kloningsprompten.

    Skärmbild som visar kloning av lagringsplatsen.

  4. När du uppmanas att ange en mall för containerkonfiguration.

    1. Välj Ubuntu.
    2. Acceptera standardversionen.
    3. Lägg inte till några extra funktioner.
  5. Efter några minuter körs devcontainern.

    Skärmbild som visar hur devcontainer körs.

  6. Öppna terminalfönstret.

    Skärmbild som visar öppningsterminalen.

  7. Installera Angular CLI, Azure CLI, npm och 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
    

    Skärmbild som visar installationen.

  8. Logga in på Azure CLI genom att köra kommandot på terminalen. Det tar dig till inloggningsskärmen.

    az login
    
  9. Det tar dig till inloggningsskärmen. Ange dina autentiseringsuppgifter och när du har lyckats visas ett meddelande om att det lyckades.

    Skärmbild som visar lyckad inloggning.

  10. Kontrollera att du använder rätt prenumeration.

    az account show
    
  11. Om det behövs använder du den här koden för att ändra prenumerationen.

    az account set --subscription <subscription-id>
    

Konfigurera miljövariabler

  1. Ange nödvändiga miljövariabler i terminalen.

    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"
    

Distribuera lagringskonto

  1. Skapa resursgrupp. Hoppa över det här steget om resursgruppen redan finns.

    az group create \
        --name $RESOURCE_GROUP \
        --location $LOCATION
    
  2. Skapa ett lagringskonto.

    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. Konfigurera den statiska webbplatsen.

    az storage blob service-properties update \
        --account-name $WEBSITE_NAME \
        --static-website \
        --404-document index.html \
        --index-document index.html
    
  4. Ange $web containerbehörigheter för att tillåta anonym åtkomst.

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

Skapa och distribuera webbappen

  1. Gå till mappen OSDUApp.

    cd OSDUApp/
    
  2. Kopiera Azure routing.ts-fil.

    cp providers/azure/routing.ts src/app/routing.ts
    
  3. Installera beroenden.

    npm install
    
  4. Ändra parametrarna i konfigurationsfilen som finns på /src/config/config.json.

Ersätt miljövariablernas värden med dina värden.

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