Aracılığıyla paylaş


Enerji için Azure Data Manager'ın üzerine OSDU Yönetici Kullanıcı Arabirimi dağıtma

Bu kılavuzda, OSDU Yönetici kullanıcı arabirimini Enerji için Azure Data Manager (ADME) örneğinizin üzerine nasıl dağıtabileceğiniz gösterilmektedir.

OSDU Yönetici Kullanıcı Arabirimi, platform yöneticilerinin bağlandığınız Enerji için Azure Data Manager veri bölümünü yönetmesine olanak tanır. Yönetim görevleri yetkilendirmeleri (kullanıcı ve grup yönetimi), yasal etiketleri, şemaları, başvuru verilerini, haritadaki nesneleri görüntülemeyi ve görselleştirmeyi içerir.

Önkoşullar

  • Enerji için Azure Data Manager örneği.

  • Microsoft Entra Id Uygulama Kaydı.
    Bu Uygulama Kaydı, Enerji için Azure Data Manager örneği için kullanılan kayıtla aynı olabilir. Yönetici kullanıcı arabiriminin düzgün çalışması için Uygulama Kaydı'nda aşağıdaki API izinleri gereklidir.

    Yönetici kullanıcı arabiriminde ilk kez oturum açtığınızda gerekli izinleri istemektedir. Ayrıca gerekli izinleri önceden de vekleyebilirsiniz. Uygulama Kayıt API'si İzin belgelerine bakın.

Dağıtım seçenekleri

OSDU Yönetici Kullanıcı Arabirimi için iki dağıtım seçeneği vardır:

  1. Azure Container Apps kullanarak hızlı dağıtım: Azure Container Apps kullanarak tek tıklamayla dağıtma. Bu dağıtım, OSDU Yönetici kullanıcı arabirimini dağıtmanın en kolay ve en hızlı yoludur. Hem genel hem de özel dağıtımları destekler.

  2. Azure Depolama Hesabı Statik Web Sitesi kullanarak özel dağıtım: Azure Depolama Hesabını kullanarak OSDU Yönetici kullanıcı arabirimini derleyin ve dağıtın. Bu dağıtım seçeneği daha özelleştirilebilir ve dağıtımı gereksinimlerinize göre yapılandırmanıza olanak tanır.

Azure Container Apps ile hızlı dağıtım

  1. Deploy to Azure Azure Container Apps kullanarak OSDU Yönetici kullanıcı arabirimini dağıtmak için düğmeyi seçin.

    Azure’a dağıtın

  2. Azure portalında gerekli parametreleri doldurun. Parametreler hakkında daha fazla bilgi için parametreler bölümüne bakın.

    Azure portalı dağıtım formunu gösteren ekran görüntüsü.

  3. OSDU Yönetici kullanıcı arabirimini dağıtmak için Gözden geçir + oluştur'u ve ardından Oluştur'u seçin.

  4. Outputs Dağıtılan OSDU Yönetici kullanıcı arabiriminin URL'si bölümüne bakın.

  5. WEB sitesi URL'si ile ADME CORS ilkesini ve Uygulama Kaydı SPA yeniden yönlendirme URI'sini yapılandırın.

  6. URL'yi tarayıcıda açın ve düzgün çalıştığını ve doğru Enerji için Azure Data Manager örneğine bağlandığını doğrulayın.

Parametreler

Parametre Açıklama Gerekli
Abonelik OSDU Yönetici kullanıcı arabiriminin dağıtılacağı Azure aboneliği. Yes
Kaynak grubu OSDU Yönetici kullanıcı arabiriminin dağıtılacağı kaynak grubu. Yes
Bölge OSDU Yönetici kullanıcı arabiriminin dağıtılacağı Azure bölgesi. Yes
Veri Akışı Adı OSDU Yönetici Kullanıcı Arabirimi örneğinin adı. Diğer kaynaklar bu adı temel ad olarak kullanır ve bir hizmet kısaltması ekler Yes
Kapsayıcı Görüntüsü OSDU Yönetici kullanıcı arabirimi için kullanılacak kapsayıcı görüntüsü. Kullanılabilir görüntüler için bkz . OSDU Forum Admin UI Container Registry . Yes
Osdu Uç Noktası Bağlanacak Enerji için Azure Data Manager veya OSDU örneğinin uç noktası. Yes
Veri Bölümü Kimliği Bağlanacak Enerji için Azure Data Manager veya OSDU örneğinin veri bölümü kimliği. Yes
Yetkilendirmeler Etki Alanı Adı Yetkilendirme hizmeti için kullanılacak etki alanı adı. Herhangi bir ADME dağıtımı için saklayın .dataservices.energy ; yalnızca başka bir OSDU uygulaması kullanıyorsanız güncelleştirin. Yes
Client ID OSDU Yönetici Kullanıcı Arabirimi için kullanılacak Uygulama Kaydının istemci kimliği. Yes
Kapsam Enerji veya OSDU için Azure Data Manager tarafından kullanılan Uygulama Kaydının kapsamı. İstemci Kimliği ADME Uygulama Kaydı ise, bu varsayılan değeri bırakabilirsiniz. Yes
Bağlayıcı Uç Noktası İsteğe bağlı: Yönetici kullanıcı arabirimi için kullanılacak OSDU Yönetici UI Bağlayıcısı API'sinin uç noktası. Hayır
Özel Ağı Etkinleştir İsteğe bağlı: OSDU Yönetici kullanıcı arabirimine özel ağ erişimini etkinleştirin. Hayır
Günlüğü Etkinleştir İsteğe bağlı: OSDU Yönetici kullanıcı arabirimi için günlüğe kaydetmeyi etkinleştirin. Hayır

Azure Depolama Hesabı Statik Web Sitesi kullanarak özel dağıtım

Bilgisayarınızı hazırlama

  • Geliştirme Kapsayıcıları ile Visual Studio Code'u yükleyin. Linux veya Linux için Windows Alt Sistemi (WSL) kullanarak yerel bilgisayarınızdan OSDU Yönetici kullanıcı arabirimini dağıtmak mümkündür; araç sürümlerinin, ortamların vb. olası çakışmalarını ortadan kaldırmak için bir Geliştirme Kapsayıcısı kullanmanızı öneririz.

Ortam kurulumu

  1. Yerel makinenizdeki çakışmaları ortadan kaldırmak için Visual Studio Code'daki Geliştirme Kapsayıcısını kullanarak OSDU Yönetici kullanıcı arabirimini dağıtın.

  2. Bir Geliştirme Kapsayıcısı açmak ve OSDU Yönetici Kullanıcı Arabirimi deposunu kopyalamak için seçin Remote - Containers | Open .

    Uzak - Kapsayıcılarda Aç

  3. Kopyalama istemini kabul edin.

    Depoyu kopyalamayı gösteren ekran görüntüsü.

  4. Kapsayıcı yapılandırma şablonu istendiğinde.

    1. Ubuntu'ya tıklayın.
    2. Varsayılan sürümü kabul edin.
    3. Ek özellik eklemeyin.
  5. Birkaç dakika sonra devcontainer çalışıyor.

    Devcontainer çalıştırmayı gösteren ekran görüntüsü.

  6. Terminali açın.

    Terminalin açılmasını gösteren ekran görüntüsü.

  7. Angular CLI, Azure CLI, npm ve Node Sürüm Yöneticisi'ni (NVM) yükleyin.

    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
    

    Yüklemeyi gösteren ekran görüntüsü.

  8. Terminalde komutunu yürüterek Azure CLI'da oturum açın. Sizi oturum açma ekranına götürür.

    az login
    
  9. Sizi oturum açma ekranına götürür. Kimlik bilgilerinizi girin ve başarılı olduğunuzda bir başarı iletisi görürsünüz.

    Başarılı oturum açma adımlarını gösteren ekran görüntüsü.

  10. Doğru aboneliği kullandığınızı doğrulayın.

    az account show
    
  11. Gerekirse, aboneliği değiştirmek için bu kodu kullanın.

    az account set --subscription <subscription-id>
    

Ortam değişkenlerini yapılandırma

  1. Terminalde gerekli ortam değişkenlerini girin.

    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"
    

Depolama hesabı dağıtma

  1. Kaynak grubu oluşturun. Kaynak grubu zaten varsa bu adımı atlayın.

    az group create \
        --name $RESOURCE_GROUP \
        --location $LOCATION
    
  2. Depolama hesabı oluşturun.

    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. Statik web sitesini yapılandırın.

    az storage blob service-properties update \
        --account-name $WEBSITE_NAME \
        --static-website \
        --404-document index.html \
        --index-document index.html
    
  4. Anonim erişime izin vermek için $web kapsayıcı izinlerini ayarlayın.

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

Web uygulaması derleme ve dağıtma

  1. OSDUApp klasörüne gidin.

    cd OSDUApp/
    
  2. Azure routing.ts dosyasını kopyalayın.

    cp providers/azure/routing.ts src/app/routing.ts
    
  3. Bağımlılıkları yükleyin.

    npm install
    
  4. konumunda /src/config/config.jsonbulunan yapılandırma dosyasındaki parametreleri değiştirin.

Ortam değişkenlerinin değerlerini değerlerinizle değiştirin.

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