Självstudie: Använd API:er för Analytics Consumption Zone

Den här självstudien visar hur du använder hanterings-API:erna för Analytics Consumption Zone (ACZ) i Azure Data Manager for Energy. Du skapar, listar, hämtar och tar bort ACZ-instanser med hjälp av cURL.

Viktigt!

Analytics Consumption Zone är för närvarande i förhandsversion. Juridiska villkor som gäller för Azure funktioner som är i betaversion, förhandsversion eller på annat sätt ännu inte har släppts i allmän tillgänglighet finns i Kompletterande användningsvillkor för Microsoft Azure förhandsversioner.

Under förhandsversionen är ACZ endast tillgängligt på instanser på utvecklarnivå och kräver användning av tillåtna listor. Följ riktlinjerna i Aktivera analysförbrukningszon och kontakta din Microsoft representant.

I den här tutorialen lär du dig följande:

  • Skapa en ACZ-instans.
  • Visa en lista över alla ACZ-instanser i en datapartition.
  • Få information om en specifik ACZ-instans.
  • Ta bort en ACZ-instans.

Förutsättningar

Tip

Utforska API:et interaktivt: Du kan visa den fullständiga ACZ API-specifikationen och testslutpunkterna med hjälp av Swagger-användargränssnittet på https://{instance-name}.energy.azure.com/api/acz/v1/docs. Ersätt {instance-name} med instansnamnet för din Azure Data Manager for Energy.

Hämta information om din Azure Data Manager for Energy-instans

Samla in den här informationen från din Azure Data Manager for Energy-instans i Azure-portalen.

Innan du börjar

Kodexemplen i den här handledningen använder platshållarvärden i formatet {curly-braces}. Ersätt dessa platshållare med dina faktiska värden när du kör kommandona.

Alla API-anrop kräver autentisering. Exemplen för Bash och PowerShell visar hur token genereras direkt i kommandot med Azure CLI. Alternativa autentiseringsmetoder finns i Generera en autentiseringstoken.

Skapa en ACZ-instans

Använd Skapa ACZ API för att konfigurera en ny ACZ-instans för en datapartition.

API

POST /api/acz/v1/aczs

Viktiga punkter

  • Högst tre ACZ-instanser per datapartition (förhandsgranskningsgräns).
  • ACZ-namnet måste vara unikt i partitionen.
  • Den användartilldelade hanterade identiteten måste vara:
    • Tilldelad till din Azure Data Manager för energiresurs (se Aktivera analysförbrukningszon).
    • Tilldelades rollen Storage Blob Data Contributor på mållagringskontot för Azure Data Lake Storage Gen2.
  • Ett Data Lake Storage Gen2 lagringskonto med ett hierarkiskt namnområde aktiverat krävs.
# Get auth app ID for your Azure Data Manager for Energy instance
AUTH_APP_ID=$(az resource show --ids /subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.OpenEnergyPlatform/energyServices/{adme-instance-name} --query properties.authAppId -o tsv)

# Get access token
TOKEN=$(az account get-access-token --resource $AUTH_APP_ID --query accessToken -o tsv)

# Create ACZ instance
curl --request POST \
  --url https://{base-url}/api/acz/v1/aczs \
  --header "Authorization: Bearer $TOKEN" \
  --header 'Content-Type: application/json' \
  --header 'data-partition-id: {data-partition-id}' \
  --data '{
    "name": "{acz-name}",
    "aczType": "{acz-type}",
    "targetFormat": "DELTA_PARQUET",
    "allCatalogSync": false,
    "sink": {
      "storageType": "microsoft.storage/storageaccounts",
      "storageId": "{storage-resource-id}",
      "basePath": "{base-path}"
    },
    "configuration": {
      "catalogKinds": ["{catalog-kinds}"],
      "wellboreDDMSKinds": ["{wellbore-ddms-kinds}"]
    }
  }'

Ersätt platshållarna

Placeholder Description
{subscription-id} Prenumerations-ID där din Azure Data Manager for Energy-instans finns.
{resource-group} Resursgrupp som innehåller din Azure Data Manager för Energy-instansen.
{adme-instance-name} Namnet på din Azure Data Manager for Energy-instans.
{base-url} Url för din Azure Data Manager for Energy-instans (till exempel myinstance.energy.azure.com).
{data-partition-id} Ditt datapartitions-ID (till exempel opendes).
{acz-name} Visningsnamn för ACZ-instansen (1–100 tecken, till exempel my-acz-wells-and-logs).
{acz-type} Valfritt: LATEST_VERSION (standard) exporterar endast den senaste versionen och ALL_VERSIONS exporterar alla versioner.
{storage-resource-id} Azure-resurs-ID för mål-Data Lake Storage Gen2-lagringskontot (till exempel /subscriptions/xxx.../storageAccounts/mystorageacct).
{base-path} Valfritt: Bassökväg i lagringskontot för ACZ-datautdata (till exempel acz-output).
allCatalogSync Valfritt (standard: false). När värdet är inställt på trueexporteras alla katalogtyper från partitionen. Anges utanför avsnittet configuration. När true, catalogKinds och wellboreDDMSKinds i konfigurationen ignoreras för katalogdata.
{catalog-kinds} Valfritt: typsträngar för OSDU®-katalogen som ska synkroniseras (till exempel ["osdu:wks:master-data--Well:*"]). Ignoreras om allCatalogSync är true.
{wellbore-ddms-kinds} Valfritt: Wellbore Domain Data Management Service (DDMS) typsträngar som ska synkroniseras (till exempel ["osdu:wks:work-product-component--WellLog:*"]). Filnedladdningar sker endast för typer som anges här.

Tip

Exportera alla katalogdata: Ange "allCatalogSync": true (utanför configuration avsnittet) för att exportera alla katalogtyper från datapartitionen. När detta är aktiverat ignoreras arrayerna catalogKinds och wellboreDDMSKinds i konfigurationen för katalogdata. Wellbore DDMS massfilnedladdningar sker fortfarande endast för typer som anges i wellboreDDMSKinds.

Du måste ange minst ett av följande alternativ:

  • Ange "allCatalogSync": true (utanför konfigurationen).
  • Ange catalogKinds matrisen i konfigurationen med minst ett typmönster.
  • Ange wellboreDDMSKinds matrisen i konfigurationen med minst ett typmönster.

Exempelsvar (201 Skapad)

{
  "aczId": "acz-abc123def456",
  "name": "my-acz-wells-and-logs",
  "status": "ACTIVE",
  "aczType": "LATEST_VERSION",
  "targetFormat": "DELTA_PARQUET",
  "sink": {
    "storageType": "microsoft.storage/storageaccounts",
    "storageId": "/subscriptions/{sub-id}/resourceGroups/{rg}/providers/Microsoft.Storage/storageAccounts/{account}",
    "basePath": "acz-output"
  },
  "allCatalogSync": false,
  "configuration": {
    "catalogKinds": [
      "osdu:wks:master-data--Well:*",
      "osdu:wks:reference-data--UnitOfMeasure:*"
    ],
    "wellboreDDMSKinds": [
      "osdu:wks:work-product-component--WellLog:*"
    ]
  },
  "historicalSnapshotStatus": "PROCESSING",
  "createdTs": "2026-03-31T10:00:00Z",
  "updatedTs": "2026-03-31T10:00:00Z",
  "createdBy": "user@contoso.com"
}

När du har skapat ACZ-instansen påbörjar den den historiska ögonblicksbilden i tillståndet PROCESSING. Använd API:et Hämta ACZ för att kontrollera statusen.

Lista ACZ-instanser

Använd API:et List ACZs för att hämta alla ACZ-instanser i en datapartition.

API

GET /api/acz/v1/aczs

# Get auth app ID for your Azure Data Manager for Energy instance
AUTH_APP_ID=$(az resource show --ids /subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.OpenEnergyPlatform/energyServices/{adme-instance-name} --query properties.authAppId -o tsv)

# Get access token
TOKEN=$(az account get-access-token --resource $AUTH_APP_ID --query accessToken -o tsv)

# List ACZ instances
curl --request GET \
  --url https://{base-url}/api/acz/v1/aczs \
  --header "Authorization: Bearer $TOKEN" \
  --header 'Accept: application/json' \
  --header 'data-partition-id: {data-partition-id}'

Ersätt platshållarna

Placeholder Description
{subscription-id} Prenumerations-ID där din Azure Data Manager for Energy-instans finns.
{resource-group} Resursgrupp som innehåller din Azure Data Manager för Energy-instansen.
{adme-instance-name} Namnet på din Azure Data Manager for Energy-instans.
{base-url} Url för din Azure Data Manager for Energy-instans (till exempel myinstance.energy.azure.com).
{data-partition-id} Ditt datapartitions-ID (till exempel opendes).

Exempelsvar (200 OK)

{
  "items": [
    {
      "aczId": "acz-abc123def456",
      "name": "my-acz-wells-and-logs",
      "status": "ACTIVE",
      "aczType": "LATEST_VERSION",
      "targetFormat": "DELTA_PARQUET",
      "sink": {
        "storageType": "microsoft.storage/storageaccounts",
        "storageId": "/subscriptions/{sub-id}/resourceGroups/{rg}/providers/Microsoft.Storage/storageAccounts/{account}",
        "basePath": "acz-output"
      },
      "allCatalogSync": false,
      "configuration": {
        "catalogKinds": [
          "osdu:wks:master-data--Well:*"
        ]
      },
      "historicalSnapshotStatus": "PROCESSING",
      "createdTs": "2026-03-31T10:00:00Z",
      "updatedTs": "2026-03-31T10:00:00Z",
      "createdBy": "user@contoso.com"
    },
    {
      "aczId": "acz-xyz789ghi012",
      "name": "all-catalog-sync-example",
      "status": "ACTIVE",
      "aczType": "LATEST_VERSION",
      "targetFormat": "DELTA_PARQUET",
      "sink": {
        "storageType": "microsoft.storage/storageaccounts",
        "storageId": "/subscriptions/{sub-id}/resourceGroups/{rg}/providers/Microsoft.Storage/storageAccounts/{account}",
        "basePath": "acz-output"
      },
      "allCatalogSync": true,
      "configuration": {
        "wellboreDDMSKinds": [
          "osdu:wks:work-product-component--WellLog:*"
        ]
      },
      "historicalSnapshotStatus": "COMPLETED",
      "createdTs": "2026-03-31T09:00:00Z",
      "updatedTs": "2026-03-31T09:45:00Z",
      "createdBy": "user@contoso.com"
    }
  ],
  "count": 2
}

Svaret listar alla ACZ-instanser oavsett status: ACTIVE, FAILED eller ACCESS_DENIED. Det här svaret visar två ACZ-instanser: en med selektiv katalogsynkronisering (allCatalogSync: false med specifika typer) och en annan som använder allCatalogSync: true för att exportera alla katalogtyper.

Hämta ACZ-information

Använd Get ACZ API (Hämta ACZ API) för att få information om en specifik ACZ-instans.

API

GET /api/acz/v1/aczs/{acz-id}

# Get auth app ID for your Azure Data Manager for Energy instance
AUTH_APP_ID=$(az resource show --ids /subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.OpenEnergyPlatform/energyServices/{adme-instance-name} --query properties.authAppId -o tsv)

# Get access token
TOKEN=$(az account get-access-token --resource $AUTH_APP_ID --query accessToken -o tsv)

# Get ACZ details
curl --request GET \
  --url https://{base-url}/api/acz/v1/aczs/{acz-id} \
  --header "Authorization: Bearer $TOKEN" \
  --header 'Accept: application/json' \
  --header 'data-partition-id: {data-partition-id}'

Ersätt platshållarna

Placeholder Description
{subscription-id} Prenumerations-ID där din Azure Data Manager for Energy-instans finns.
{resource-group} Resursgrupp som innehåller din Azure Data Manager för Energy-instansen.
{adme-instance-name} Namnet på din Azure Data Manager for Energy-instans.
{base-url} Url för din Azure Data Manager for Energy-instans (till exempel myinstance.energy.azure.com).
{data-partition-id} Ditt datapartitions-ID (till exempel opendes).
{acz-id} ACZ-identifierare från svaret Skapa eller Lista (till exempel acz-abc123def456).

Exempelsvar (200 OK)

{
  "aczId": "acz-abc123def456",
  "name": "my-acz-wells-and-logs",
  "status": "ACTIVE",
  "aczType": "LATEST_VERSION",
  "targetFormat": "DELTA_PARQUET",
  "sink": {
    "storageType": "microsoft.storage/storageaccounts",
    "storageId": "/subscriptions/{sub-id}/resourceGroups/{rg}/providers/Microsoft.Storage/storageAccounts/{account}",
    "basePath": "acz-output"
  },
  "allCatalogSync": false,
  "configuration": {
    "catalogKinds": [
      "osdu:wks:master-data--Well:*",
      "osdu:wks:reference-data--UnitOfMeasure:*"
    ],
    "wellboreDDMSKinds": [
      "osdu:wks:work-product-component--WellLog:*"
    ]
  },
  "historicalSnapshotStatus": "COMPLETED",
  "createdTs": "2026-03-31T10:00:00Z",
  "updatedTs": "2026-03-31T10:30:00Z",
  "createdBy": "user@contoso.com"
}

Spåra etablering av ACZ genom att kontrollera fälten status och historicalSnapshotStatus.

Ta bort en ACZ-instans

Använd Ta bort ACZ-API:et för att ta bort en ACZ-konfiguration.

API

DELETE /api/acz/v1/aczs/{acz-id}

Varning

Det går inte att ångra den här borttagningsåtgärden. Den tar bort all ACZ-konfiguration och stoppar synkronisering. Data som redan finns i målkontot för Data Lake Storage Gen2-lagring förblir oförändrade.

# Get auth app ID for your Azure Data Manager for Energy instance
AUTH_APP_ID=$(az resource show --ids /subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.OpenEnergyPlatform/energyServices/{adme-instance-name} --query properties.authAppId -o tsv)

# Get access token
TOKEN=$(az account get-access-token --resource $AUTH_APP_ID --query accessToken -o tsv)

# Delete ACZ instance
curl --request DELETE \
  --url https://{base-url}/api/acz/v1/aczs/{acz-id} \
  --header "Authorization: Bearer $TOKEN" \
  --header 'Accept: application/json' \
  --header 'data-partition-id: {data-partition-id}'

Ersätt platshållarna

Placeholder Description
{subscription-id} Prenumerations-ID där din Azure Data Manager for Energy-instans finns.
{resource-group} Resursgrupp som innehåller din Azure Data Manager för Energy-instansen.
{adme-instance-name} Namnet på din Azure Data Manager for Energy-instans.
{base-url} Url för din Azure Data Manager for Energy-instans (till exempel myinstance.energy.azure.com).
{data-partition-id} Ditt datapartitions-ID (till exempel opendes).
{acz-id} ACZ-identifierare från svaret Skapa eller Lista (till exempel acz-abc123def456).

Exempelsvar (204 Inget innehåll)

En lyckad borttagning returnerar HTTP 204 utan svarstext. ACZ-status ändras till DELETING medan rensningen pågår.

Felsvar

ACZ-API:erna returnerar följande felkoder.

HTTP-statuskod Description
400 Felaktig begäran. Kontrollera begärandetexten för verifieringsfel.
401 Behörighet saknas. Bearer-token saknas eller är ogiltig.
403 Förbjudet. Användaren tillhör inte den behörighetsgrupp som krävs.
404 Hittades inte Det angivna ACZ-ID:t finns inte.
422 Verifieringen misslyckades. Begärandetexten har värden som inte är giltiga.
500 Internt serverfel uppstod. Kontakta supporten om det här felet kvarstår.