在用於能源產業的 Azure 資料管理員執行個體上部署 OSDU 系統管理 UI
本指南說明如何在用於能源產業的 Azure 資料管理員 (ADME) 執行個體上部署 OSDU 系統管理 UI。
OSDU 系統管理 UI 可讓平台管理員管理您連線的目的地用於能源產業的 Azure 資料管理員資料分割。 管理工作包括權利 (使用者和群組管理)、法律標籤、結構描述、參考資料、檢視,以及地圖上的視覺物件。
必要條件
Microsoft Entra ID 應用程式註冊。
此應用程式註冊可能與用於「用於能源產業的 Azure 資料管理員」執行個體的應用程式註冊相同。 管理員 UI 的應用程式註冊需要下列 API 權限才能正常運作。第一次登入系統管理 UI 時,它會要求必要的許可權。 您也可以事先授與必要的許可權。 請參閱 應用程式註冊 API 許可權檔。
部署選項
OSDU 系統管理 UI 有兩個部署選項:
使用 Azure Container Apps 快速部署:使用 Azure Container Apps 進行單鍵部署。 此部署是部署 OSDU 系統管理員 UI 的最簡單且最快速的方式。 它同時支援公用和私人部署。
使用 Azure 儲存體 帳戶靜態網站進行自定義部署:使用 Azure 儲存體 帳戶建置和部署 OSDU 系統管理員 UI。 此部署選項更可自定義,可讓您根據需求設定部署。
使用 Azure Container Apps 快速部署
選取
Deploy to Azure
按鈕以使用 Azure Container Apps 部署 OSDU 系統管理 UI。在 Azure 入口網站 中填入必要的參數。 如需參數的詳細資訊,請參閱 參數一節 以取得詳細資訊。
選取 [檢閱 + 建立],然後選取 [建立] 以部署 OSDU 系統管理 UI。
Outputs
檢查已部署 OSDU 系統管理 UI 的 URL 區段。使用網站 URL 設定 ADME CORS 原則 和 應用程式註冊 SPA 重新導向 URI 。
在瀏覽器中開啟 URL,並驗證它是否正常運作,並連線到正確的 Azure Data Manager for Energy 實例。
參數
參數 | 描述: | 必要 |
---|---|---|
訂用帳戶 | 要部署OSDU系統管理UI的 Azure 訂用帳戶。 | Yes |
資源群組 | 要部署 OSDU 系統管理 UI 的資源群組。 | Yes |
區域 | 要部署OSDU系統管理UI的 Azure 區域。 | Yes |
名稱 | OSDU 系統管理UI實例的名稱。 其他資源會使用此名稱作為基底名稱,並附加服務縮寫 | Yes |
容器映像 | 要用於 OSDU 系統管理 UI 的容器映像。 如需可用的映像,請參閱 OSDU論壇管理員UI容器登錄 。 | Yes |
Osdu 端點 | 要連線的 Azure Data Manager for Energy 或 OSDU 實例端點。 | Yes |
數據分割標識碼 | 要連線的 Azure Data Manager for Energy 或 OSDU 實例的數據分割標識符。 | Yes |
權利功能變數名稱 | 要用於權利服務的功能變數名稱。 請保留 .dataservices.energy 任何 ADME 部署,只有在您使用另一個 OSDU 實作時才更新。 |
Yes |
Client ID | 要用於 OSDU 系統管理 UI 之應用程式註冊的用戶端識別碼。 | Yes |
範圍 | Azure Data Manager for Energy 或 OSDU 所使用的應用程式註冊範圍。 如果客戶端識別碼是 ADME 應用程式註冊,您可以保留此預設值。 | Yes |
連接器端點 | 選擇性: 要用於系統管理UI的OSDU系統管理員UI 連接器 API 端點。 | No |
啟用專用網 | 選擇性: 啟用 OSDU 系統管理員 UI 的專用網存取權。 | No |
啟用記錄 | 選擇性: 啟用 OSDU 系統管理員 UI 的記錄。 | No |
使用 Azure 儲存體 帳戶靜態網站進行自定義部署
準備您的電腦
- 使用開發容器安裝 Visual Studio Code。 您可以使用 Linux 或 Windows 子系統 Linux 版 (WSL) 從本機電腦部署 OSDU 管理員 UI,建議您使用開發容器來消除工具版本、環境等的潛在衝突。
環境設定
使用 Visual Studio Code 中的開發容器來部署 OSDU 管理員 UI,以消除本機電腦的衝突。
選取
Remote - Containers | Open
以開啟開發容器,並複製 OSDU 管理員 UI 存放庫。接受複製提示。
當系統提示您輸入容器設定範本時。
- 選取 Ubuntu。
- 接受預設版本。
- 請勿新增任何額外的功能。
幾分鐘後,devcontainer 就會執行。
開啟終端機。
安裝 Angular CLI、Azure CLI、npm 和節點版本管理員 (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
在終端機上執行命令,以登入 Azure CLI。 其會引導您前往登入畫面。
az login
其會引導您前往登入畫面。 輸入您的認證,您在成功時會看到成功訊息。
驗證您使用的是正確的訂用帳戶。
az account show
如有需要,請使用此程式碼來變更訂用帳戶。
az account set --subscription <subscription-id>
設定環境變數
在終端機中輸入必要的環境變數。
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"
部署儲存體帳戶
建立資源群組。 如果資源群組已經存在,請略過此步驟。
az group create \ --name $RESOURCE_GROUP \ --location $LOCATION
建立儲存體帳戶。
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
設定靜態網站。
az storage blob service-properties update \ --account-name $WEBSITE_NAME \ --static-website \ --404-document index.html \ --index-document index.html
將 $web 容器權限設定為允許匿名存取。
az storage container set-permission \ --name '$web' \ --account-name $WEBSITE_NAME \ --public-access blob
設定網站
瀏覽至
OSDUApp
資料夾。cd OSDUApp/
複製 Azure routing.ts 檔案。
cp providers/azure/routing.ts src/app/routing.ts
安裝相依性。
npm install
修改位於
/src/config/config.json
設定檔中的參數。
以您的值取代環境變數的值。
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
注意
OSDU 連接器 API 是建置為取用者與 OSDU API 之間的介面,會包裝一些 API 鏈結呼叫和物件。 目前,其會管理專案和案例物件上的所有作業和動作。
建置 web UI。
ng build
將組建上傳至儲存體帳戶。
az storage blob upload-batch \ --account-name $WEBSITE_NAME \ --source ./dist/OSDUApp \ --destination '$web' \ --overwrite
擷取網站 URL。
echo $REDIRECT_URI
使用網站 URL 設定 ADME CORS 原則 和 應用程式註冊 SPA 重新導向 URI 。
在瀏覽器中開啟網站 URL,驗證其是否正常運作,並連線到正確的用於能源產業的 Azure 資料管理員執行個體。
新增 CORS 原則
若要讓系統管理 UI 正常運作,您必須將重新導向 URI 新增至適用於能源的 Azure 數據管理員實例上的 CORS 原則。 瞭解如何將 CORS 原則新增至適用於能源的 Azure 數據管理員實例,請參閱 CORS 原則檔。
將重新導向 URI 新增至應用程式註冊
您必須將重新導向 URI 新增為單頁應用程式至系統管理 UI 所使用的應用程式註冊。 若要設定重新導向 URI,請遵循將重新導向 URI 新增至應用程式註冊檔中的步驟。
下一步
成功管理 UI 運作之後,您可以:
您也可以將資料內嵌至 Azure Data Manager for Energy 執行個體:
參考資料
如需 OSDU 管理員 UI 的相關資訊,請參閱 OSDU GitLab。
如需其他部署方法 (Terraform 或 Azure DevOps CI/CD 管線),請參閱 OSDU 管理員 UI DevOps。