Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Den här artikeln beskriver hur du aktiverar ACZ-funktionen (Analytics Consumption Zone) på din Azure Data Manager för energiresurs. Aktivering är en engångskonfigurationsprocess som konfigurerar din Azure Data Manager för energiresurs, användartilldelad hanterad identitet och lagringskonto. Efter aktiveringen kan du skapa flera ACL:er för att synkronisera olika Azure Data Manager for Energy-datauppsättningar till ditt Azure Data Lake Storage (ADLS) Gen2-konto.
Viktigt!
Analytics Consumption Zone är för närvarande i förhandsversion. Se Tilläggsvillkor för användning av Microsoft Azure-förhandsversioner för juridiska villkor som gäller för Azure-funktioner som är i beta, förhandsvisning eller på annat sätt ännu inte släppta för allmän tillgänglighet.
Note
Under förhandsversionen är ACZ endast tillgängligt på instanser på utvecklarnivå och kräver allowlisting. Om du vill aktivera ACZ på din Azure Data Manager for Energy-resurs slutför du stegen i den här artikeln och kontaktar din Microsoft representant.
Översikt över installation
Konfigurationen konfigurerar en hanterad identitet som gör det möjligt för ACZ att komma åt Azure Data Manager för energidata och skriva till ADLS Gen2.
Slutför följande engångskonfigurationsuppgifter för att aktivera ACZ på din Azure Data Manager för energiresurs. När funktionen har aktiverats kan du skapa flera ACZ:er med API:erna.
| Steg | Uppgift |
|---|---|
| 1 | Skapa eller använda ett befintligt ADLS Gen2-lagringskonto |
| 2 | Skapa användartilldelad hanterad identitet för ACZ |
| 3 | Tilldela användartilldelad hanterad identitet till Azure Data Manager för energiresurs |
| 4 | Kontrollera att användaren har behörighetsgruppåtkomst |
| 5 | Bevilja användartilldelade lagringsbehörigheter för hanterade identiteter |
| 6 | Dela användartilldelad hanterad identitet och information om Azure Data Manager for Energy-instans med Microsoft |
Förutsättningar
- En aktiv prenumeration för Azure. Skapa en prenumeration kostnadsfritt.
- En Azure Data Manager for Energy-instans (utvecklarnivå) med minst en datapartition. Skapa en Azure Data Manager för Energy-instans.
- Azure CLI installerat på datorn eller åtkomst till Azure Cloud Shell.
Steg 1: Skapa eller använda ett befintligt ADLS Gen2-lagringskonto
ACZ kräver ett Azure Data Lake Storage Gen2 lagringskonto med hierarkiskt namnområde aktiverat för att lagra synkroniserade data. Om du inte redan har en skapar du den:
- I portalen Azure väljer du Skapa en resurs>Lagringskonto.
- På fliken Grundläggande väljer du din prenumeration och resursgrupp.
- Ange ett lagringskontonamn och välj önskad region.
- På fliken Avancerat väljer du Aktivera hierarkiskt namnområde.
- Välj Granska + skapaoch välj sedan Skapa.
Viktigt!
Du ansvarar för att välja ett lagringskonto för målplatsen inom samma geografiska område om du har krav på datalagringsplats. ACZ exporterar data till det ADLS Gen2-lagringskonto som du anger, oavsett plats.
Steg 2: Skapa en användartilldelad hanterad identitet för ACZ
ACZ använder en användartilldelad hanterad identitet för att skriva data till ADLS Gen2. Skapa en dedikerad identitet för ACZ:
Viktigt!
Microsoft rekommenderar att du skapar en dedikerad användartilldelad hanterad identitet för ACZ i stället för att återanvända identiteter från andra tjänster som Customer-Managed krypteringsnycklar (CMEK) eller externa datakällor (EDS). En dedikerad identitet tillhandahåller:
- Rensa spårningsloggar: Separat identitet gör det enklare att spåra ACZ-specifika åtgärder i granskningsloggar
- Oberoende livscykelhantering: Du kan rotera, uppdatera eller ta bort ACZ-identitet utan att påverka andra tjänster
- Detaljerad åtkomstkontroll: ACZ-identiteten får bara de behörigheter som krävs (Storage Blob Data Contributor) utan att ärva onödiga behörigheter
- Förenklad felsökning: Problem med ACZ-behörigheter påverkar inte CMEK, EDS eller andra tjänster
Så här skapar du en användartilldelad hanterad identitet:
- I portalen Azure söker du efter Hanterade identiteter och väljer den.
- Välj + Skapa.
- Välj din prenumeration, resursgrupp, region och ange ett namn för identiteten.
- Välj Granska + skapaoch välj sedan Skapa.
Steg 3: Tilldela den användartilldelade hanterade identiteten till din Azure Data Manager for Energy-resurs
Viktigt!
En annan token krävs för det här steget!
Det här steget använder en Azure Resource Manager (ARM)-token (inte din Azure Data Manager for Energy-autentiseringstoken) för att uppdatera instanskonfigurationen via ARM-kontrollplanets API. Följande skript genererar rätt ARM-token automatiskt.
Tilldela den användartilldelade hanterade identiteten som du skapade i steg 2 till din Azure Data Manager for Energy-resurs.
Använd API:et Azure Management för att uppdatera din Azure Data Manager for Energy-resurs med den användartilldelade hanterade identiteten:
Tip
Alternativ för automatiserat skript finns tillgängligt
För en förenklad metod med minimala uppmaningar kan du använda ett automatiserat skript i stället för de manuella kommandona. Se Använda automatiserat skript i slutet av det här steget. Annars fortsätter du med de manuella stegen.
Viktigt!
Bevara befintliga hanterade identiteter!
Om din Azure Data Manager for Energy-instans innehåller användartilldelade hanterade identiteter (till exempel för kundhanterade krypteringsnycklar eller externa datakällor) måste du inkludera alla befintliga identiteter i objektet userAssignedIdentities. PUT-åtgärden ersätter hela identitetskonfigurationen – om du utelämnar befintliga identiteter tas de bort från instansen.
Om du vill bevara befintliga identiteter hämtar du först den aktuella konfigurationen:
Bash:
az resource show --ids /subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.OpenEnergyPlatform/energyServices/{adme-instance-name} --query identity.userAssignedIdentities
PowerShell:
az resource show --ids /subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.OpenEnergyPlatform/energyServices/{adme-instance-name} --query identity.userAssignedIdentities
Inkludera sedan alla returnerade identitetsresursidentifierare tillsammans med din nya ACZ-identitet i följande userAssignedIdentities objekt.
# Get Azure Resource Manager token
TOKEN=$(az account get-access-token --resource "https://management.azure.com/" --query accessToken -o tsv)
# Update Azure Data Manager for Energy instance with managed identity
curl --http1.1 --request PUT \
--url 'https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.OpenEnergyPlatform/energyServices/{adme-instance-name}?api-version=2025-09-22-preview' \
--header "Authorization: Bearer $TOKEN" \
--header 'Content-Type: application/json' \
--data '{
"location": "{location}",
"properties": {
"authAppId": "{auth-app-id}",
"dataPartitionNames": [
{
"name": "{data-partition-name}"
}
]
},
"identity": {
"type": "UserAssigned",
"userAssignedIdentities": {
"/subscriptions/{sub-id}/resourceGroups/{rg}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identity-name}": {}
}
}
}'
Ersätt platshållarna:
| Platshållare | Description |
|---|---|
{subscription-id} |
Prenumerations-ID där Azure Data Manager for Energy finns |
{resource-group} |
Resursgruppen som innehåller din Azure Data Manager för energiresurs |
{adme-instance-name} |
Namnet på din Azure Data Manager for Energy-resurs |
{location} |
Azure-region för din Azure Data Manager for Energy-resurs (till exempel southcentralus) |
{auth-app-id} |
Program-ID som används för Azure Data Manager för energiautentisering |
{data-partition-name} |
Namnet på datapartitionen (till exempel dp1) |
{sub-id} |
Prenumerations-ID där den användartilldelade hanterade identiteten finns |
{rg} |
Resursgrupp där den användartilldelade hanterade identiteten finns |
{identity-name} |
Namnet på den användartilldelade hanterade identiteten från steg 2 |
När åtgärden är klar kontrollerar du att identiteten är tilldelad:
az resource show --ids /subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.OpenEnergyPlatform/energyServices/{adme-instance-name} --query identity.userAssignedIdentities
Exempelsvar:
{
"/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/my-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/my-acz-identity": {
"clientId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"principalId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
}
Resultatet bör innehålla resurs-ID:t för din användartilldelade hanterade identitet tillsammans med clientId och principalId.
Använda automatiserat skript för steg 3 (valfritt)
Som ett alternativ till de manuella kommandona kan du använda det automatiserade skriptet i det här avsnittet som hanterar identitetstilldelningen. Skriptet bevarar befintliga identiteter automatiskt och validerar indata.
Vad skriptet gör:
- Verifierar att Azure Data Manager för Energy-instansen och den hanterade identiteten finns
- Hämtar aktuell instanskonfiguration
- Bevarar befintliga hanterade identiteter
- Lägger till den nya ACZ-identiteten
- Uppdaterar instansen via Azure Resource Manager API
Förutsättningar:
- Azure CLI installerat och autentiserat (
az login) - Bash Shell (Linux, macOS, Podsystém Windowsu pre Linux (WSL) eller Git Bash)
Skript:
#!/bin/bash
set -e
# Attach a user-assigned managed identity to an Azure Data Manager for Energy instance
echo "Enter Azure Data Manager for Energy Subscription ID: "
read ADME_SUBSCRIPTION_ID
echo "Enter Managed Identity Subscription ID (press Enter to use same as ADME): "
read MI_SUBSCRIPTION_ID
# Default to ADME subscription if not specified
if [ -z "$MI_SUBSCRIPTION_ID" ]; then
MI_SUBSCRIPTION_ID="$ADME_SUBSCRIPTION_ID"
fi
echo "Enter Azure Data Manager for Energy Instance Name: "
read ADME_INSTANCE_NAME
echo "Enter Managed Identity Name: "
read MANAGED_IDENTITY_NAME
echo "Attaching managed identity to Azure Data Manager for Energy instance..."
# Set subscription for ADME operations
az account set --subscription "$ADME_SUBSCRIPTION_ID" > /dev/null
# Get Azure Data Manager for Energy instance resource group
RESOURCE_GROUP=$(az resource list --resource-type "Microsoft.OpenEnergyPlatform/energyServices" --subscription "$ADME_SUBSCRIPTION_ID" --query "[?name=='$ADME_INSTANCE_NAME'].resourceGroup" -o tsv | tr -d '\r')
if [ -z "$RESOURCE_GROUP" ]; then
echo "Error: Azure Data Manager for Energy instance '$ADME_INSTANCE_NAME' not found"
exit 1
fi
# Get instance details using Azure CLI queries
LOCATION=$(az resource show --ids "/subscriptions/$ADME_SUBSCRIPTION_ID/resourceGroups/$RESOURCE_GROUP/providers/Microsoft.OpenEnergyPlatform/energyServices/$ADME_INSTANCE_NAME" --api-version 2025-09-22-preview --query location -o tsv | tr -d '\r')
AUTH_APP_ID=$(az resource show --ids "/subscriptions/$ADME_SUBSCRIPTION_ID/resourceGroups/$RESOURCE_GROUP/providers/Microsoft.OpenEnergyPlatform/energyServices/$ADME_INSTANCE_NAME" --api-version 2025-09-22-preview --query properties.authAppId -o tsv | tr -d '\r')
DATA_PARTITION_NAME=$(az resource show --ids "/subscriptions/$ADME_SUBSCRIPTION_ID/resourceGroups/$RESOURCE_GROUP/providers/Microsoft.OpenEnergyPlatform/energyServices/$ADME_INSTANCE_NAME" --api-version 2025-09-22-preview --query 'properties.dataPartitionNames[0].name' -o tsv | tr -d '\r')
# Get managed identity resource ID (search in MI subscription)
MI_ID=$(az identity list --subscription "$MI_SUBSCRIPTION_ID" --query "[?name=='$MANAGED_IDENTITY_NAME'].id" -o tsv | tr -d '\r')
if [ -z "$MI_ID" ]; then
echo "Error: Managed identity '$MANAGED_IDENTITY_NAME' not found in subscription '$MI_SUBSCRIPTION_ID'"
exit 1
fi
# Get existing identities to preserve them
EXISTING_IDS=$(az resource show --ids "/subscriptions/$ADME_SUBSCRIPTION_ID/resourceGroups/$RESOURCE_GROUP/providers/Microsoft.OpenEnergyPlatform/energyServices/$ADME_INSTANCE_NAME" --api-version 2025-09-22-preview --query 'identity.userAssignedIdentities | keys(@)' -o tsv 2>/dev/null | tr -d '\r')
# Build user-assigned identities JSON (preserve existing)
USER_ASSIGNED_IDENTITIES="\"$MI_ID\": {}"
if [ -n "$EXISTING_IDS" ]; then
for identity in $EXISTING_IDS; do
if [ "$identity" != "$MI_ID" ]; then
USER_ASSIGNED_IDENTITIES="$USER_ASSIGNED_IDENTITIES, \"$identity\": {}"
fi
done
fi
# Get ARM token
TOKEN=$(az account get-access-token --resource "https://management.azure.com/" --query accessToken -o tsv | tr -d '\r')
# Update Azure Data Manager for Energy instance
RESPONSE=$(curl --http1.1 --silent --show-error --request PUT \
--url "https://management.azure.com/subscriptions/$ADME_SUBSCRIPTION_ID/resourceGroups/$RESOURCE_GROUP/providers/Microsoft.OpenEnergyPlatform/energyServices/$ADME_INSTANCE_NAME?api-version=2025-09-22-preview" \
--header "Authorization: Bearer $TOKEN" \
--header "Content-Type: application/json" \
--data "{
\"location\": \"$LOCATION\",
\"properties\": {
\"authAppId\": \"$AUTH_APP_ID\",
\"dataPartitionNames\": [
{
\"name\": \"$DATA_PARTITION_NAME\"
}
]
},
\"identity\": {
\"type\": \"UserAssigned\",
\"userAssignedIdentities\": {
$USER_ASSIGNED_IDENTITIES
}
}
}")
if [ $? -ne 0 ]; then
echo "Error: Failed to update Azure Data Manager for Energy instance"
exit 1
fi
# Verify the managed identity was attached
ATTACHED_IDS=$(az resource show --ids "/subscriptions/$ADME_SUBSCRIPTION_ID/resourceGroups/$RESOURCE_GROUP/providers/Microsoft.OpenEnergyPlatform/energyServices/$ADME_INSTANCE_NAME" --api-version 2025-09-22-preview --query 'identity.userAssignedIdentities | keys(@)' -o tsv 2>/dev/null | tr -d '\r')
# Use case-insensitive comparison by converting both to lowercase
MI_ID_LOWER=$(echo "$MI_ID" | tr '[:upper:]' '[:lower:]')
ATTACHED_IDS_LOWER=$(echo "$ATTACHED_IDS" | tr '[:upper:]' '[:lower:]')
if echo "$ATTACHED_IDS_LOWER" | grep -qi "$MI_ID_LOWER"; then
echo "Successfully attached managed identity to Azure Data Manager for Energy instance"
else
echo "Error: Failed to attach managed identity - verification failed"
exit 1
fi
Användning:
Kopiera föregående skript till en fil med namnet attach-managed-identity.shoch kör sedan:
# Make executable
chmod +x attach-managed-identity.sh
# Run
./attach-managed-identity.sh
Steg 4: Kontrollera att användaren har behörighetsgruppåtkomst
Om du vill anropa ACZ-API:er måste du (användaren) vara medlem i users@{data-partition-id}.dataservices.energy berättigandegruppen.
Viktigt!
Det här steget verifierar att DU (användaren som anropar ACZ-API:er) har åtkomst, inte den användartilldelade hanterade identiteten. Den användartilldelade hanterade identiteten som skapades i steg 2 används endast av ACZ-tjänsten för att skriva data till lagring – den behöver inte berättigandegruppmedlemskap.
Om du inte redan är medlem i gruppen för användarbehörighet ber du en administratör för Azure Data Manager for Energy att lägga till ditt användarkonto. Mer information finns i Hantera användare .
För att verifiera att du har åtkomst använder du API:et för Entitlements Service för att kontrollera ditt medlemskap:
curl --http1.1 --request GET \
--url https://{base_url}/api/entitlements/v2/groups/users@{data-partition-id}.dataservices.energy/members \
--header 'Authorization: Bearer {access_token}' \
--header 'data-partition-id: {data-partition-id}'
Ersätt platshållarna:
| Platshållare | Description |
|---|---|
{base_url} |
URL:en för Azure Data Manager for Energy-resursen (till exempel myinstance.energy.azure.com) |
{access_token} |
Din personliga åtkomsttoken för Azure Data Manager för Energi-API:er. Se Så här genererar du autentiseringstoken |
{data-partition-id} |
Ditt datapartitions-ID (till exempel dp1) |
Exempelsvar:
{
"desId": "users@dp1.dataservices.energy",
"name": "users@dp1.dataservices.energy",
"description": "Datalake users",
"email": "users@dp1.dataservices.energy",
"members": [
{
"email": "user@example.com",
"role": "MEMBER"
},
{
"email": "admin@example.com",
"role": "OWNER"
}
]
}
Svaret bör innehålla ditt användarkonto i matrisen members . Om du inte finns med i listan kontaktar du din Azure Data Manager for Energy-administratör för att lägga till dig i användargruppen.
Steg 5: Bevilja användartilldelade hanterade identitetsbehörigheter för ADLS Gen2-containern
Ge den användartilldelade hanterade identiteten skrivbehörighet till ADLS Gen2-lagringskontot. ACZ-identiteten behöver behörighet för Storage Blob Data Contributor för att kunna skriva Delta Parquet-filer.
- Gå till ditt ADLS Gen2-lagringskonto i Azure-portalen.
- Välj Åtkomstkontroll (IAM) från den vänstra menyn.
- Välj + Lägg till>Lägg till rolltilldelning.
- På fliken Roll söker du efter Storage Blob Data-deltagare, väljer den och väljer sedan Nästa.
- På fliken Medlemmar väljer du Hanterad identitet för Tilldela åtkomst till.
- Välj + Välj medlemmar.
- I listrutan Hanterad identitet väljer du Användartilldelad hanterad identitet.
- Välj den användartilldelade hanterade identiteten som du skapade i steg 2 (eller din befintliga CMEK/EDS-identitet) och välj sedan Välj.
- Välj Granska + tilldela för att genomföra rolltilldelningen.
Steg 6: Dela användartilldelad hanterad identitet och information om Azure Data Manager for Energy-instans med Microsoft (förhandsversionskrav)
Viktigt!
Under förhandsversionen måste ACZ-åtkomst läggas till i en tillåtelselista. Microsoft måste aktivera ACZ-funktionen på din Azure Data Manager för Energy-instansen och konfigurera den med din användartilldelade hanterade identitet. Dela följande information med din Microsoft kontakt för att slutföra ACZ-aktiveringen.
Ange följande information för din Microsoft representant:
| Information | Description |
|---|---|
| Azure Data Manager för energiresursnamn | Resursnamnet för Azure Data Manager for Energy (till exempel my-adme-instance). |
| Resurs-ID för användartilldelad hanterad identitet | Det fullständiga Azure-resurs-ID:t för den användartilldelade hanterade identiteten. I Azure portalen gå till din användartilldelade hanterade identitet och välj Settings>Egenskaper för att hitta Resource ID (till exempel /subscriptions/{sub-id}/resourceGroups/{rg}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identity-name}). |
När Microsoft har lagt till din användartilldelade hanterade identitet i tillåtelselistan aktiveras ACZ för din Azure Data Manager for Energy-resurs.
Skapa en analysförbrukningszon
När du har slutfört aktiveringsstegen kan du skapa en eller flera ACL:er för att synkronisera din Azure Data Manager för energidata till ADLS Gen2. Varje ACZ kan konfigureras för att synkronisera olika datatyper.
Anropa API:et för att skapa ACZ
Använd ACZ Create API för att skapa en analysförbrukningszon. En fullständig genomgång finns i Självstudie: Använda ACZ-API:er.
curl --http1.1 --request POST \
--url https://{base_url}/api/acz/v1/aczs \
--header 'Authorization: Bearer {access_token}' \
--header 'Content-Type: application/json' \
--header 'data-partition-id: {data_partition_id}' \
--data '{
"name": "my-first-acz",
"sink": {
"storageId": "/subscriptions/{sub-id}/resourceGroups/{rg}/providers/Microsoft.Storage/storageAccounts/{account}"
},
"configuration": {
"catalogKinds": [
"osdu:wks:master-data--Well:*",
"osdu:wks:reference-data--UnitOfMeasure:*"
],
"wellboreDDMSKinds": [
"osdu:wks:work-product-component--WellLog:*"
]
}
}'
Ersätt platshållarna:
| Platshållare | Description |
|---|---|
{base_url} |
URL:en för Azure Data Manager for Energy-resursen (till exempel myinstance.energy.azure.com) |
{access_token} |
Åtkomsttoken för Azure Data Manager för Energi-API:er. Se Så här genererar du autentiseringstoken |
{data_partition_id} |
Ditt datapartitions-ID (till exempel dp1) |
{sub-id} |
Prenumerations-ID där ADLS Gen2-lagringskontot finns |
{rg} |
Resursgrupp där ADLS Gen2-lagringskontot finns |
{account} |
Namnet på ADLS Gen2-lagringskontot |
Ett lyckat svar returnerar HTTP-status 201 med ACZ-information:
{
"aczId": "acz-8a0aa7433085",
"name": "my-first-acz",
"status": "ACTIVE",
"targetFormat": "DELTA_PARQUET",
"aczType": "LATEST_VERSION",
"sink": {
"storageType": "microsoft.storage/storageaccounts",
"storageId": "/subscriptions/{sub-id}/resourceGroups/{rg}/providers/Microsoft.Storage/storageAccounts/{account}",
"basePath": ""
},
"configuration": {
"catalogKinds": [
"osdu:wks:master-data--Well:*",
"osdu:wks:reference-data--UnitOfMeasure:*"
],
"wellboreDDMSKinds": [
"osdu:wks:work-product-component--WellLog:*"
]
},
"historicalSnapshotStatus": "PROCESSING",
"createdTs": "2026-05-01T12:00:00.000000",
"updatedTs": "2026-05-01T12:00:00.000000",
"createdBy": "your-user-object-id"
}
Observera värdet aczId (format: acz-<identifier>). Du behöver den här ACZ-identifieraren för att:
- Hantera och fråga ACZ med API:er
- Leta upp dina data i ADLS Gen2-lagring på
<container>/<aczId>/eller<container>/<basePath>/<aczId>/om du har angett en bassökväg