Tutorial: Usar las API de Consumption Zone de análisis

En este tutorial se muestra cómo usar las API de administración de la zona de consumo de análisis (ACZ) en Azure Data Manager for Energy. Puede crear, enumerar, recuperar y eliminar instancias de ACZ mediante cURL.

Importante

La zona de consumo de Analytics está actualmente en versión preliminar. Para conocer los términos legales que se aplican a las características de Azure que se encuentran en versión beta, versión preliminar o que aún no se han publicado en disponibilidad general, consulte Términos de uso complementarios para las versiones preliminares de Microsoft Azure.

Durante la versión preliminar, ACZ solo está disponible en instancias de nivel de desarrollador y requiere el uso de listas de permitidos. Siga las instrucciones de Enable Analytics Consumption Zone (Habilitar zona de consumo de Analytics) y póngase en contacto con su representante de Microsoft.

En este tutorial aprenderá a:

  • Cree una instancia de ACZ.
  • Enumere todas las instancias de ACZ en una partición de datos.
  • Obtenga detalles de una instancia de ACZ específica.
  • Elimine una instancia de ACZ.

Prerequisites

Sugerencia

Explore la API de forma interactiva: Puede ver la especificación completa de la API de ACZ y los puntos de conexión de prueba mediante la interfaz de usuario de Swagger en https://{instance-name}.energy.azure.com/api/acz/v1/docs. Reemplace {instance-name} por el nombre de la instancia de Azure Data Manager para Energy.

Obtenga los detalles de su instancia de Azure Data Manager para Energía

Recopila estos datos de su instancia de Azure Data Manager for Energy en el portal de Azure.

Antes de empezar

En los ejemplos de código de este tutorial se usan valores de marcador de posición en formato {curly-braces}. Reemplace estos marcadores de posición por los valores reales al ejecutar los comandos.

Todas las llamadas API requieren autenticación. Los ejemplos de Bash y PowerShell muestran la generación de tokens en línea mediante la CLI de Azure. Para obtener métodos de autenticación alternativos, consulte Generación de un token de autenticación.

Creación de una instancia de ACZ

Use la API Create ACZ para configurar una nueva instancia de ACZ para una partición de datos.

API

POST /api/acz/v1/aczs

Puntos clave

  • Un máximo de tres instancias de ACZ por partición de datos (límite de versión preliminar).
  • El nombre de ACZ debe ser único dentro de la partición.
  • La identidad administrada asignada por el usuario debe ser:
    • Asignado a su recurso de Azure Data Manager for Energy (consulte Habilitar la zona de consumo de análisis).
    • Se concedió el rol Colaborador de datos de Storage Blob en la cuenta de almacenamiento Azure Data Lake Storage Gen2 de destino.
  • Se requiere una cuenta de almacenamiento Data Lake Storage Gen2 con un espacio de nombres jerárquico habilitado.
# 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}"]
    }
  }'

Reemplazar los marcadores de posición

Marcador de posición Description
{subscription-id} Identificador de la suscripción donde reside su instancia de Azure Data Manager for Energy.
{resource-group} Grupo de recursos que contiene la instancia de Azure Data Manager for Energy.
{adme-instance-name} El nombre de la instancia de Azure Data Manager para Energía.
{base-url} La dirección URL de la instancia de Azure Data Manager for Energy (por ejemplo, myinstance.energy.azure.com).
{data-partition-id} Su ID de partición de datos (por ejemplo, opendes).
{acz-name} Nombre para mostrar de la instancia ACZ (1-100 caracteres, por ejemplo, my-acz-wells-and-logs).
{acz-type} Opcional: LATEST_VERSION (valor predeterminado) exporta solo la versión más reciente y ALL_VERSIONS exporta todas las versiones.
{storage-resource-id} Identificador de recurso de Azure de la cuenta de almacenamiento de destino de Data Lake Storage Gen2 (por ejemplo, /subscriptions/xxx.../storageAccounts/mystorageacct).
{base-path} Opcional: ruta base dentro de la cuenta de almacenamiento para los datos de salida de ACZ (por ejemplo, acz-output).
allCatalogSync Opcional (valor predeterminado: false). Cuando se establece en true, exporta todos los tipos de catálogo de la partición. Se especifica fuera de la sección configuration. Cuando true, catalogKinds y wellboreDDMSKinds en la configuración se omiten para los datos del catálogo.
{catalog-kinds} Opcional: cadenas de tipo de catálogo de OSDU® para sincronizar (por ejemplo, ["osdu:wks:master-data--Well:*"]). Se omite si allCatalogSync es true.
{wellbore-ddms-kinds} Opcional: cadenas de tipo del Servicio de administración de datos del dominio Wellbore (DDMS) para sincronizar (por ejemplo, ["osdu:wks:work-product-component--WellLog:*"]). Las descargas de archivos solo se producen para los tipos enumerados aquí.

Sugerencia

Exportar todos los datos del catálogo: Establezca "allCatalogSync": true (fuera de la sección) para exportar todos los tipos de catálogo desde la configuration partición de datos. Cuando está activado, los arrays catalogKinds y wellboreDDMSKinds de la configuración se ignoran para los datos del catálogo. Las descargas masivas de archivos DDMS de Wellbore todavía se producen solo para los tipos enumerados en wellboreDDMSKinds.

Debe proporcionar al menos una de las siguientes opciones:

  • Establecer "allCatalogSync": true (configuración externa).
  • Proporcionar una matriz catalogKinds en la configuración con al menos un patrón de tipo.
  • Proporcionar una matriz wellboreDDMSKinds en la configuración con al menos un patrón de tipo.

Respuesta de ejemplo (201 Creado)

{
  "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"
}

Después de crear la instancia de ACZ, se inicia la instantánea histórica en el estado PROCESSING. Use la API Get ACZ para comprobar el estado.

Listar instancias de ACZ

Use list ACZs API para obtener todas las instancias de ACZ en una partición de datos.

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}'

Reemplazar los marcadores de posición

Marcador de posición Description
{subscription-id} Identificador de la suscripción donde reside su instancia de Azure Data Manager for Energy.
{resource-group} Grupo de recursos que contiene la instancia de Azure Data Manager for Energy.
{adme-instance-name} El nombre de la instancia de Azure Data Manager para Energía.
{base-url} La dirección URL de la instancia de Azure Data Manager for Energy (por ejemplo, myinstance.energy.azure.com).
{data-partition-id} Su ID de partición de datos (por ejemplo, opendes).

Respuesta de ejemplo (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
}

La respuesta enumera todas las instancias de ACZ en cualquier estado: ACTIVE, FAILEDo ACCESS_DENIED. Esta respuesta muestra dos instancias de ACZ: una que usa la sincronización selectiva del catálogo (allCatalogSync: false con tipos específicos) y otra mediante allCatalogSync: true para exportar todos los tipos de catálogo.

Obtención de detalles de ACZ

Use la API Get ACZ para obtener detalles de una instancia de ACZ específica.

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}'

Reemplazar los marcadores de posición

Marcador de posición Description
{subscription-id} Identificador de la suscripción donde reside su instancia de Azure Data Manager for Energy.
{resource-group} Grupo de recursos que contiene la instancia de Azure Data Manager for Energy.
{adme-instance-name} El nombre de la instancia de Azure Data Manager para Energía.
{base-url} La dirección URL de la instancia de Azure Data Manager for Energy (por ejemplo, myinstance.energy.azure.com).
{data-partition-id} Su identificador de partición de datos (por ejemplo, opendes).
{acz-id} Identificador de ACZ de la respuesta Crear o Enumerar (por ejemplo, acz-abc123def456).

Respuesta de ejemplo (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"
}

Para realizar un seguimiento del aprovisionamiento de ACZ, compruebe los campos status y historicalSnapshotStatus.

Eliminación de una instancia de ACZ

Use la API Delete ACZ para quitar una configuración de ACZ.

API

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

Advertencia

Esta acción de eliminación no se puede deshacer. Quita toda la configuración de ACZ y detiene la sincronización. Los datos que ya están en el destino Data Lake Storage Gen2 cuenta de almacenamiento permanecen intactos.

# 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}'

Reemplazar los marcadores de posición

Marcador de posición Description
{subscription-id} Identificador de la suscripción donde reside su instancia de Azure Data Manager for Energy.
{resource-group} Grupo de recursos que contiene la instancia de Azure Data Manager for Energy.
{adme-instance-name} El nombre de la instancia de Azure Data Manager para Energía.
{base-url} La dirección URL de la instancia de Azure Data Manager for Energy (por ejemplo, myinstance.energy.azure.com).
{data-partition-id} Su ID de partición de datos (por ejemplo, opendes).
{acz-id} Identificador ACZ de la respuesta de Crear o Listar (por ejemplo, acz-abc123def456).

Respuesta de ejemplo (204 Sin contenido)

Si la eliminación se realiza correctamente, devuelve el código de estado HTTP 204 sin cuerpo de respuesta. El estado de ACZ cambia a DELETING mientras se ejecuta la limpieza.

Respuestas de error

Las API de ACZ devuelven los siguientes códigos de error.

Estado HTTP Description
400 Solicitud incorrecta. Compruebe el cuerpo de la solicitud para ver si hay errores de validación.
401 No autorizado. Falta el token de portador o no es válido.
403 Prohibido. El usuario no pertenece al grupo de derechos requerido.
404 No encontrado. El identificador de ACZ especificado no existe.
422 Error de validación. El cuerpo de la solicitud tiene valores que no son válidos.
500 Error interno del servidor. Póngase en contacto con el soporte técnico si este error persiste.