Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este tutorial mostra como usar as APIs de gerenciamento da ACZ (Zona de Consumo de Análise) no Azure Data Manager for Energy. Você cria, lista, recupera e exclui instâncias ACZ usando cURL.
Importante
A Zona de Consumo de Análise está atualmente em versão preliminar. Para consultar os termos legais aplicáveis aos recursos do Azure que estão em beta, em prévia ou que ainda não foram disponibilizados de forma geral, consulte Termos de Uso Complementares para Prévias do Microsoft Azure.
Durante a versão prévia, a ACZ fica disponível apenas em instâncias da camada Desenvolvedor e requer o uso de listas de permissões. Siga as diretrizes em Habilitar Zona de Consumo do Analytics e entre em contato com seu representante do Microsoft.
Neste tutorial, você aprenderá como:
- Crie uma instância do ACZ.
- Liste todas as instâncias do ACZ em uma partição de dados.
- Obtenha detalhes de uma instância específica do ACZ.
- Exclua uma instância de ACZ.
Pré-requisitos
- Uma assinatura do Azure. Criar um gratuitamente.
- Uma instância do Azure Data Manager for Energy (camada de desenvolvedor) em sua assinatura de Azure. Crie uma instância do Azure Data Manager para Energia.
- ACZ habilitada para a instância. Consulte Habilitar Zona de Consumo de Análise.
- A CLI do Azure instalada e autenticada (
az login). - cURL (para exemplos de Bash) ou PowerShell 5.1+ (para exemplos do PowerShell).
Dica
Explore a API interativamente: Você pode exibir a especificação completa da API ACZ e os pontos de extremidade de teste usando a interface do usuário do Swagger em https://{instance-name}.energy.azure.com/api/acz/v1/docs. Substitua {instance-name} pelo nome da instância do Azure Data Manager for Energy.
Obter os detalhes da instância do Azure Data Manager for Energy
Reúna esses detalhes da instância do Azure Data Manager for Energy no portal Azure.
Antes de começar
Os exemplos de código neste tutorial usam valores substitutos no formato {curly-braces}. Substitua esses placeholders pelos valores reais ao executar os comandos.
Todas as chamadas à API exigem autenticação. Os exemplos de Bash e PowerShell mostram a geração de token em linha por meio da CLI do Azure. Para métodos de autenticação alternativos, consulte Gerar um token de autenticação.
Criar uma instância do ACZ
Use a API Create ACZ para configurar uma nova instância de ACZ para uma partição de dados.
API
POST /api/acz/v1/aczs
Pontos-chave
- No máximo, três instâncias ACZ por partição de dados (limite de versão preliminar).
- O nome ACZ deve ser exclusivo dentro da partição.
- A identidade gerenciada atribuída pelo usuário deve ser:
- Atribuído ao recurso Azure Data Manager for Energy (consulte Enable Analytics Consumption Zone).
- A função Colaborador de Dados do Blob de Armazenamento foi concedida na conta de armazenamento de destino do Azure Data Lake Storage Gen2.
- Uma conta de armazenamento Data Lake Storage Gen2 com um namespace hierárquico habilitado é necessária.
# 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}"]
}
}'
Substitua os espaços reservados
| Espaço reservado | Description |
|---|---|
{subscription-id} |
ID da assinatura em que sua instância do Azure Data Manager for Energy reside. |
{resource-group} |
Grupo de recursos que contém sua instância do Azure Data Manager para Energia. |
{adme-instance-name} |
O nome da instância do Azure Data Manager para Energia. |
{base-url} |
A URL da sua instância do Azure Data Manager para Energia (por exemplo, myinstance.energy.azure.com). |
{data-partition-id} |
Sua ID de partição de dados (por exemplo, opendes). |
{acz-name} |
Nome de exibição para a instância ACZ (1 a 100 caracteres, por exemplo, my-acz-wells-and-logs). |
{acz-type} |
Opcional: LATEST_VERSION (padrão) exporta apenas a versão mais recente e ALL_VERSIONS exporta todas as versões. |
{storage-resource-id} |
ID de recurso do Azure da conta de armazenamento de destino do Data Lake Storage Gen2 (por exemplo, /subscriptions/xxx.../storageAccounts/mystorageacct). |
{base-path} |
Opcional: caminho base dentro da conta de armazenamento para saída de dados ACZ (por exemplo, acz-output). |
allCatalogSync |
Opcional (padrão: false). Quando definido como true, exporta todos os tipos de catálogo da partição. Especificado fora da seção configuration. Quando true, catalogKinds e wellboreDDMSKinds na configuração são ignorados para dados de catálogo. |
{catalog-kinds} |
Opcional: cadeias de caracteres do tipo catálogo OSDU® a serem sincronizadas (por exemplo, ["osdu:wks:master-data--Well:*"]). Ignorado se allCatalogSync for true. |
{wellbore-ddms-kinds} |
Opcional: cadeias de caracteres tipo DDMS (Wellbore Domain Gerenciamento de Dados Service) a serem sincronizadas (por exemplo, ["osdu:wks:work-product-component--WellLog:*"]). Os downloads de arquivo ocorrem apenas para tipos listados aqui. |
Dica
Exportar todos os dados do catálogo: Defina "allCatalogSync": true (fora da configuration seção) para exportar todos os tipos de catálogo da partição de dados. Quando habilitado, as matrizes catalogKinds e wellboreDDMSKinds na configuração são ignoradas para dados de catálogo. Os downloads de arquivo em massa do Wellbore DDMS ainda ocorrem apenas para tipos listados em wellboreDDMSKinds.
Você deve fornecer pelo menos uma das seguintes opções:
- Definir
"allCatalogSync": true(configuração externa). - Forneça a matriz
catalogKindsna configuração com pelo menos um padrão de tipo. - Forneça a matriz
wellboreDDMSKindsna configuração com pelo menos um padrão de tipo.
Resposta de exemplo (201 criado)
{
"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"
}
Depois que você criar a instância de ACZ, ela iniciará o instantâneo histórico com o estado PROCESSING. Use a API Get ACZ para verificar o status.
Listar instâncias do ACZ
Use a API List ACZs para obter todas as instâncias de ACZ em uma partição de dados.
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}'
Substitua os espaços reservados
| Espaço reservado | Description |
|---|---|
{subscription-id} |
ID da assinatura em que sua instância do Azure Data Manager for Energy reside. |
{resource-group} |
Grupo de recursos que contém sua instância do Azure Data Manager para Energia. |
{adme-instance-name} |
O nome da instância do Azure Data Manager para Energia. |
{base-url} |
A URL da sua instância do Azure Data Manager para Energia (por exemplo, myinstance.energy.azure.com). |
{data-partition-id} |
Sua ID de partição de dados (por exemplo, opendes). |
Resposta de exemplo (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
}
A resposta lista todas as instâncias ACZ em qualquer status: ACTIVE, FAILEDou ACCESS_DENIED. Essa resposta mostra duas instâncias de ACZ: uma usando a sincronização de catálogo seletiva (allCatalogSync: false com tipos específicos) e outra usando allCatalogSync: true para exportar todos os tipos de catálogo.
Obter detalhes do ACZ
Use a API Get ACZ para obter detalhes de uma instância específica da ACZ.
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}'
Substitua os espaços reservados
| Espaço reservado | Description |
|---|---|
{subscription-id} |
ID da assinatura em que sua instância do Azure Data Manager for Energy reside. |
{resource-group} |
Grupo de recursos que contém sua instância do Azure Data Manager for Energy. |
{adme-instance-name} |
O nome da instância do Azure Data Manager para Energia. |
{base-url} |
A URL da sua instância do Azure Data Manager para Energia (por exemplo, myinstance.energy.azure.com). |
{data-partition-id} |
Sua ID de partição de dados (por exemplo, opendes). |
{acz-id} |
Identificador de ACZ da resposta Criar ou Listar (por exemplo, acz-abc123def456). |
Resposta de exemplo (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 acompanhar o provisionamento do ACZ, verifique os campos status e historicalSnapshotStatus.
Excluir uma instância do ACZ
Use a API Delete ACZ para remover uma configuração de ACZ.
API
DELETE /api/acz/v1/aczs/{acz-id}
Aviso
Essa ação de exclusão não pode ser desfeita. Remove toda a configuração do ACZ e interrompe a sincronização. Os dados que já estão na conta de armazenamento Data Lake Storage Gen2 de destino permanecem 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}'
Substitua os espaços reservados
| Espaço reservado | Description |
|---|---|
{subscription-id} |
ID da assinatura em que sua instância do Azure Data Manager for Energy reside. |
{resource-group} |
Grupo de recursos que contém sua instância do Azure Data Manager para Energia. |
{adme-instance-name} |
O nome da instância do Azure Data Manager para Energia. |
{base-url} |
A URL da sua instância do Azure Data Manager para Energia (por exemplo, myinstance.energy.azure.com). |
{data-partition-id} |
Sua ID de partição de dados (por exemplo, opendes). |
{acz-id} |
Identificador de ACZ da resposta Criar ou Listar (por exemplo, acz-abc123def456). |
Resposta de exemplo (204 Sem conteúdo)
Uma exclusão bem-sucedida retorna HTTP 204 sem corpo de resposta. O status do ACZ muda para DELETING enquanto a limpeza é executada.
Respostas de erro
As APIs ACZ retornam os seguintes códigos de erro.
| Status de HTTP | Description |
|---|---|
400 |
Solicitação incorreta. Verifique se há erros de validação no corpo da solicitação. |
401 |
Não autorizado. O token de portador está ausente ou não é válido. |
403 |
Negado. O usuário não pertence ao grupo de direitos necessário. |
404 |
Não encontrado. A ID ACZ especificada não existe. |
422 |
Falha na validação. O corpo da solicitação tem valores que não são válidos. |
500 |
Erro interno do servidor. Entre em contato com o suporte se esse erro persistir. |