Opération de création ou de mise à jour d’une exportation. L’opération de mise à jour nécessite la définition du dernier eTag dans la requête. Vous pouvez obtenir le dernier eTag en effectuant une opération get. L’opération de création ne nécessite pas d’eTag.
PUT https://management.azure.com/{scope}/providers/Microsoft.CostManagement/exports/{exportName}?api-version=2025-03-01
Paramètres URI
| Nom |
Dans |
Obligatoire |
Type |
Description |
|
exportName
|
path |
True
|
string
|
Nom de l’exportation.
|
|
scope
|
path |
True
|
string
|
Identificateur Azure Resource Manager complet de la ressource.
|
|
api-version
|
query |
True
|
string
minLength: 1
|
Version de l’API à utiliser pour cette opération.
|
Corps de la demande
| Nom |
Obligatoire |
Type |
Description |
|
properties.definition
|
True
|
ExportDefinition
|
A la définition de l’exportation.
|
|
properties.deliveryInfo
|
True
|
ExportDeliveryInfo
|
Contient des informations de remise pour l’exportation.
|
|
eTag
|
|
string
|
eTag de la ressource. Pour gérer le scénario de mise à jour simultanée, ce champ sera utilisé pour déterminer si l’utilisateur met à jour la dernière version ou non.
|
|
identity
|
|
SystemAssignedServiceIdentity
|
Identité managée associée à l’exportation
|
|
location
|
|
string
|
Emplacement de l’identité managée de l’exportation. Obligatoire uniquement lors de l’utilisation de l’identité managée.
|
|
properties.compressionMode
|
|
CompressionModeType
|
Autoriser les clients à sélectionner compresser les données pour les exportations. Ce paramètre active le schéma de compression de fichiers de destination au moment de l’exécution. Par défaut, la valeur None est définie sur None. Gzip est destiné aux fichiers csv et snappy pour parquet.
|
|
properties.dataOverwriteBehavior
|
|
DataOverwriteBehaviorType
|
Autoriser les clients à sélectionner des données de remplacement (OverwritePreviousReport) pour les exportations. Ce paramètre active les données de remplacement pour le même mois dans le compte de stockage client. Par défaut, définissez CreateNewReport.
|
|
properties.exportDescription
|
|
string
|
Description de l’exportation définie par le client au moment de la création/mise à jour de l’exportation.
|
|
properties.format
|
|
FormatType
|
Format de l’exportation en cours de remise.
|
|
properties.partitionData
|
|
boolean
|
Si la valeur est true, les données exportées sont partitionnés par taille et placées dans un répertoire d’objets blob avec un fichier manifeste.
|
|
properties.runHistory
|
|
ExportExecutionListResult
|
Si nécessaire, dispose de l’historique d’exécution le plus récent pour l’exportation.
|
|
properties.schedule
|
|
ExportSchedule
|
Contient des informations de planification pour l’exportation.
|
Réponses
| Nom |
Type |
Description |
|
200 OK
|
Export
|
Opération de mise à jour « Export » de la ressource réussie
|
|
201 Created
|
Export
|
Opération de création de ressource 'Export' réussie
|
|
Other Status Codes
|
ErrorResponse
|
Réponse d’erreur inattendue.
|
Sécurité
azure_auth
Flux OAuth2 Azure Active Directory.
Type:
oauth2
Flux:
implicit
URL d’autorisation:
https://login.microsoftonline.com/common/oauth2/authorize
Étendues
| Nom |
Description |
|
user_impersonation
|
emprunter l’identité de votre compte d’utilisateur
|
Exemples
ExportCreateOrUpdateByBillingAccount
Exemple de requête
PUT https://management.azure.com/providers/Microsoft.Billing/billingAccounts/123456/providers/Microsoft.CostManagement/exports/TestExport?api-version=2025-03-01
{
"identity": {
"type": "SystemAssigned"
},
"location": "centralus",
"properties": {
"format": "Csv",
"compressionMode": "gzip",
"dataOverwriteBehavior": "OverwritePreviousReport",
"definition": {
"type": "ActualCost",
"dataSet": {
"configuration": {
"dataVersion": "2023-05-01"
},
"granularity": "Daily"
},
"timeframe": "MonthToDate"
},
"deliveryInfo": {
"destination": {
"type": "AzureBlob",
"container": "exports",
"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
"rootFolderPath": "ad-hoc"
}
},
"exportDescription": "This is a test export.",
"partitionData": true,
"schedule": {
"recurrence": "Daily",
"recurrencePeriod": {
"from": "2020-06-01T00:00:00Z",
"to": "2020-06-30T00:00:00Z"
},
"status": "Active"
}
}
}
from azure.identity import DefaultAzureCredential
from azure.mgmt.costmanagement import CostManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-costmanagement
# USAGE
python export_create_or_update_by_billing_account.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = CostManagementClient(
credential=DefaultAzureCredential(),
)
response = client.exports.create_or_update(
scope="providers/Microsoft.Billing/billingAccounts/123456",
export_name="TestExport",
parameters={
"identity": {"type": "SystemAssigned"},
"location": "centralus",
"properties": {
"compressionMode": "gzip",
"dataOverwriteBehavior": "OverwritePreviousReport",
"definition": {
"dataSet": {"configuration": {"dataVersion": "2023-05-01"}, "granularity": "Daily"},
"timeframe": "MonthToDate",
"type": "ActualCost",
},
"deliveryInfo": {
"destination": {
"container": "exports",
"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
"rootFolderPath": "ad-hoc",
"type": "AzureBlob",
}
},
"exportDescription": "This is a test export.",
"format": "Csv",
"partitionData": True,
"schedule": {
"recurrence": "Daily",
"recurrencePeriod": {"from": "2020-06-01T00:00:00Z", "to": "2020-06-30T00:00:00Z"},
"status": "Active",
},
},
},
)
print(response)
# x-ms-original-file: 2025-03-01/ExportCreateOrUpdateByBillingAccount.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armcostmanagement_test
import (
"context"
"log"
"time"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/costmanagement/armcostmanagement/v3"
)
// Generated from example definition: 2025-03-01/ExportCreateOrUpdateByBillingAccount.json
func ExampleExportsClient_CreateOrUpdate_exportCreateOrUpdateByBillingAccount() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armcostmanagement.NewClientFactory(cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewExportsClient().CreateOrUpdate(ctx, "providers/Microsoft.Billing/billingAccounts/123456", "TestExport", armcostmanagement.Export{
Identity: &armcostmanagement.SystemAssignedServiceIdentity{
Type: to.Ptr(armcostmanagement.SystemAssignedServiceIdentityTypeSystemAssigned),
},
Location: to.Ptr("centralus"),
Properties: &armcostmanagement.ExportProperties{
Format: to.Ptr(armcostmanagement.FormatTypeCSV),
CompressionMode: to.Ptr(armcostmanagement.CompressionModeTypeGzip),
DataOverwriteBehavior: to.Ptr(armcostmanagement.DataOverwriteBehaviorTypeOverwritePreviousReport),
Definition: &armcostmanagement.ExportDefinition{
Type: to.Ptr(armcostmanagement.ExportTypeActualCost),
DataSet: &armcostmanagement.ExportDataset{
Configuration: &armcostmanagement.ExportDatasetConfiguration{
DataVersion: to.Ptr("2023-05-01"),
},
Granularity: to.Ptr(armcostmanagement.GranularityTypeDaily),
},
Timeframe: to.Ptr(armcostmanagement.TimeframeTypeMonthToDate),
},
DeliveryInfo: &armcostmanagement.ExportDeliveryInfo{
Destination: &armcostmanagement.ExportDeliveryDestination{
Type: to.Ptr(armcostmanagement.DestinationTypeAzureBlob),
Container: to.Ptr("exports"),
ResourceID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182"),
RootFolderPath: to.Ptr("ad-hoc"),
},
},
ExportDescription: to.Ptr("This is a test export."),
PartitionData: to.Ptr(true),
Schedule: &armcostmanagement.ExportSchedule{
Recurrence: to.Ptr(armcostmanagement.RecurrenceTypeDaily),
RecurrencePeriod: &armcostmanagement.ExportRecurrencePeriod{
From: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-06-01T00:00:00Z"); return t }()),
To: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-06-30T00:00:00Z"); return t }()),
},
Status: to.Ptr(armcostmanagement.StatusTypeActive),
},
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res = armcostmanagement.ExportsClientCreateOrUpdateResponse{
// Export: armcostmanagement.Export{
// Name: to.Ptr("TestExport"),
// Type: to.Ptr("Microsoft.CostManagement/exports"),
// ETag: to.Ptr(azcore.ETag("\"00000000-0000-0000-0000-000000000000\"")),
// ID: to.Ptr("/providers/Microsoft.Billing/billingAccounts/123456/providers/Microsoft.CostManagement/exports/TestExport"),
// Identity: &armcostmanagement.SystemAssignedServiceIdentity{
// Type: to.Ptr(armcostmanagement.SystemAssignedServiceIdentityTypeSystemAssigned),
// PrincipalID: to.Ptr("00000000-0000-0000-0000-000000000000"),
// TenantID: to.Ptr("00000000-0000-0000-0000-000000000000"),
// },
// Location: to.Ptr("centralus"),
// Properties: &armcostmanagement.ExportProperties{
// Format: to.Ptr(armcostmanagement.FormatTypeCSV),
// CompressionMode: to.Ptr(armcostmanagement.CompressionModeTypeGzip),
// DataOverwriteBehavior: to.Ptr(armcostmanagement.DataOverwriteBehaviorTypeOverwritePreviousReport),
// Definition: &armcostmanagement.ExportDefinition{
// Type: to.Ptr(armcostmanagement.ExportTypeActualCost),
// DataSet: &armcostmanagement.ExportDataset{
// Configuration: &armcostmanagement.ExportDatasetConfiguration{
// DataVersion: to.Ptr("2023-05-01"),
// },
// Granularity: to.Ptr(armcostmanagement.GranularityTypeDaily),
// },
// Timeframe: to.Ptr(armcostmanagement.TimeframeTypeMonthToDate),
// },
// DeliveryInfo: &armcostmanagement.ExportDeliveryInfo{
// Destination: &armcostmanagement.ExportDeliveryDestination{
// Container: to.Ptr("exports"),
// ResourceID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182"),
// RootFolderPath: to.Ptr("ad-hoc"),
// },
// },
// ExportDescription: to.Ptr("This is a test export."),
// NextRunTimeEstimate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-06-01T23:00:00Z"); return t}()),
// PartitionData: to.Ptr(true),
// Schedule: &armcostmanagement.ExportSchedule{
// Recurrence: to.Ptr(armcostmanagement.RecurrenceTypeDaily),
// RecurrencePeriod: &armcostmanagement.ExportRecurrencePeriod{
// From: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-06-01T00:00:00Z"); return t}()),
// To: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-06-30T00:00:00Z"); return t}()),
// },
// Status: to.Ptr(armcostmanagement.StatusTypeActive),
// },
// },
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { CostManagementClient } = require("@azure/arm-costmanagement");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to the operation to create or update a export. Update operation requires latest eTag to be set in the request. You may obtain the latest eTag by performing a get operation. Create operation does not require eTag.
*
* @summary the operation to create or update a export. Update operation requires latest eTag to be set in the request. You may obtain the latest eTag by performing a get operation. Create operation does not require eTag.
* x-ms-original-file: 2025-03-01/ExportCreateOrUpdateByBillingAccount.json
*/
async function exportCreateOrUpdateByBillingAccount() {
const credential = new DefaultAzureCredential();
const client = new CostManagementClient(credential);
const result = await client.exports.createOrUpdate(
"providers/Microsoft.Billing/billingAccounts/123456",
"TestExport",
{
identity: { type: "SystemAssigned" },
location: "centralus",
format: "Csv",
compressionMode: "gzip",
dataOverwriteBehavior: "OverwritePreviousReport",
definition: {
type: "ActualCost",
dataSet: { configuration: { dataVersion: "2023-05-01" }, granularity: "Daily" },
timeframe: "MonthToDate",
},
deliveryInfo: {
destination: {
type: "AzureBlob",
container: "exports",
resourceId:
"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
rootFolderPath: "ad-hoc",
},
},
exportDescription: "This is a test export.",
partitionData: true,
schedule: {
recurrence: "Daily",
recurrencePeriod: {
from: new Date("2020-06-01T00:00:00Z"),
to: new Date("2020-06-30T00:00:00Z"),
},
status: "Active",
},
},
);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Exemple de réponse
{
"name": "TestExport",
"type": "Microsoft.CostManagement/exports",
"eTag": "\"00000000-0000-0000-0000-000000000000\"",
"id": "/providers/Microsoft.Billing/billingAccounts/123456/providers/Microsoft.CostManagement/exports/TestExport",
"identity": {
"type": "SystemAssigned",
"principalId": "00000000-0000-0000-0000-000000000000",
"tenantId": "00000000-0000-0000-0000-000000000000"
},
"location": "centralus",
"properties": {
"format": "Csv",
"compressionMode": "gzip",
"dataOverwriteBehavior": "OverwritePreviousReport",
"definition": {
"type": "ActualCost",
"dataSet": {
"configuration": {
"dataVersion": "2023-05-01"
},
"granularity": "Daily"
},
"timeframe": "MonthToDate"
},
"deliveryInfo": {
"destination": {
"container": "exports",
"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
"rootFolderPath": "ad-hoc"
}
},
"exportDescription": "This is a test export.",
"nextRunTimeEstimate": "2020-06-01T23:00:00Z",
"partitionData": true,
"schedule": {
"recurrence": "Daily",
"recurrencePeriod": {
"from": "2020-06-01T00:00:00Z",
"to": "2020-06-30T00:00:00Z"
},
"status": "Active"
}
}
}
{
"name": "TestExport",
"type": "Microsoft.CostManagement/exports",
"eTag": "\"00000000-0000-0000-0000-000000000000\"",
"id": "/providers/Microsoft.Billing/billingAccounts/123456/providers/Microsoft.CostManagement/exports/TestExport",
"identity": {
"type": "SystemAssigned",
"principalId": "00000000-0000-0000-0000-000000000000",
"tenantId": "00000000-0000-0000-0000-000000000000"
},
"location": "centralus",
"properties": {
"format": "Csv",
"compressionMode": "gzip",
"dataOverwriteBehavior": "OverwritePreviousReport",
"definition": {
"type": "ActualCost",
"dataSet": {
"configuration": {
"dataVersion": "2023-05-01"
},
"granularity": "Daily"
},
"timeframe": "MonthToDate"
},
"deliveryInfo": {
"destination": {
"container": "exports",
"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
"rootFolderPath": "ad-hoc"
}
},
"exportDescription": "This is a test export.",
"nextRunTimeEstimate": "2020-06-01T23:00:00Z",
"partitionData": true,
"schedule": {
"recurrence": "Daily",
"recurrencePeriod": {
"from": "2020-06-01T00:00:00Z",
"to": "2020-06-30T00:00:00Z"
},
"status": "Active"
}
}
}
ExportCreateOrUpdateByBillingAccountCustom
Exemple de requête
PUT https://management.azure.com/providers/Microsoft.Billing/billingAccounts/123456/providers/Microsoft.CostManagement/exports/TestExport?api-version=2025-03-01
{
"identity": {
"type": "SystemAssigned"
},
"location": "centralus",
"properties": {
"format": "Csv",
"compressionMode": "gzip",
"dataOverwriteBehavior": "OverwritePreviousReport",
"definition": {
"type": "ActualCost",
"dataSet": {
"configuration": {
"dataVersion": "2023-05-01"
},
"granularity": "Daily"
},
"timePeriod": {
"from": "2025-04-03T00:00:00.000Z",
"to": "2025-04-03T00:00:00.000Z"
},
"timeframe": "Custom"
},
"deliveryInfo": {
"destination": {
"type": "AzureBlob",
"container": "exports",
"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
"rootFolderPath": "ad-hoc"
}
},
"exportDescription": "This is a test export.",
"partitionData": true,
"schedule": {
"status": "Inactive"
}
}
}
from azure.identity import DefaultAzureCredential
from azure.mgmt.costmanagement import CostManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-costmanagement
# USAGE
python export_create_or_update_by_billing_account_custom.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = CostManagementClient(
credential=DefaultAzureCredential(),
)
response = client.exports.create_or_update(
scope="providers/Microsoft.Billing/billingAccounts/123456",
export_name="TestExport",
parameters={
"identity": {"type": "SystemAssigned"},
"location": "centralus",
"properties": {
"compressionMode": "gzip",
"dataOverwriteBehavior": "OverwritePreviousReport",
"definition": {
"dataSet": {"configuration": {"dataVersion": "2023-05-01"}, "granularity": "Daily"},
"timePeriod": {"from": "2025-04-03T00:00:00.000Z", "to": "2025-04-03T00:00:00.000Z"},
"timeframe": "Custom",
"type": "ActualCost",
},
"deliveryInfo": {
"destination": {
"container": "exports",
"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
"rootFolderPath": "ad-hoc",
"type": "AzureBlob",
}
},
"exportDescription": "This is a test export.",
"format": "Csv",
"partitionData": True,
"schedule": {"status": "Inactive"},
},
},
)
print(response)
# x-ms-original-file: 2025-03-01/ExportCreateOrUpdateByBillingAccountCustom.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armcostmanagement_test
import (
"context"
"log"
"time"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/costmanagement/armcostmanagement/v3"
)
// Generated from example definition: 2025-03-01/ExportCreateOrUpdateByBillingAccountCustom.json
func ExampleExportsClient_CreateOrUpdate_exportCreateOrUpdateByBillingAccountCustom() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armcostmanagement.NewClientFactory(cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewExportsClient().CreateOrUpdate(ctx, "providers/Microsoft.Billing/billingAccounts/123456", "TestExport", armcostmanagement.Export{
Identity: &armcostmanagement.SystemAssignedServiceIdentity{
Type: to.Ptr(armcostmanagement.SystemAssignedServiceIdentityTypeSystemAssigned),
},
Location: to.Ptr("centralus"),
Properties: &armcostmanagement.ExportProperties{
Format: to.Ptr(armcostmanagement.FormatTypeCSV),
CompressionMode: to.Ptr(armcostmanagement.CompressionModeTypeGzip),
DataOverwriteBehavior: to.Ptr(armcostmanagement.DataOverwriteBehaviorTypeOverwritePreviousReport),
Definition: &armcostmanagement.ExportDefinition{
Type: to.Ptr(armcostmanagement.ExportTypeActualCost),
DataSet: &armcostmanagement.ExportDataset{
Configuration: &armcostmanagement.ExportDatasetConfiguration{
DataVersion: to.Ptr("2023-05-01"),
},
Granularity: to.Ptr(armcostmanagement.GranularityTypeDaily),
},
TimePeriod: &armcostmanagement.ExportTimePeriod{
From: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2025-04-03T00:00:00.000Z"); return t }()),
To: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2025-04-03T00:00:00.000Z"); return t }()),
},
Timeframe: to.Ptr(armcostmanagement.TimeframeTypeCustom),
},
DeliveryInfo: &armcostmanagement.ExportDeliveryInfo{
Destination: &armcostmanagement.ExportDeliveryDestination{
Type: to.Ptr(armcostmanagement.DestinationTypeAzureBlob),
Container: to.Ptr("exports"),
ResourceID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182"),
RootFolderPath: to.Ptr("ad-hoc"),
},
},
ExportDescription: to.Ptr("This is a test export."),
PartitionData: to.Ptr(true),
Schedule: &armcostmanagement.ExportSchedule{
Status: to.Ptr(armcostmanagement.StatusTypeInactive),
},
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res = armcostmanagement.ExportsClientCreateOrUpdateResponse{
// Export: armcostmanagement.Export{
// Name: to.Ptr("TestExport"),
// Type: to.Ptr("Microsoft.CostManagement/exports"),
// ETag: to.Ptr(azcore.ETag("\"00000000-0000-0000-0000-000000000000\"")),
// ID: to.Ptr("/providers/Microsoft.Billing/billingAccounts/123456/providers/Microsoft.CostManagement/exports/TestExport"),
// Identity: &armcostmanagement.SystemAssignedServiceIdentity{
// Type: to.Ptr(armcostmanagement.SystemAssignedServiceIdentityTypeSystemAssigned),
// PrincipalID: to.Ptr("00000000-0000-0000-0000-000000000000"),
// TenantID: to.Ptr("00000000-0000-0000-0000-000000000000"),
// },
// Location: to.Ptr("centralus"),
// Properties: &armcostmanagement.ExportProperties{
// Format: to.Ptr(armcostmanagement.FormatTypeCSV),
// CompressionMode: to.Ptr(armcostmanagement.CompressionModeTypeGzip),
// DataOverwriteBehavior: to.Ptr(armcostmanagement.DataOverwriteBehaviorTypeOverwritePreviousReport),
// Definition: &armcostmanagement.ExportDefinition{
// Type: to.Ptr(armcostmanagement.ExportTypeActualCost),
// DataSet: &armcostmanagement.ExportDataset{
// Configuration: &armcostmanagement.ExportDatasetConfiguration{
// DataVersion: to.Ptr("2023-05-01"),
// },
// Granularity: to.Ptr(armcostmanagement.GranularityTypeDaily),
// },
// TimePeriod: &armcostmanagement.ExportTimePeriod{
// From: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2025-04-03T00:00:00Z"); return t}()),
// To: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2025-04-03T00:00:00Z"); return t}()),
// },
// Timeframe: to.Ptr(armcostmanagement.TimeframeTypeCustom),
// },
// DeliveryInfo: &armcostmanagement.ExportDeliveryInfo{
// Destination: &armcostmanagement.ExportDeliveryDestination{
// Container: to.Ptr("exports"),
// ResourceID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182"),
// RootFolderPath: to.Ptr("ad-hoc"),
// },
// },
// ExportDescription: to.Ptr("This is a test export."),
// PartitionData: to.Ptr(true),
// Schedule: &armcostmanagement.ExportSchedule{
// Recurrence: to.Ptr(armcostmanagement.RecurrenceType("None")),
// Status: to.Ptr(armcostmanagement.StatusTypeInactive),
// },
// },
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { CostManagementClient } = require("@azure/arm-costmanagement");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to the operation to create or update a export. Update operation requires latest eTag to be set in the request. You may obtain the latest eTag by performing a get operation. Create operation does not require eTag.
*
* @summary the operation to create or update a export. Update operation requires latest eTag to be set in the request. You may obtain the latest eTag by performing a get operation. Create operation does not require eTag.
* x-ms-original-file: 2025-03-01/ExportCreateOrUpdateByBillingAccountCustom.json
*/
async function exportCreateOrUpdateByBillingAccountCustom() {
const credential = new DefaultAzureCredential();
const client = new CostManagementClient(credential);
const result = await client.exports.createOrUpdate(
"providers/Microsoft.Billing/billingAccounts/123456",
"TestExport",
{
identity: { type: "SystemAssigned" },
location: "centralus",
format: "Csv",
compressionMode: "gzip",
dataOverwriteBehavior: "OverwritePreviousReport",
definition: {
type: "ActualCost",
dataSet: { configuration: { dataVersion: "2023-05-01" }, granularity: "Daily" },
timePeriod: {
from: new Date("2025-04-03T00:00:00.000Z"),
to: new Date("2025-04-03T00:00:00.000Z"),
},
timeframe: "Custom",
},
deliveryInfo: {
destination: {
type: "AzureBlob",
container: "exports",
resourceId:
"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
rootFolderPath: "ad-hoc",
},
},
exportDescription: "This is a test export.",
partitionData: true,
schedule: { status: "Inactive" },
},
);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Exemple de réponse
{
"name": "TestExport",
"type": "Microsoft.CostManagement/exports",
"eTag": "\"00000000-0000-0000-0000-000000000000\"",
"id": "/providers/Microsoft.Billing/billingAccounts/123456/providers/Microsoft.CostManagement/exports/TestExport",
"identity": {
"type": "SystemAssigned",
"principalId": "00000000-0000-0000-0000-000000000000",
"tenantId": "00000000-0000-0000-0000-000000000000"
},
"location": "centralus",
"properties": {
"format": "Csv",
"compressionMode": "gzip",
"dataOverwriteBehavior": "OverwritePreviousReport",
"definition": {
"type": "ActualCost",
"dataSet": {
"configuration": {
"dataVersion": "2023-05-01"
},
"granularity": "Daily"
},
"timePeriod": {
"from": "2025-04-03T00:00:00Z",
"to": "2025-04-03T00:00:00Z"
},
"timeframe": "Custom"
},
"deliveryInfo": {
"destination": {
"container": "exports",
"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
"rootFolderPath": "ad-hoc"
}
},
"exportDescription": "This is a test export.",
"partitionData": true,
"schedule": {
"recurrence": "None",
"status": "Inactive"
}
}
}
{
"name": "TestExport",
"type": "Microsoft.CostManagement/exports",
"eTag": "\"00000000-0000-0000-0000-000000000000\"",
"id": "/providers/Microsoft.Billing/billingAccounts/123456/providers/Microsoft.CostManagement/exports/TestExport",
"identity": {
"type": "SystemAssigned",
"principalId": "00000000-0000-0000-0000-000000000000",
"tenantId": "00000000-0000-0000-0000-000000000000"
},
"location": "centralus",
"properties": {
"format": "Csv",
"compressionMode": "gzip",
"dataOverwriteBehavior": "OverwritePreviousReport",
"definition": {
"type": "ActualCost",
"dataSet": {
"configuration": {
"dataVersion": "2023-05-01"
},
"granularity": "Daily"
},
"timePeriod": {
"from": "2025-04-03T00:00:00Z",
"to": "2025-04-03T00:00:00Z"
},
"timeframe": "Custom"
},
"deliveryInfo": {
"destination": {
"container": "exports",
"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
"rootFolderPath": "ad-hoc"
}
},
"exportDescription": "This is a test export.",
"partitionData": true,
"schedule": {
"recurrence": "None",
"status": "Inactive"
}
}
}
ExportCreateOrUpdateByBillingAccountMonthly
Exemple de requête
PUT https://management.azure.com/providers/Microsoft.Billing/billingAccounts/123456/providers/Microsoft.CostManagement/exports/TestExport?api-version=2025-03-01
{
"identity": {
"type": "SystemAssigned"
},
"location": "centralus",
"properties": {
"format": "Csv",
"compressionMode": "gzip",
"dataOverwriteBehavior": "OverwritePreviousReport",
"definition": {
"type": "ActualCost",
"dataSet": {
"configuration": {
"dataVersion": "2023-05-01"
},
"granularity": "Daily"
},
"timeframe": "TheLastMonth"
},
"deliveryInfo": {
"destination": {
"type": "AzureBlob",
"container": "exports",
"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
"rootFolderPath": "ad-hoc"
}
},
"exportDescription": "This is a test export.",
"partitionData": true,
"schedule": {
"recurrence": "Monthly",
"recurrencePeriod": {
"from": "2020-06-05T00:00:00Z",
"to": "2030-06-30T00:00:00Z"
},
"status": "Active"
}
}
}
from azure.identity import DefaultAzureCredential
from azure.mgmt.costmanagement import CostManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-costmanagement
# USAGE
python export_create_or_update_by_billing_account_monthly.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = CostManagementClient(
credential=DefaultAzureCredential(),
)
response = client.exports.create_or_update(
scope="providers/Microsoft.Billing/billingAccounts/123456",
export_name="TestExport",
parameters={
"identity": {"type": "SystemAssigned"},
"location": "centralus",
"properties": {
"compressionMode": "gzip",
"dataOverwriteBehavior": "OverwritePreviousReport",
"definition": {
"dataSet": {"configuration": {"dataVersion": "2023-05-01"}, "granularity": "Daily"},
"timeframe": "TheLastMonth",
"type": "ActualCost",
},
"deliveryInfo": {
"destination": {
"container": "exports",
"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
"rootFolderPath": "ad-hoc",
"type": "AzureBlob",
}
},
"exportDescription": "This is a test export.",
"format": "Csv",
"partitionData": True,
"schedule": {
"recurrence": "Monthly",
"recurrencePeriod": {"from": "2020-06-05T00:00:00Z", "to": "2030-06-30T00:00:00Z"},
"status": "Active",
},
},
},
)
print(response)
# x-ms-original-file: 2025-03-01/ExportCreateOrUpdateByBillingAccountMonthly.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armcostmanagement_test
import (
"context"
"log"
"time"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/costmanagement/armcostmanagement/v3"
)
// Generated from example definition: 2025-03-01/ExportCreateOrUpdateByBillingAccountMonthly.json
func ExampleExportsClient_CreateOrUpdate_exportCreateOrUpdateByBillingAccountMonthly() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armcostmanagement.NewClientFactory(cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewExportsClient().CreateOrUpdate(ctx, "providers/Microsoft.Billing/billingAccounts/123456", "TestExport", armcostmanagement.Export{
Identity: &armcostmanagement.SystemAssignedServiceIdentity{
Type: to.Ptr(armcostmanagement.SystemAssignedServiceIdentityTypeSystemAssigned),
},
Location: to.Ptr("centralus"),
Properties: &armcostmanagement.ExportProperties{
Format: to.Ptr(armcostmanagement.FormatTypeCSV),
CompressionMode: to.Ptr(armcostmanagement.CompressionModeTypeGzip),
DataOverwriteBehavior: to.Ptr(armcostmanagement.DataOverwriteBehaviorTypeOverwritePreviousReport),
Definition: &armcostmanagement.ExportDefinition{
Type: to.Ptr(armcostmanagement.ExportTypeActualCost),
DataSet: &armcostmanagement.ExportDataset{
Configuration: &armcostmanagement.ExportDatasetConfiguration{
DataVersion: to.Ptr("2023-05-01"),
},
Granularity: to.Ptr(armcostmanagement.GranularityTypeDaily),
},
Timeframe: to.Ptr(armcostmanagement.TimeframeTypeTheLastMonth),
},
DeliveryInfo: &armcostmanagement.ExportDeliveryInfo{
Destination: &armcostmanagement.ExportDeliveryDestination{
Type: to.Ptr(armcostmanagement.DestinationTypeAzureBlob),
Container: to.Ptr("exports"),
ResourceID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182"),
RootFolderPath: to.Ptr("ad-hoc"),
},
},
ExportDescription: to.Ptr("This is a test export."),
PartitionData: to.Ptr(true),
Schedule: &armcostmanagement.ExportSchedule{
Recurrence: to.Ptr(armcostmanagement.RecurrenceTypeMonthly),
RecurrencePeriod: &armcostmanagement.ExportRecurrencePeriod{
From: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-06-05T00:00:00Z"); return t }()),
To: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2030-06-30T00:00:00Z"); return t }()),
},
Status: to.Ptr(armcostmanagement.StatusTypeActive),
},
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res = armcostmanagement.ExportsClientCreateOrUpdateResponse{
// Export: armcostmanagement.Export{
// Name: to.Ptr("TestExport"),
// Type: to.Ptr("Microsoft.CostManagement/exports"),
// ETag: to.Ptr(azcore.ETag("\"00000000-0000-0000-0000-000000000000\"")),
// ID: to.Ptr("/providers/Microsoft.Billing/billingAccounts/123456/providers/Microsoft.CostManagement/exports/TestExport"),
// Identity: &armcostmanagement.SystemAssignedServiceIdentity{
// Type: to.Ptr(armcostmanagement.SystemAssignedServiceIdentityTypeSystemAssigned),
// PrincipalID: to.Ptr("00000000-0000-0000-0000-000000000000"),
// TenantID: to.Ptr("00000000-0000-0000-0000-000000000000"),
// },
// Location: to.Ptr("centralus"),
// Properties: &armcostmanagement.ExportProperties{
// Format: to.Ptr(armcostmanagement.FormatTypeCSV),
// CompressionMode: to.Ptr(armcostmanagement.CompressionModeTypeGzip),
// DataOverwriteBehavior: to.Ptr(armcostmanagement.DataOverwriteBehaviorTypeOverwritePreviousReport),
// Definition: &armcostmanagement.ExportDefinition{
// Type: to.Ptr(armcostmanagement.ExportTypeActualCost),
// DataSet: &armcostmanagement.ExportDataset{
// Configuration: &armcostmanagement.ExportDatasetConfiguration{
// DataVersion: to.Ptr("2023-05-01"),
// },
// Granularity: to.Ptr(armcostmanagement.GranularityTypeDaily),
// },
// Timeframe: to.Ptr(armcostmanagement.TimeframeTypeTheLastMonth),
// },
// DeliveryInfo: &armcostmanagement.ExportDeliveryInfo{
// Destination: &armcostmanagement.ExportDeliveryDestination{
// Container: to.Ptr("exports"),
// ResourceID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182"),
// RootFolderPath: to.Ptr("ad-hoc"),
// },
// },
// ExportDescription: to.Ptr("This is a test export."),
// NextRunTimeEstimate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-06-05T23:00:00Z"); return t}()),
// PartitionData: to.Ptr(true),
// Schedule: &armcostmanagement.ExportSchedule{
// Recurrence: to.Ptr(armcostmanagement.RecurrenceTypeMonthly),
// RecurrencePeriod: &armcostmanagement.ExportRecurrencePeriod{
// From: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-06-05T00:00:00Z"); return t}()),
// To: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2030-06-30T00:00:00Z"); return t}()),
// },
// Status: to.Ptr(armcostmanagement.StatusTypeActive),
// },
// },
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { CostManagementClient } = require("@azure/arm-costmanagement");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to the operation to create or update a export. Update operation requires latest eTag to be set in the request. You may obtain the latest eTag by performing a get operation. Create operation does not require eTag.
*
* @summary the operation to create or update a export. Update operation requires latest eTag to be set in the request. You may obtain the latest eTag by performing a get operation. Create operation does not require eTag.
* x-ms-original-file: 2025-03-01/ExportCreateOrUpdateByBillingAccountMonthly.json
*/
async function exportCreateOrUpdateByBillingAccountMonthly() {
const credential = new DefaultAzureCredential();
const client = new CostManagementClient(credential);
const result = await client.exports.createOrUpdate(
"providers/Microsoft.Billing/billingAccounts/123456",
"TestExport",
{
identity: { type: "SystemAssigned" },
location: "centralus",
format: "Csv",
compressionMode: "gzip",
dataOverwriteBehavior: "OverwritePreviousReport",
definition: {
type: "ActualCost",
dataSet: { configuration: { dataVersion: "2023-05-01" }, granularity: "Daily" },
timeframe: "TheLastMonth",
},
deliveryInfo: {
destination: {
type: "AzureBlob",
container: "exports",
resourceId:
"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
rootFolderPath: "ad-hoc",
},
},
exportDescription: "This is a test export.",
partitionData: true,
schedule: {
recurrence: "Monthly",
recurrencePeriod: {
from: new Date("2020-06-05T00:00:00Z"),
to: new Date("2030-06-30T00:00:00Z"),
},
status: "Active",
},
},
);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Exemple de réponse
{
"name": "TestExport",
"type": "Microsoft.CostManagement/exports",
"eTag": "\"00000000-0000-0000-0000-000000000000\"",
"id": "/providers/Microsoft.Billing/billingAccounts/123456/providers/Microsoft.CostManagement/exports/TestExport",
"identity": {
"type": "SystemAssigned",
"principalId": "00000000-0000-0000-0000-000000000000",
"tenantId": "00000000-0000-0000-0000-000000000000"
},
"location": "centralus",
"properties": {
"format": "Csv",
"compressionMode": "gzip",
"dataOverwriteBehavior": "OverwritePreviousReport",
"definition": {
"type": "ActualCost",
"dataSet": {
"configuration": {
"dataVersion": "2023-05-01"
},
"granularity": "Daily"
},
"timeframe": "TheLastMonth"
},
"deliveryInfo": {
"destination": {
"container": "exports",
"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
"rootFolderPath": "ad-hoc"
}
},
"exportDescription": "This is a test export.",
"nextRunTimeEstimate": "2020-06-05T23:00:00Z",
"partitionData": true,
"schedule": {
"recurrence": "Monthly",
"recurrencePeriod": {
"from": "2020-06-05T00:00:00Z",
"to": "2030-06-30T00:00:00Z"
},
"status": "Active"
}
}
}
{
"name": "TestExport",
"type": "Microsoft.CostManagement/exports",
"eTag": "\"00000000-0000-0000-0000-000000000000\"",
"id": "/providers/Microsoft.Billing/billingAccounts/123456/providers/Microsoft.CostManagement/exports/TestExport",
"identity": {
"type": "SystemAssigned",
"principalId": "00000000-0000-0000-0000-000000000000",
"tenantId": "00000000-0000-0000-0000-000000000000"
},
"location": "centralus",
"properties": {
"format": "Csv",
"compressionMode": "gzip",
"dataOverwriteBehavior": "OverwritePreviousReport",
"definition": {
"type": "ActualCost",
"dataSet": {
"configuration": {
"dataVersion": "2023-05-01"
},
"granularity": "Daily"
},
"timeframe": "TheLastMonth"
},
"deliveryInfo": {
"destination": {
"container": "exports",
"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
"rootFolderPath": "ad-hoc"
}
},
"exportDescription": "This is a test export.",
"nextRunTimeEstimate": "2020-06-05T23:00:00Z",
"partitionData": true,
"schedule": {
"recurrence": "Monthly",
"recurrencePeriod": {
"from": "2020-06-05T00:00:00Z",
"to": "2030-06-30T00:00:00Z"
},
"status": "Active"
}
}
}
ExportCreateOrUpdateByBillingAccountPricesheet
Exemple de requête
PUT https://management.azure.com/providers/Microsoft.Billing/billingAccounts/123456/providers/Microsoft.CostManagement/exports/TestExport?api-version=2025-03-01
{
"identity": {
"type": "SystemAssigned"
},
"location": "centralus",
"properties": {
"format": "Csv",
"compressionMode": "gzip",
"dataOverwriteBehavior": "OverwritePreviousReport",
"definition": {
"type": "PriceSheet",
"dataSet": {
"configuration": {
"dataVersion": "2023-05-01"
},
"granularity": "Daily"
},
"timeframe": "TheCurrentMonth"
},
"deliveryInfo": {
"destination": {
"type": "AzureBlob",
"container": "exports",
"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
"rootFolderPath": "ad-hoc"
}
},
"exportDescription": "This is a test export.",
"partitionData": true,
"schedule": {
"recurrence": "Daily",
"recurrencePeriod": {
"from": "2023-06-01T00:00:00Z",
"to": "2023-06-30T00:00:00Z"
},
"status": "Active"
}
}
}
from azure.identity import DefaultAzureCredential
from azure.mgmt.costmanagement import CostManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-costmanagement
# USAGE
python export_create_or_update_by_billing_account_pricesheet.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = CostManagementClient(
credential=DefaultAzureCredential(),
)
response = client.exports.create_or_update(
scope="providers/Microsoft.Billing/billingAccounts/123456",
export_name="TestExport",
parameters={
"identity": {"type": "SystemAssigned"},
"location": "centralus",
"properties": {
"compressionMode": "gzip",
"dataOverwriteBehavior": "OverwritePreviousReport",
"definition": {
"dataSet": {"configuration": {"dataVersion": "2023-05-01"}, "granularity": "Daily"},
"timeframe": "TheCurrentMonth",
"type": "PriceSheet",
},
"deliveryInfo": {
"destination": {
"container": "exports",
"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
"rootFolderPath": "ad-hoc",
"type": "AzureBlob",
}
},
"exportDescription": "This is a test export.",
"format": "Csv",
"partitionData": True,
"schedule": {
"recurrence": "Daily",
"recurrencePeriod": {"from": "2023-06-01T00:00:00Z", "to": "2023-06-30T00:00:00Z"},
"status": "Active",
},
},
},
)
print(response)
# x-ms-original-file: 2025-03-01/ExportCreateOrUpdateByBillingAccountPricesheet.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armcostmanagement_test
import (
"context"
"log"
"time"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/costmanagement/armcostmanagement/v3"
)
// Generated from example definition: 2025-03-01/ExportCreateOrUpdateByBillingAccountPricesheet.json
func ExampleExportsClient_CreateOrUpdate_exportCreateOrUpdateByBillingAccountPricesheet() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armcostmanagement.NewClientFactory(cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewExportsClient().CreateOrUpdate(ctx, "providers/Microsoft.Billing/billingAccounts/123456", "TestExport", armcostmanagement.Export{
Identity: &armcostmanagement.SystemAssignedServiceIdentity{
Type: to.Ptr(armcostmanagement.SystemAssignedServiceIdentityTypeSystemAssigned),
},
Location: to.Ptr("centralus"),
Properties: &armcostmanagement.ExportProperties{
Format: to.Ptr(armcostmanagement.FormatTypeCSV),
CompressionMode: to.Ptr(armcostmanagement.CompressionModeTypeGzip),
DataOverwriteBehavior: to.Ptr(armcostmanagement.DataOverwriteBehaviorTypeOverwritePreviousReport),
Definition: &armcostmanagement.ExportDefinition{
Type: to.Ptr(armcostmanagement.ExportTypePriceSheet),
DataSet: &armcostmanagement.ExportDataset{
Configuration: &armcostmanagement.ExportDatasetConfiguration{
DataVersion: to.Ptr("2023-05-01"),
},
Granularity: to.Ptr(armcostmanagement.GranularityTypeDaily),
},
Timeframe: to.Ptr(armcostmanagement.TimeframeTypeTheCurrentMonth),
},
DeliveryInfo: &armcostmanagement.ExportDeliveryInfo{
Destination: &armcostmanagement.ExportDeliveryDestination{
Type: to.Ptr(armcostmanagement.DestinationTypeAzureBlob),
Container: to.Ptr("exports"),
ResourceID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182"),
RootFolderPath: to.Ptr("ad-hoc"),
},
},
ExportDescription: to.Ptr("This is a test export."),
PartitionData: to.Ptr(true),
Schedule: &armcostmanagement.ExportSchedule{
Recurrence: to.Ptr(armcostmanagement.RecurrenceTypeDaily),
RecurrencePeriod: &armcostmanagement.ExportRecurrencePeriod{
From: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2023-06-01T00:00:00Z"); return t }()),
To: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2023-06-30T00:00:00Z"); return t }()),
},
Status: to.Ptr(armcostmanagement.StatusTypeActive),
},
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res = armcostmanagement.ExportsClientCreateOrUpdateResponse{
// Export: armcostmanagement.Export{
// Name: to.Ptr("TestExport"),
// Type: to.Ptr("Microsoft.CostManagement/exports"),
// ETag: to.Ptr(azcore.ETag("\"00000000-0000-0000-0000-000000000000\"")),
// ID: to.Ptr("/providers/Microsoft.Billing/billingAccounts/123456/providers/Microsoft.CostManagement/exports/TestExport"),
// Identity: &armcostmanagement.SystemAssignedServiceIdentity{
// Type: to.Ptr(armcostmanagement.SystemAssignedServiceIdentityTypeSystemAssigned),
// PrincipalID: to.Ptr("00000000-0000-0000-0000-000000000000"),
// TenantID: to.Ptr("00000000-0000-0000-0000-000000000000"),
// },
// Location: to.Ptr("centralus"),
// Properties: &armcostmanagement.ExportProperties{
// Format: to.Ptr(armcostmanagement.FormatTypeCSV),
// CompressionMode: to.Ptr(armcostmanagement.CompressionModeTypeGzip),
// DataOverwriteBehavior: to.Ptr(armcostmanagement.DataOverwriteBehaviorTypeOverwritePreviousReport),
// Definition: &armcostmanagement.ExportDefinition{
// Type: to.Ptr(armcostmanagement.ExportTypePriceSheet),
// DataSet: &armcostmanagement.ExportDataset{
// Configuration: &armcostmanagement.ExportDatasetConfiguration{
// DataVersion: to.Ptr("2023-05-01"),
// },
// Granularity: to.Ptr(armcostmanagement.GranularityTypeDaily),
// },
// Timeframe: to.Ptr(armcostmanagement.TimeframeTypeTheCurrentMonth),
// },
// DeliveryInfo: &armcostmanagement.ExportDeliveryInfo{
// Destination: &armcostmanagement.ExportDeliveryDestination{
// Container: to.Ptr("exports"),
// ResourceID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182"),
// RootFolderPath: to.Ptr("ad-hoc"),
// },
// },
// ExportDescription: to.Ptr("This is a test export."),
// NextRunTimeEstimate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2023-06-01T23:00:00Z"); return t}()),
// PartitionData: to.Ptr(true),
// Schedule: &armcostmanagement.ExportSchedule{
// Recurrence: to.Ptr(armcostmanagement.RecurrenceTypeDaily),
// RecurrencePeriod: &armcostmanagement.ExportRecurrencePeriod{
// From: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2023-06-01T00:00:00Z"); return t}()),
// To: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2023-06-30T00:00:00Z"); return t}()),
// },
// Status: to.Ptr(armcostmanagement.StatusTypeActive),
// },
// },
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { CostManagementClient } = require("@azure/arm-costmanagement");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to the operation to create or update a export. Update operation requires latest eTag to be set in the request. You may obtain the latest eTag by performing a get operation. Create operation does not require eTag.
*
* @summary the operation to create or update a export. Update operation requires latest eTag to be set in the request. You may obtain the latest eTag by performing a get operation. Create operation does not require eTag.
* x-ms-original-file: 2025-03-01/ExportCreateOrUpdateByBillingAccountPricesheet.json
*/
async function exportCreateOrUpdateByBillingAccountPricesheet() {
const credential = new DefaultAzureCredential();
const client = new CostManagementClient(credential);
const result = await client.exports.createOrUpdate(
"providers/Microsoft.Billing/billingAccounts/123456",
"TestExport",
{
identity: { type: "SystemAssigned" },
location: "centralus",
format: "Csv",
compressionMode: "gzip",
dataOverwriteBehavior: "OverwritePreviousReport",
definition: {
type: "PriceSheet",
dataSet: { configuration: { dataVersion: "2023-05-01" }, granularity: "Daily" },
timeframe: "TheCurrentMonth",
},
deliveryInfo: {
destination: {
type: "AzureBlob",
container: "exports",
resourceId:
"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
rootFolderPath: "ad-hoc",
},
},
exportDescription: "This is a test export.",
partitionData: true,
schedule: {
recurrence: "Daily",
recurrencePeriod: {
from: new Date("2023-06-01T00:00:00Z"),
to: new Date("2023-06-30T00:00:00Z"),
},
status: "Active",
},
},
);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Exemple de réponse
{
"name": "TestExport",
"type": "Microsoft.CostManagement/exports",
"eTag": "\"00000000-0000-0000-0000-000000000000\"",
"id": "/providers/Microsoft.Billing/billingAccounts/123456/providers/Microsoft.CostManagement/exports/TestExport",
"identity": {
"type": "SystemAssigned",
"principalId": "00000000-0000-0000-0000-000000000000",
"tenantId": "00000000-0000-0000-0000-000000000000"
},
"location": "centralus",
"properties": {
"format": "Csv",
"compressionMode": "gzip",
"dataOverwriteBehavior": "OverwritePreviousReport",
"definition": {
"type": "PriceSheet",
"dataSet": {
"configuration": {
"dataVersion": "2023-05-01"
},
"granularity": "Daily"
},
"timeframe": "TheCurrentMonth"
},
"deliveryInfo": {
"destination": {
"container": "exports",
"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
"rootFolderPath": "ad-hoc"
}
},
"exportDescription": "This is a test export.",
"nextRunTimeEstimate": "2023-06-01T23:00:00Z",
"partitionData": true,
"schedule": {
"recurrence": "Daily",
"recurrencePeriod": {
"from": "2023-06-01T00:00:00Z",
"to": "2023-06-30T00:00:00Z"
},
"status": "Active"
}
}
}
{
"name": "TestExport",
"type": "Microsoft.CostManagement/exports",
"eTag": "\"00000000-0000-0000-0000-000000000000\"",
"id": "/providers/Microsoft.Billing/billingAccounts/123456/providers/Microsoft.CostManagement/exports/TestExport",
"identity": {
"type": "SystemAssigned",
"principalId": "00000000-0000-0000-0000-000000000000",
"tenantId": "00000000-0000-0000-0000-000000000000"
},
"location": "centralus",
"properties": {
"format": "Csv",
"compressionMode": "gzip",
"dataOverwriteBehavior": "OverwritePreviousReport",
"definition": {
"type": "PriceSheet",
"dataSet": {
"configuration": {
"dataVersion": "2023-05-01"
},
"granularity": "Daily"
},
"timeframe": "TheCurrentMonth"
},
"deliveryInfo": {
"destination": {
"container": "exports",
"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
"rootFolderPath": "ad-hoc"
}
},
"exportDescription": "This is a test export.",
"nextRunTimeEstimate": "2023-06-01T23:00:00Z",
"partitionData": true,
"schedule": {
"recurrence": "Daily",
"recurrencePeriod": {
"from": "2023-06-01T00:00:00Z",
"to": "2023-06-30T00:00:00Z"
},
"status": "Active"
}
}
}
ExportCreateOrUpdateByBillingAccountReservationDetails
Exemple de requête
PUT https://management.azure.com/providers/Microsoft.Billing/billingAccounts/123456/providers/Microsoft.CostManagement/exports/TestExport?api-version=2025-03-01
{
"identity": {
"type": "SystemAssigned"
},
"location": "centralus",
"properties": {
"format": "Csv",
"compressionMode": "gzip",
"dataOverwriteBehavior": "OverwritePreviousReport",
"definition": {
"type": "ReservationDetails",
"dataSet": {
"configuration": {
"dataVersion": "2023-03-01"
},
"granularity": "Daily"
},
"timeframe": "MonthToDate"
},
"deliveryInfo": {
"destination": {
"type": "AzureBlob",
"container": "exports",
"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
"rootFolderPath": "ad-hoc"
}
},
"exportDescription": "This is a test export.",
"partitionData": true,
"schedule": {
"recurrence": "Daily",
"recurrencePeriod": {
"from": "2023-06-01T00:00:00Z",
"to": "2023-06-30T00:00:00Z"
},
"status": "Active"
}
}
}
from azure.identity import DefaultAzureCredential
from azure.mgmt.costmanagement import CostManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-costmanagement
# USAGE
python export_create_or_update_by_billing_account_reservation_details.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = CostManagementClient(
credential=DefaultAzureCredential(),
)
response = client.exports.create_or_update(
scope="providers/Microsoft.Billing/billingAccounts/123456",
export_name="TestExport",
parameters={
"identity": {"type": "SystemAssigned"},
"location": "centralus",
"properties": {
"compressionMode": "gzip",
"dataOverwriteBehavior": "OverwritePreviousReport",
"definition": {
"dataSet": {"configuration": {"dataVersion": "2023-03-01"}, "granularity": "Daily"},
"timeframe": "MonthToDate",
"type": "ReservationDetails",
},
"deliveryInfo": {
"destination": {
"container": "exports",
"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
"rootFolderPath": "ad-hoc",
"type": "AzureBlob",
}
},
"exportDescription": "This is a test export.",
"format": "Csv",
"partitionData": True,
"schedule": {
"recurrence": "Daily",
"recurrencePeriod": {"from": "2023-06-01T00:00:00Z", "to": "2023-06-30T00:00:00Z"},
"status": "Active",
},
},
},
)
print(response)
# x-ms-original-file: 2025-03-01/ExportCreateOrUpdateByBillingAccountReservationDetails.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armcostmanagement_test
import (
"context"
"log"
"time"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/costmanagement/armcostmanagement/v3"
)
// Generated from example definition: 2025-03-01/ExportCreateOrUpdateByBillingAccountReservationDetails.json
func ExampleExportsClient_CreateOrUpdate_exportCreateOrUpdateByBillingAccountReservationDetails() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armcostmanagement.NewClientFactory(cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewExportsClient().CreateOrUpdate(ctx, "providers/Microsoft.Billing/billingAccounts/123456", "TestExport", armcostmanagement.Export{
Identity: &armcostmanagement.SystemAssignedServiceIdentity{
Type: to.Ptr(armcostmanagement.SystemAssignedServiceIdentityTypeSystemAssigned),
},
Location: to.Ptr("centralus"),
Properties: &armcostmanagement.ExportProperties{
Format: to.Ptr(armcostmanagement.FormatTypeCSV),
CompressionMode: to.Ptr(armcostmanagement.CompressionModeTypeGzip),
DataOverwriteBehavior: to.Ptr(armcostmanagement.DataOverwriteBehaviorTypeOverwritePreviousReport),
Definition: &armcostmanagement.ExportDefinition{
Type: to.Ptr(armcostmanagement.ExportTypeReservationDetails),
DataSet: &armcostmanagement.ExportDataset{
Configuration: &armcostmanagement.ExportDatasetConfiguration{
DataVersion: to.Ptr("2023-03-01"),
},
Granularity: to.Ptr(armcostmanagement.GranularityTypeDaily),
},
Timeframe: to.Ptr(armcostmanagement.TimeframeTypeMonthToDate),
},
DeliveryInfo: &armcostmanagement.ExportDeliveryInfo{
Destination: &armcostmanagement.ExportDeliveryDestination{
Type: to.Ptr(armcostmanagement.DestinationTypeAzureBlob),
Container: to.Ptr("exports"),
ResourceID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182"),
RootFolderPath: to.Ptr("ad-hoc"),
},
},
ExportDescription: to.Ptr("This is a test export."),
PartitionData: to.Ptr(true),
Schedule: &armcostmanagement.ExportSchedule{
Recurrence: to.Ptr(armcostmanagement.RecurrenceTypeDaily),
RecurrencePeriod: &armcostmanagement.ExportRecurrencePeriod{
From: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2023-06-01T00:00:00Z"); return t }()),
To: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2023-06-30T00:00:00Z"); return t }()),
},
Status: to.Ptr(armcostmanagement.StatusTypeActive),
},
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res = armcostmanagement.ExportsClientCreateOrUpdateResponse{
// Export: armcostmanagement.Export{
// Name: to.Ptr("TestExport"),
// Type: to.Ptr("Microsoft.CostManagement/exports"),
// ETag: to.Ptr(azcore.ETag("\"00000000-0000-0000-0000-000000000000\"")),
// ID: to.Ptr("/providers/Microsoft.Billing/billingAccounts/123456/providers/Microsoft.CostManagement/exports/TestExport"),
// Identity: &armcostmanagement.SystemAssignedServiceIdentity{
// Type: to.Ptr(armcostmanagement.SystemAssignedServiceIdentityTypeSystemAssigned),
// PrincipalID: to.Ptr("00000000-0000-0000-0000-000000000000"),
// TenantID: to.Ptr("00000000-0000-0000-0000-000000000000"),
// },
// Location: to.Ptr("centralus"),
// Properties: &armcostmanagement.ExportProperties{
// Format: to.Ptr(armcostmanagement.FormatTypeCSV),
// CompressionMode: to.Ptr(armcostmanagement.CompressionModeTypeGzip),
// DataOverwriteBehavior: to.Ptr(armcostmanagement.DataOverwriteBehaviorTypeOverwritePreviousReport),
// Definition: &armcostmanagement.ExportDefinition{
// Type: to.Ptr(armcostmanagement.ExportTypeReservationDetails),
// DataSet: &armcostmanagement.ExportDataset{
// Configuration: &armcostmanagement.ExportDatasetConfiguration{
// Columns: []*string{
// },
// DataVersion: to.Ptr("2023-03-01"),
// Filters: []*armcostmanagement.FilterItems{
// },
// },
// Granularity: to.Ptr(armcostmanagement.GranularityTypeDaily),
// },
// Timeframe: to.Ptr(armcostmanagement.TimeframeTypeMonthToDate),
// },
// DeliveryInfo: &armcostmanagement.ExportDeliveryInfo{
// Destination: &armcostmanagement.ExportDeliveryDestination{
// Container: to.Ptr("exports"),
// ResourceID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182"),
// RootFolderPath: to.Ptr("ad-hoc"),
// },
// },
// ExportDescription: to.Ptr("This is a test export."),
// NextRunTimeEstimate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2023-06-01T23:00:00Z"); return t}()),
// PartitionData: to.Ptr(true),
// Schedule: &armcostmanagement.ExportSchedule{
// Recurrence: to.Ptr(armcostmanagement.RecurrenceTypeDaily),
// RecurrencePeriod: &armcostmanagement.ExportRecurrencePeriod{
// From: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2023-06-01T00:00:00Z"); return t}()),
// To: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2023-06-30T00:00:00Z"); return t}()),
// },
// Status: to.Ptr(armcostmanagement.StatusTypeActive),
// },
// },
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { CostManagementClient } = require("@azure/arm-costmanagement");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to the operation to create or update a export. Update operation requires latest eTag to be set in the request. You may obtain the latest eTag by performing a get operation. Create operation does not require eTag.
*
* @summary the operation to create or update a export. Update operation requires latest eTag to be set in the request. You may obtain the latest eTag by performing a get operation. Create operation does not require eTag.
* x-ms-original-file: 2025-03-01/ExportCreateOrUpdateByBillingAccountReservationDetails.json
*/
async function exportCreateOrUpdateByBillingAccountReservationDetails() {
const credential = new DefaultAzureCredential();
const client = new CostManagementClient(credential);
const result = await client.exports.createOrUpdate(
"providers/Microsoft.Billing/billingAccounts/123456",
"TestExport",
{
identity: { type: "SystemAssigned" },
location: "centralus",
format: "Csv",
compressionMode: "gzip",
dataOverwriteBehavior: "OverwritePreviousReport",
definition: {
type: "ReservationDetails",
dataSet: { configuration: { dataVersion: "2023-03-01" }, granularity: "Daily" },
timeframe: "MonthToDate",
},
deliveryInfo: {
destination: {
type: "AzureBlob",
container: "exports",
resourceId:
"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
rootFolderPath: "ad-hoc",
},
},
exportDescription: "This is a test export.",
partitionData: true,
schedule: {
recurrence: "Daily",
recurrencePeriod: {
from: new Date("2023-06-01T00:00:00Z"),
to: new Date("2023-06-30T00:00:00Z"),
},
status: "Active",
},
},
);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Exemple de réponse
{
"name": "TestExport",
"type": "Microsoft.CostManagement/exports",
"eTag": "\"00000000-0000-0000-0000-000000000000\"",
"id": "/providers/Microsoft.Billing/billingAccounts/123456/providers/Microsoft.CostManagement/exports/TestExport",
"identity": {
"type": "SystemAssigned",
"principalId": "00000000-0000-0000-0000-000000000000",
"tenantId": "00000000-0000-0000-0000-000000000000"
},
"location": "centralus",
"properties": {
"format": "Csv",
"compressionMode": "gzip",
"dataOverwriteBehavior": "OverwritePreviousReport",
"definition": {
"type": "ReservationDetails",
"dataSet": {
"configuration": {
"columns": [],
"dataVersion": "2023-03-01",
"filters": []
},
"granularity": "Daily"
},
"timeframe": "MonthToDate"
},
"deliveryInfo": {
"destination": {
"container": "exports",
"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
"rootFolderPath": "ad-hoc"
}
},
"exportDescription": "This is a test export.",
"nextRunTimeEstimate": "2023-06-01T23:00:00Z",
"partitionData": true,
"schedule": {
"recurrence": "Daily",
"recurrencePeriod": {
"from": "2023-06-01T00:00:00Z",
"to": "2023-06-30T00:00:00Z"
},
"status": "Active"
}
}
}
{
"name": "TestExport",
"type": "Microsoft.CostManagement/exports",
"eTag": "\"00000000-0000-0000-0000-000000000000\"",
"id": "/providers/Microsoft.Billing/billingAccounts/123456/providers/Microsoft.CostManagement/exports/TestExport",
"identity": {
"type": "SystemAssigned",
"principalId": "00000000-0000-0000-0000-000000000000",
"tenantId": "00000000-0000-0000-0000-000000000000"
},
"location": "centralus",
"properties": {
"format": "Csv",
"compressionMode": "gzip",
"dataOverwriteBehavior": "OverwritePreviousReport",
"definition": {
"type": "ReservationDetails",
"dataSet": {
"configuration": {
"columns": [],
"dataVersion": "2023-03-01",
"filters": []
},
"granularity": "Daily"
},
"timeframe": "MonthToDate"
},
"deliveryInfo": {
"destination": {
"container": "exports",
"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
"rootFolderPath": "ad-hoc"
}
},
"exportDescription": "This is a test export.",
"nextRunTimeEstimate": "2023-06-01T23:00:00Z",
"partitionData": true,
"schedule": {
"recurrence": "Daily",
"recurrencePeriod": {
"from": "2023-06-01T00:00:00Z",
"to": "2023-06-30T00:00:00Z"
},
"status": "Active"
}
}
}
ExportCreateOrUpdateByBillingAccountReservationRecommendation
Exemple de requête
PUT https://management.azure.com/providers/Microsoft.Billing/billingAccounts/123456/providers/Microsoft.CostManagement/exports/TestExport?api-version=2025-03-01
{
"identity": {
"type": "SystemAssigned"
},
"location": "centralus",
"properties": {
"format": "Csv",
"compressionMode": "gzip",
"dataOverwriteBehavior": "OverwritePreviousReport",
"definition": {
"type": "ReservationRecommendations",
"dataSet": {
"configuration": {
"dataVersion": "2023-05-01",
"filters": [
{
"name": "ReservationScope",
"value": "Single"
},
{
"name": "ResourceType",
"value": "VirtualMachines"
},
{
"name": "LookBackPeriod",
"value": "Last7Days"
}
]
}
},
"timeframe": "MonthToDate"
},
"deliveryInfo": {
"destination": {
"type": "AzureBlob",
"container": "exports",
"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
"rootFolderPath": "ad-hoc"
}
},
"exportDescription": "This is a test export.",
"partitionData": true,
"schedule": {
"recurrence": "Daily",
"recurrencePeriod": {
"from": "2023-06-01T00:00:00Z",
"to": "2023-06-30T00:00:00Z"
},
"status": "Active"
}
}
}
from azure.identity import DefaultAzureCredential
from azure.mgmt.costmanagement import CostManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-costmanagement
# USAGE
python export_create_or_update_by_billing_account_reservation_recommendation.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = CostManagementClient(
credential=DefaultAzureCredential(),
)
response = client.exports.create_or_update(
scope="providers/Microsoft.Billing/billingAccounts/123456",
export_name="TestExport",
parameters={
"identity": {"type": "SystemAssigned"},
"location": "centralus",
"properties": {
"compressionMode": "gzip",
"dataOverwriteBehavior": "OverwritePreviousReport",
"definition": {
"dataSet": {
"configuration": {
"dataVersion": "2023-05-01",
"filters": [
{"name": "ReservationScope", "value": "Single"},
{"name": "ResourceType", "value": "VirtualMachines"},
{"name": "LookBackPeriod", "value": "Last7Days"},
],
}
},
"timeframe": "MonthToDate",
"type": "ReservationRecommendations",
},
"deliveryInfo": {
"destination": {
"container": "exports",
"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
"rootFolderPath": "ad-hoc",
"type": "AzureBlob",
}
},
"exportDescription": "This is a test export.",
"format": "Csv",
"partitionData": True,
"schedule": {
"recurrence": "Daily",
"recurrencePeriod": {"from": "2023-06-01T00:00:00Z", "to": "2023-06-30T00:00:00Z"},
"status": "Active",
},
},
},
)
print(response)
# x-ms-original-file: 2025-03-01/ExportCreateOrUpdateByBillingAccountReservationRecommendation.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armcostmanagement_test
import (
"context"
"log"
"time"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/costmanagement/armcostmanagement/v3"
)
// Generated from example definition: 2025-03-01/ExportCreateOrUpdateByBillingAccountReservationRecommendation.json
func ExampleExportsClient_CreateOrUpdate_exportCreateOrUpdateByBillingAccountReservationRecommendation() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armcostmanagement.NewClientFactory(cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewExportsClient().CreateOrUpdate(ctx, "providers/Microsoft.Billing/billingAccounts/123456", "TestExport", armcostmanagement.Export{
Identity: &armcostmanagement.SystemAssignedServiceIdentity{
Type: to.Ptr(armcostmanagement.SystemAssignedServiceIdentityTypeSystemAssigned),
},
Location: to.Ptr("centralus"),
Properties: &armcostmanagement.ExportProperties{
Format: to.Ptr(armcostmanagement.FormatTypeCSV),
CompressionMode: to.Ptr(armcostmanagement.CompressionModeTypeGzip),
DataOverwriteBehavior: to.Ptr(armcostmanagement.DataOverwriteBehaviorTypeOverwritePreviousReport),
Definition: &armcostmanagement.ExportDefinition{
Type: to.Ptr(armcostmanagement.ExportTypeReservationRecommendations),
DataSet: &armcostmanagement.ExportDataset{
Configuration: &armcostmanagement.ExportDatasetConfiguration{
DataVersion: to.Ptr("2023-05-01"),
Filters: []*armcostmanagement.FilterItems{
{
Name: to.Ptr(armcostmanagement.FilterItemNamesReservationScope),
Value: to.Ptr("Single"),
},
{
Name: to.Ptr(armcostmanagement.FilterItemNamesResourceType),
Value: to.Ptr("VirtualMachines"),
},
{
Name: to.Ptr(armcostmanagement.FilterItemNamesLookBackPeriod),
Value: to.Ptr("Last7Days"),
},
},
},
},
Timeframe: to.Ptr(armcostmanagement.TimeframeTypeMonthToDate),
},
DeliveryInfo: &armcostmanagement.ExportDeliveryInfo{
Destination: &armcostmanagement.ExportDeliveryDestination{
Type: to.Ptr(armcostmanagement.DestinationTypeAzureBlob),
Container: to.Ptr("exports"),
ResourceID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182"),
RootFolderPath: to.Ptr("ad-hoc"),
},
},
ExportDescription: to.Ptr("This is a test export."),
PartitionData: to.Ptr(true),
Schedule: &armcostmanagement.ExportSchedule{
Recurrence: to.Ptr(armcostmanagement.RecurrenceTypeDaily),
RecurrencePeriod: &armcostmanagement.ExportRecurrencePeriod{
From: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2023-06-01T00:00:00Z"); return t }()),
To: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2023-06-30T00:00:00Z"); return t }()),
},
Status: to.Ptr(armcostmanagement.StatusTypeActive),
},
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res = armcostmanagement.ExportsClientCreateOrUpdateResponse{
// Export: armcostmanagement.Export{
// Name: to.Ptr("TestExport"),
// Type: to.Ptr("Microsoft.CostManagement/exports"),
// ETag: to.Ptr(azcore.ETag("\"00000000-0000-0000-0000-000000000000\"")),
// ID: to.Ptr("/providers/Microsoft.Billing/billingAccounts/123456/providers/Microsoft.CostManagement/exports/TestExport"),
// Identity: &armcostmanagement.SystemAssignedServiceIdentity{
// Type: to.Ptr(armcostmanagement.SystemAssignedServiceIdentityTypeSystemAssigned),
// PrincipalID: to.Ptr("00000000-0000-0000-0000-000000000000"),
// TenantID: to.Ptr("00000000-0000-0000-0000-000000000000"),
// },
// Location: to.Ptr("centralus"),
// Properties: &armcostmanagement.ExportProperties{
// Format: to.Ptr(armcostmanagement.FormatTypeCSV),
// CompressionMode: to.Ptr(armcostmanagement.CompressionModeTypeGzip),
// DataOverwriteBehavior: to.Ptr(armcostmanagement.DataOverwriteBehaviorTypeOverwritePreviousReport),
// Definition: &armcostmanagement.ExportDefinition{
// Type: to.Ptr(armcostmanagement.ExportTypeReservationRecommendations),
// DataSet: &armcostmanagement.ExportDataset{
// Configuration: &armcostmanagement.ExportDatasetConfiguration{
// Columns: []*string{
// },
// DataVersion: to.Ptr("2023-05-01"),
// Filters: []*armcostmanagement.FilterItems{
// {
// Name: to.Ptr(armcostmanagement.FilterItemNamesReservationScope),
// Value: to.Ptr("Single"),
// },
// {
// Name: to.Ptr(armcostmanagement.FilterItemNamesResourceType),
// Value: to.Ptr("VirtualMachines"),
// },
// {
// Name: to.Ptr(armcostmanagement.FilterItemNamesLookBackPeriod),
// Value: to.Ptr("Last7Days"),
// },
// },
// },
// },
// Timeframe: to.Ptr(armcostmanagement.TimeframeTypeMonthToDate),
// },
// DeliveryInfo: &armcostmanagement.ExportDeliveryInfo{
// Destination: &armcostmanagement.ExportDeliveryDestination{
// Container: to.Ptr("exports"),
// ResourceID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182"),
// RootFolderPath: to.Ptr("ad-hoc"),
// },
// },
// ExportDescription: to.Ptr("This is a test export."),
// NextRunTimeEstimate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2023-06-01T23:00:00Z"); return t}()),
// PartitionData: to.Ptr(true),
// Schedule: &armcostmanagement.ExportSchedule{
// Recurrence: to.Ptr(armcostmanagement.RecurrenceTypeDaily),
// RecurrencePeriod: &armcostmanagement.ExportRecurrencePeriod{
// From: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2023-06-01T00:00:00Z"); return t}()),
// To: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2023-06-30T00:00:00Z"); return t}()),
// },
// Status: to.Ptr(armcostmanagement.StatusTypeActive),
// },
// },
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { CostManagementClient } = require("@azure/arm-costmanagement");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to the operation to create or update a export. Update operation requires latest eTag to be set in the request. You may obtain the latest eTag by performing a get operation. Create operation does not require eTag.
*
* @summary the operation to create or update a export. Update operation requires latest eTag to be set in the request. You may obtain the latest eTag by performing a get operation. Create operation does not require eTag.
* x-ms-original-file: 2025-03-01/ExportCreateOrUpdateByBillingAccountReservationRecommendation.json
*/
async function exportCreateOrUpdateByBillingAccountReservationRecommendation() {
const credential = new DefaultAzureCredential();
const client = new CostManagementClient(credential);
const result = await client.exports.createOrUpdate(
"providers/Microsoft.Billing/billingAccounts/123456",
"TestExport",
{
identity: { type: "SystemAssigned" },
location: "centralus",
format: "Csv",
compressionMode: "gzip",
dataOverwriteBehavior: "OverwritePreviousReport",
definition: {
type: "ReservationRecommendations",
dataSet: {
configuration: {
dataVersion: "2023-05-01",
filters: [
{ name: "ReservationScope", value: "Single" },
{ name: "ResourceType", value: "VirtualMachines" },
{ name: "LookBackPeriod", value: "Last7Days" },
],
},
},
timeframe: "MonthToDate",
},
deliveryInfo: {
destination: {
type: "AzureBlob",
container: "exports",
resourceId:
"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
rootFolderPath: "ad-hoc",
},
},
exportDescription: "This is a test export.",
partitionData: true,
schedule: {
recurrence: "Daily",
recurrencePeriod: {
from: new Date("2023-06-01T00:00:00Z"),
to: new Date("2023-06-30T00:00:00Z"),
},
status: "Active",
},
},
);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Exemple de réponse
{
"name": "TestExport",
"type": "Microsoft.CostManagement/exports",
"eTag": "\"00000000-0000-0000-0000-000000000000\"",
"id": "/providers/Microsoft.Billing/billingAccounts/123456/providers/Microsoft.CostManagement/exports/TestExport",
"identity": {
"type": "SystemAssigned",
"principalId": "00000000-0000-0000-0000-000000000000",
"tenantId": "00000000-0000-0000-0000-000000000000"
},
"location": "centralus",
"properties": {
"format": "Csv",
"compressionMode": "gzip",
"dataOverwriteBehavior": "OverwritePreviousReport",
"definition": {
"type": "ReservationRecommendations",
"dataSet": {
"configuration": {
"columns": [],
"dataVersion": "2023-05-01",
"filters": [
{
"name": "ReservationScope",
"value": "Single"
},
{
"name": "ResourceType",
"value": "VirtualMachines"
},
{
"name": "LookBackPeriod",
"value": "Last7Days"
}
]
},
"granularity": null
},
"timeframe": "MonthToDate"
},
"deliveryInfo": {
"destination": {
"container": "exports",
"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
"rootFolderPath": "ad-hoc"
}
},
"exportDescription": "This is a test export.",
"nextRunTimeEstimate": "2023-06-01T23:00:00Z",
"partitionData": true,
"schedule": {
"recurrence": "Daily",
"recurrencePeriod": {
"from": "2023-06-01T00:00:00Z",
"to": "2023-06-30T00:00:00Z"
},
"status": "Active"
}
}
}
{
"name": "TestExport",
"type": "Microsoft.CostManagement/exports",
"eTag": "\"00000000-0000-0000-0000-000000000000\"",
"id": "/providers/Microsoft.Billing/billingAccounts/123456/providers/Microsoft.CostManagement/exports/TestExport",
"identity": {
"type": "SystemAssigned",
"principalId": "00000000-0000-0000-0000-000000000000",
"tenantId": "00000000-0000-0000-0000-000000000000"
},
"location": "centralus",
"properties": {
"format": "Csv",
"compressionMode": "gzip",
"dataOverwriteBehavior": "OverwritePreviousReport",
"definition": {
"type": "ReservationRecommendations",
"dataSet": {
"configuration": {
"columns": [],
"dataVersion": "2023-05-01",
"filters": [
{
"name": "ReservationScope",
"value": "Single"
},
{
"name": "ResourceType",
"value": "VirtualMachines"
},
{
"name": "LookBackPeriod",
"value": "Last7Days"
}
]
},
"granularity": null
},
"timeframe": "MonthToDate"
},
"deliveryInfo": {
"destination": {
"container": "exports",
"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
"rootFolderPath": "ad-hoc"
}
},
"exportDescription": "This is a test export.",
"nextRunTimeEstimate": "2023-06-01T23:00:00Z",
"partitionData": true,
"schedule": {
"recurrence": "Daily",
"recurrencePeriod": {
"from": "2023-06-01T00:00:00Z",
"to": "2023-06-30T00:00:00Z"
},
"status": "Active"
}
}
}
ExportCreateOrUpdateByDepartment
Exemple de requête
PUT https://management.azure.com/providers/Microsoft.Billing/billingAccounts/12/departments/1234/providers/Microsoft.CostManagement/exports/TestExport?api-version=2025-03-01
{
"identity": {
"type": "SystemAssigned"
},
"location": "centralus",
"properties": {
"format": "Parquet",
"compressionMode": "snappy",
"dataOverwriteBehavior": "OverwritePreviousReport",
"definition": {
"type": "ActualCost",
"dataSet": {
"configuration": {
"dataVersion": "2023-05-01"
},
"granularity": "Daily"
},
"timeframe": "MonthToDate"
},
"deliveryInfo": {
"destination": {
"type": "AzureBlob",
"container": "exports",
"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
"rootFolderPath": "ad-hoc"
}
},
"exportDescription": "This is a test export.",
"partitionData": true,
"schedule": {
"recurrence": "Daily",
"recurrencePeriod": {
"from": "2020-06-01T00:00:00Z",
"to": "2020-06-30T00:00:00Z"
},
"status": "Active"
}
}
}
from azure.identity import DefaultAzureCredential
from azure.mgmt.costmanagement import CostManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-costmanagement
# USAGE
python export_create_or_update_by_department.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = CostManagementClient(
credential=DefaultAzureCredential(),
)
response = client.exports.create_or_update(
scope="providers/Microsoft.Billing/billingAccounts/12/departments/1234",
export_name="TestExport",
parameters={
"identity": {"type": "SystemAssigned"},
"location": "centralus",
"properties": {
"compressionMode": "snappy",
"dataOverwriteBehavior": "OverwritePreviousReport",
"definition": {
"dataSet": {"configuration": {"dataVersion": "2023-05-01"}, "granularity": "Daily"},
"timeframe": "MonthToDate",
"type": "ActualCost",
},
"deliveryInfo": {
"destination": {
"container": "exports",
"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
"rootFolderPath": "ad-hoc",
"type": "AzureBlob",
}
},
"exportDescription": "This is a test export.",
"format": "Parquet",
"partitionData": True,
"schedule": {
"recurrence": "Daily",
"recurrencePeriod": {"from": "2020-06-01T00:00:00Z", "to": "2020-06-30T00:00:00Z"},
"status": "Active",
},
},
},
)
print(response)
# x-ms-original-file: 2025-03-01/ExportCreateOrUpdateByDepartment.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armcostmanagement_test
import (
"context"
"log"
"time"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/costmanagement/armcostmanagement/v3"
)
// Generated from example definition: 2025-03-01/ExportCreateOrUpdateByDepartment.json
func ExampleExportsClient_CreateOrUpdate_exportCreateOrUpdateByDepartment() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armcostmanagement.NewClientFactory(cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewExportsClient().CreateOrUpdate(ctx, "providers/Microsoft.Billing/billingAccounts/12/departments/1234", "TestExport", armcostmanagement.Export{
Identity: &armcostmanagement.SystemAssignedServiceIdentity{
Type: to.Ptr(armcostmanagement.SystemAssignedServiceIdentityTypeSystemAssigned),
},
Location: to.Ptr("centralus"),
Properties: &armcostmanagement.ExportProperties{
Format: to.Ptr(armcostmanagement.FormatTypeParquet),
CompressionMode: to.Ptr(armcostmanagement.CompressionModeTypeSnappy),
DataOverwriteBehavior: to.Ptr(armcostmanagement.DataOverwriteBehaviorTypeOverwritePreviousReport),
Definition: &armcostmanagement.ExportDefinition{
Type: to.Ptr(armcostmanagement.ExportTypeActualCost),
DataSet: &armcostmanagement.ExportDataset{
Configuration: &armcostmanagement.ExportDatasetConfiguration{
DataVersion: to.Ptr("2023-05-01"),
},
Granularity: to.Ptr(armcostmanagement.GranularityTypeDaily),
},
Timeframe: to.Ptr(armcostmanagement.TimeframeTypeMonthToDate),
},
DeliveryInfo: &armcostmanagement.ExportDeliveryInfo{
Destination: &armcostmanagement.ExportDeliveryDestination{
Type: to.Ptr(armcostmanagement.DestinationTypeAzureBlob),
Container: to.Ptr("exports"),
ResourceID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182"),
RootFolderPath: to.Ptr("ad-hoc"),
},
},
ExportDescription: to.Ptr("This is a test export."),
PartitionData: to.Ptr(true),
Schedule: &armcostmanagement.ExportSchedule{
Recurrence: to.Ptr(armcostmanagement.RecurrenceTypeDaily),
RecurrencePeriod: &armcostmanagement.ExportRecurrencePeriod{
From: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-06-01T00:00:00Z"); return t }()),
To: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-06-30T00:00:00Z"); return t }()),
},
Status: to.Ptr(armcostmanagement.StatusTypeActive),
},
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res = armcostmanagement.ExportsClientCreateOrUpdateResponse{
// Export: armcostmanagement.Export{
// Name: to.Ptr("TestExport"),
// Type: to.Ptr("Microsoft.CostManagement/exports"),
// ETag: to.Ptr(azcore.ETag("\"00000000-0000-0000-0000-000000000000\"")),
// ID: to.Ptr("/providers/Microsoft.Billing/billingAccounts/12/departments/1234/providers/Microsoft.CostManagement/exports/TestExport"),
// Identity: &armcostmanagement.SystemAssignedServiceIdentity{
// Type: to.Ptr(armcostmanagement.SystemAssignedServiceIdentityTypeSystemAssigned),
// PrincipalID: to.Ptr("00000000-0000-0000-0000-000000000000"),
// TenantID: to.Ptr("00000000-0000-0000-0000-000000000000"),
// },
// Location: to.Ptr("centralus"),
// Properties: &armcostmanagement.ExportProperties{
// Format: to.Ptr(armcostmanagement.FormatTypeParquet),
// CompressionMode: to.Ptr(armcostmanagement.CompressionModeTypeSnappy),
// DataOverwriteBehavior: to.Ptr(armcostmanagement.DataOverwriteBehaviorTypeOverwritePreviousReport),
// Definition: &armcostmanagement.ExportDefinition{
// Type: to.Ptr(armcostmanagement.ExportTypeActualCost),
// DataSet: &armcostmanagement.ExportDataset{
// Configuration: &armcostmanagement.ExportDatasetConfiguration{
// DataVersion: to.Ptr("2023-05-01"),
// },
// Granularity: to.Ptr(armcostmanagement.GranularityTypeDaily),
// },
// Timeframe: to.Ptr(armcostmanagement.TimeframeTypeMonthToDate),
// },
// DeliveryInfo: &armcostmanagement.ExportDeliveryInfo{
// Destination: &armcostmanagement.ExportDeliveryDestination{
// Container: to.Ptr("exports"),
// ResourceID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182"),
// RootFolderPath: to.Ptr("ad-hoc"),
// },
// },
// ExportDescription: to.Ptr("This is a test export."),
// NextRunTimeEstimate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-06-01T23:00:00Z"); return t}()),
// PartitionData: to.Ptr(true),
// Schedule: &armcostmanagement.ExportSchedule{
// Recurrence: to.Ptr(armcostmanagement.RecurrenceTypeDaily),
// RecurrencePeriod: &armcostmanagement.ExportRecurrencePeriod{
// From: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-06-01T00:00:00Z"); return t}()),
// To: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-06-30T00:00:00Z"); return t}()),
// },
// Status: to.Ptr(armcostmanagement.StatusTypeActive),
// },
// },
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { CostManagementClient } = require("@azure/arm-costmanagement");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to the operation to create or update a export. Update operation requires latest eTag to be set in the request. You may obtain the latest eTag by performing a get operation. Create operation does not require eTag.
*
* @summary the operation to create or update a export. Update operation requires latest eTag to be set in the request. You may obtain the latest eTag by performing a get operation. Create operation does not require eTag.
* x-ms-original-file: 2025-03-01/ExportCreateOrUpdateByDepartment.json
*/
async function exportCreateOrUpdateByDepartment() {
const credential = new DefaultAzureCredential();
const client = new CostManagementClient(credential);
const result = await client.exports.createOrUpdate(
"providers/Microsoft.Billing/billingAccounts/12/departments/1234",
"TestExport",
{
identity: { type: "SystemAssigned" },
location: "centralus",
format: "Parquet",
compressionMode: "snappy",
dataOverwriteBehavior: "OverwritePreviousReport",
definition: {
type: "ActualCost",
dataSet: { configuration: { dataVersion: "2023-05-01" }, granularity: "Daily" },
timeframe: "MonthToDate",
},
deliveryInfo: {
destination: {
type: "AzureBlob",
container: "exports",
resourceId:
"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
rootFolderPath: "ad-hoc",
},
},
exportDescription: "This is a test export.",
partitionData: true,
schedule: {
recurrence: "Daily",
recurrencePeriod: {
from: new Date("2020-06-01T00:00:00Z"),
to: new Date("2020-06-30T00:00:00Z"),
},
status: "Active",
},
},
);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Exemple de réponse
{
"name": "TestExport",
"type": "Microsoft.CostManagement/exports",
"eTag": "\"00000000-0000-0000-0000-000000000000\"",
"id": "/providers/Microsoft.Billing/billingAccounts/12/departments/1234/providers/Microsoft.CostManagement/exports/TestExport",
"identity": {
"type": "SystemAssigned",
"principalId": "00000000-0000-0000-0000-000000000000",
"tenantId": "00000000-0000-0000-0000-000000000000"
},
"location": "centralus",
"properties": {
"format": "Parquet",
"compressionMode": "snappy",
"dataOverwriteBehavior": "OverwritePreviousReport",
"definition": {
"type": "ActualCost",
"dataSet": {
"configuration": {
"dataVersion": "2023-05-01"
},
"granularity": "Daily"
},
"timeframe": "MonthToDate"
},
"deliveryInfo": {
"destination": {
"container": "exports",
"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
"rootFolderPath": "ad-hoc"
}
},
"exportDescription": "This is a test export.",
"nextRunTimeEstimate": "2020-06-01T23:00:00Z",
"partitionData": true,
"schedule": {
"recurrence": "Daily",
"recurrencePeriod": {
"from": "2020-06-01T00:00:00Z",
"to": "2020-06-30T00:00:00Z"
},
"status": "Active"
}
}
}
{
"name": "TestExport",
"type": "Microsoft.CostManagement/exports",
"eTag": "\"00000000-0000-0000-0000-000000000000\"",
"id": "/providers/Microsoft.Billing/billingAccounts/12/departments/1234/providers/Microsoft.CostManagement/exports/TestExport",
"identity": {
"type": "SystemAssigned",
"principalId": "00000000-0000-0000-0000-000000000000",
"tenantId": "00000000-0000-0000-0000-000000000000"
},
"location": "centralus",
"properties": {
"format": "Parquet",
"compressionMode": "snappy",
"dataOverwriteBehavior": "OverwritePreviousReport",
"definition": {
"type": "ActualCost",
"dataSet": {
"configuration": {
"dataVersion": "2023-05-01"
},
"granularity": "Daily"
},
"timeframe": "MonthToDate"
},
"deliveryInfo": {
"destination": {
"container": "exports",
"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
"rootFolderPath": "ad-hoc"
}
},
"exportDescription": "This is a test export.",
"nextRunTimeEstimate": "2020-06-01T23:00:00Z",
"partitionData": true,
"schedule": {
"recurrence": "Daily",
"recurrencePeriod": {
"from": "2020-06-01T00:00:00Z",
"to": "2020-06-30T00:00:00Z"
},
"status": "Active"
}
}
}
ExportCreateOrUpdateByEnrollmentAccount
Exemple de requête
PUT https://management.azure.com/providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456/providers/Microsoft.CostManagement/exports/TestExport?api-version=2025-03-01
{
"identity": {
"type": "SystemAssigned"
},
"location": "centralus",
"properties": {
"format": "Csv",
"compressionMode": "gzip",
"dataOverwriteBehavior": "OverwritePreviousReport",
"definition": {
"type": "ActualCost",
"dataSet": {
"configuration": {
"dataVersion": "2023-05-01"
},
"granularity": "Daily"
},
"timeframe": "MonthToDate"
},
"deliveryInfo": {
"destination": {
"type": "AzureBlob",
"container": "exports",
"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
"rootFolderPath": "ad-hoc"
}
},
"exportDescription": "This is a test export.",
"partitionData": true,
"schedule": {
"recurrence": "Daily",
"recurrencePeriod": {
"from": "2020-06-01T00:00:00Z",
"to": "2020-06-30T00:00:00Z"
},
"status": "Active"
}
}
}
from azure.identity import DefaultAzureCredential
from azure.mgmt.costmanagement import CostManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-costmanagement
# USAGE
python export_create_or_update_by_enrollment_account.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = CostManagementClient(
credential=DefaultAzureCredential(),
)
response = client.exports.create_or_update(
scope="providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456",
export_name="TestExport",
parameters={
"identity": {"type": "SystemAssigned"},
"location": "centralus",
"properties": {
"compressionMode": "gzip",
"dataOverwriteBehavior": "OverwritePreviousReport",
"definition": {
"dataSet": {"configuration": {"dataVersion": "2023-05-01"}, "granularity": "Daily"},
"timeframe": "MonthToDate",
"type": "ActualCost",
},
"deliveryInfo": {
"destination": {
"container": "exports",
"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
"rootFolderPath": "ad-hoc",
"type": "AzureBlob",
}
},
"exportDescription": "This is a test export.",
"format": "Csv",
"partitionData": True,
"schedule": {
"recurrence": "Daily",
"recurrencePeriod": {"from": "2020-06-01T00:00:00Z", "to": "2020-06-30T00:00:00Z"},
"status": "Active",
},
},
},
)
print(response)
# x-ms-original-file: 2025-03-01/ExportCreateOrUpdateByEnrollmentAccount.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armcostmanagement_test
import (
"context"
"log"
"time"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/costmanagement/armcostmanagement/v3"
)
// Generated from example definition: 2025-03-01/ExportCreateOrUpdateByEnrollmentAccount.json
func ExampleExportsClient_CreateOrUpdate_exportCreateOrUpdateByEnrollmentAccount() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armcostmanagement.NewClientFactory(cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewExportsClient().CreateOrUpdate(ctx, "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456", "TestExport", armcostmanagement.Export{
Identity: &armcostmanagement.SystemAssignedServiceIdentity{
Type: to.Ptr(armcostmanagement.SystemAssignedServiceIdentityTypeSystemAssigned),
},
Location: to.Ptr("centralus"),
Properties: &armcostmanagement.ExportProperties{
Format: to.Ptr(armcostmanagement.FormatTypeCSV),
CompressionMode: to.Ptr(armcostmanagement.CompressionModeTypeGzip),
DataOverwriteBehavior: to.Ptr(armcostmanagement.DataOverwriteBehaviorTypeOverwritePreviousReport),
Definition: &armcostmanagement.ExportDefinition{
Type: to.Ptr(armcostmanagement.ExportTypeActualCost),
DataSet: &armcostmanagement.ExportDataset{
Configuration: &armcostmanagement.ExportDatasetConfiguration{
DataVersion: to.Ptr("2023-05-01"),
},
Granularity: to.Ptr(armcostmanagement.GranularityTypeDaily),
},
Timeframe: to.Ptr(armcostmanagement.TimeframeTypeMonthToDate),
},
DeliveryInfo: &armcostmanagement.ExportDeliveryInfo{
Destination: &armcostmanagement.ExportDeliveryDestination{
Type: to.Ptr(armcostmanagement.DestinationTypeAzureBlob),
Container: to.Ptr("exports"),
ResourceID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182"),
RootFolderPath: to.Ptr("ad-hoc"),
},
},
ExportDescription: to.Ptr("This is a test export."),
PartitionData: to.Ptr(true),
Schedule: &armcostmanagement.ExportSchedule{
Recurrence: to.Ptr(armcostmanagement.RecurrenceTypeDaily),
RecurrencePeriod: &armcostmanagement.ExportRecurrencePeriod{
From: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-06-01T00:00:00Z"); return t }()),
To: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-06-30T00:00:00Z"); return t }()),
},
Status: to.Ptr(armcostmanagement.StatusTypeActive),
},
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res = armcostmanagement.ExportsClientCreateOrUpdateResponse{
// Export: armcostmanagement.Export{
// Name: to.Ptr("TestExport"),
// Type: to.Ptr("Microsoft.CostManagement/exports"),
// ETag: to.Ptr(azcore.ETag("\"00000000-0000-0000-0000-000000000000\"")),
// ID: to.Ptr("/providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456/providers/Microsoft.CostManagement/exports/TestExport"),
// Identity: &armcostmanagement.SystemAssignedServiceIdentity{
// Type: to.Ptr(armcostmanagement.SystemAssignedServiceIdentityTypeSystemAssigned),
// PrincipalID: to.Ptr("00000000-0000-0000-0000-000000000000"),
// TenantID: to.Ptr("00000000-0000-0000-0000-000000000000"),
// },
// Location: to.Ptr("centralus"),
// Properties: &armcostmanagement.ExportProperties{
// Format: to.Ptr(armcostmanagement.FormatTypeCSV),
// CompressionMode: to.Ptr(armcostmanagement.CompressionModeTypeGzip),
// DataOverwriteBehavior: to.Ptr(armcostmanagement.DataOverwriteBehaviorTypeOverwritePreviousReport),
// Definition: &armcostmanagement.ExportDefinition{
// Type: to.Ptr(armcostmanagement.ExportTypeActualCost),
// DataSet: &armcostmanagement.ExportDataset{
// Configuration: &armcostmanagement.ExportDatasetConfiguration{
// DataVersion: to.Ptr("2023-05-01"),
// },
// Granularity: to.Ptr(armcostmanagement.GranularityTypeDaily),
// },
// Timeframe: to.Ptr(armcostmanagement.TimeframeTypeMonthToDate),
// },
// DeliveryInfo: &armcostmanagement.ExportDeliveryInfo{
// Destination: &armcostmanagement.ExportDeliveryDestination{
// Container: to.Ptr("exports"),
// ResourceID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182"),
// RootFolderPath: to.Ptr("ad-hoc"),
// },
// },
// ExportDescription: to.Ptr("This is a test export."),
// NextRunTimeEstimate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-06-01T23:00:00Z"); return t}()),
// PartitionData: to.Ptr(true),
// Schedule: &armcostmanagement.ExportSchedule{
// Recurrence: to.Ptr(armcostmanagement.RecurrenceTypeDaily),
// RecurrencePeriod: &armcostmanagement.ExportRecurrencePeriod{
// From: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-06-01T00:00:00Z"); return t}()),
// To: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-06-30T00:00:00Z"); return t}()),
// },
// Status: to.Ptr(armcostmanagement.StatusTypeActive),
// },
// },
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { CostManagementClient } = require("@azure/arm-costmanagement");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to the operation to create or update a export. Update operation requires latest eTag to be set in the request. You may obtain the latest eTag by performing a get operation. Create operation does not require eTag.
*
* @summary the operation to create or update a export. Update operation requires latest eTag to be set in the request. You may obtain the latest eTag by performing a get operation. Create operation does not require eTag.
* x-ms-original-file: 2025-03-01/ExportCreateOrUpdateByEnrollmentAccount.json
*/
async function exportCreateOrUpdateByEnrollmentAccount() {
const credential = new DefaultAzureCredential();
const client = new CostManagementClient(credential);
const result = await client.exports.createOrUpdate(
"providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456",
"TestExport",
{
identity: { type: "SystemAssigned" },
location: "centralus",
format: "Csv",
compressionMode: "gzip",
dataOverwriteBehavior: "OverwritePreviousReport",
definition: {
type: "ActualCost",
dataSet: { configuration: { dataVersion: "2023-05-01" }, granularity: "Daily" },
timeframe: "MonthToDate",
},
deliveryInfo: {
destination: {
type: "AzureBlob",
container: "exports",
resourceId:
"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
rootFolderPath: "ad-hoc",
},
},
exportDescription: "This is a test export.",
partitionData: true,
schedule: {
recurrence: "Daily",
recurrencePeriod: {
from: new Date("2020-06-01T00:00:00Z"),
to: new Date("2020-06-30T00:00:00Z"),
},
status: "Active",
},
},
);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Exemple de réponse
{
"name": "TestExport",
"type": "Microsoft.CostManagement/exports",
"eTag": "\"00000000-0000-0000-0000-000000000000\"",
"id": "/providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456/providers/Microsoft.CostManagement/exports/TestExport",
"identity": {
"type": "SystemAssigned",
"principalId": "00000000-0000-0000-0000-000000000000",
"tenantId": "00000000-0000-0000-0000-000000000000"
},
"location": "centralus",
"properties": {
"format": "Csv",
"compressionMode": "gzip",
"dataOverwriteBehavior": "OverwritePreviousReport",
"definition": {
"type": "ActualCost",
"dataSet": {
"configuration": {
"dataVersion": "2023-05-01"
},
"granularity": "Daily"
},
"timeframe": "MonthToDate"
},
"deliveryInfo": {
"destination": {
"container": "exports",
"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
"rootFolderPath": "ad-hoc"
}
},
"exportDescription": "This is a test export.",
"nextRunTimeEstimate": "2020-06-01T23:00:00Z",
"partitionData": true,
"schedule": {
"recurrence": "Daily",
"recurrencePeriod": {
"from": "2020-06-01T00:00:00Z",
"to": "2020-06-30T00:00:00Z"
},
"status": "Active"
}
}
}
{
"name": "TestExport",
"type": "Microsoft.CostManagement/exports",
"eTag": "\"00000000-0000-0000-0000-000000000000\"",
"id": "/providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456/providers/Microsoft.CostManagement/exports/TestExport",
"identity": {
"type": "SystemAssigned",
"principalId": "00000000-0000-0000-0000-000000000000",
"tenantId": "00000000-0000-0000-0000-000000000000"
},
"location": "centralus",
"properties": {
"format": "Csv",
"compressionMode": "gzip",
"dataOverwriteBehavior": "OverwritePreviousReport",
"definition": {
"type": "ActualCost",
"dataSet": {
"configuration": {
"dataVersion": "2023-05-01"
},
"granularity": "Daily"
},
"timeframe": "MonthToDate"
},
"deliveryInfo": {
"destination": {
"container": "exports",
"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
"rootFolderPath": "ad-hoc"
}
},
"exportDescription": "This is a test export.",
"nextRunTimeEstimate": "2020-06-01T23:00:00Z",
"partitionData": true,
"schedule": {
"recurrence": "Daily",
"recurrencePeriod": {
"from": "2020-06-01T00:00:00Z",
"to": "2020-06-30T00:00:00Z"
},
"status": "Active"
}
}
}
ExportCreateOrUpdateByManagementGroup
Exemple de requête
PUT https://management.azure.com/providers/Microsoft.Management/managementGroups/TestMG/providers/Microsoft.CostManagement/exports/TestExport?api-version=2025-03-01
{
"identity": {
"type": "SystemAssigned"
},
"location": "centralus",
"properties": {
"format": "Csv",
"compressionMode": "gzip",
"dataOverwriteBehavior": "OverwritePreviousReport",
"definition": {
"type": "ActualCost",
"dataSet": {
"configuration": {
"dataVersion": "2023-05-01"
},
"granularity": "Daily"
},
"timeframe": "MonthToDate"
},
"deliveryInfo": {
"destination": {
"type": "AzureBlob",
"container": "exports",
"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
"rootFolderPath": "ad-hoc"
}
},
"exportDescription": "This is a test export.",
"partitionData": true,
"schedule": {
"recurrence": "Daily",
"recurrencePeriod": {
"from": "2020-06-01T00:00:00Z",
"to": "2020-06-30T00:00:00Z"
},
"status": "Active"
}
}
}
from azure.identity import DefaultAzureCredential
from azure.mgmt.costmanagement import CostManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-costmanagement
# USAGE
python export_create_or_update_by_management_group.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = CostManagementClient(
credential=DefaultAzureCredential(),
)
response = client.exports.create_or_update(
scope="providers/Microsoft.Management/managementGroups/TestMG",
export_name="TestExport",
parameters={
"identity": {"type": "SystemAssigned"},
"location": "centralus",
"properties": {
"compressionMode": "gzip",
"dataOverwriteBehavior": "OverwritePreviousReport",
"definition": {
"dataSet": {"configuration": {"dataVersion": "2023-05-01"}, "granularity": "Daily"},
"timeframe": "MonthToDate",
"type": "ActualCost",
},
"deliveryInfo": {
"destination": {
"container": "exports",
"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
"rootFolderPath": "ad-hoc",
"type": "AzureBlob",
}
},
"exportDescription": "This is a test export.",
"format": "Csv",
"partitionData": True,
"schedule": {
"recurrence": "Daily",
"recurrencePeriod": {"from": "2020-06-01T00:00:00Z", "to": "2020-06-30T00:00:00Z"},
"status": "Active",
},
},
},
)
print(response)
# x-ms-original-file: 2025-03-01/ExportCreateOrUpdateByManagementGroup.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armcostmanagement_test
import (
"context"
"log"
"time"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/costmanagement/armcostmanagement/v3"
)
// Generated from example definition: 2025-03-01/ExportCreateOrUpdateByManagementGroup.json
func ExampleExportsClient_CreateOrUpdate_exportCreateOrUpdateByManagementGroup() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armcostmanagement.NewClientFactory(cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewExportsClient().CreateOrUpdate(ctx, "providers/Microsoft.Management/managementGroups/TestMG", "TestExport", armcostmanagement.Export{
Identity: &armcostmanagement.SystemAssignedServiceIdentity{
Type: to.Ptr(armcostmanagement.SystemAssignedServiceIdentityTypeSystemAssigned),
},
Location: to.Ptr("centralus"),
Properties: &armcostmanagement.ExportProperties{
Format: to.Ptr(armcostmanagement.FormatTypeCSV),
CompressionMode: to.Ptr(armcostmanagement.CompressionModeTypeGzip),
DataOverwriteBehavior: to.Ptr(armcostmanagement.DataOverwriteBehaviorTypeOverwritePreviousReport),
Definition: &armcostmanagement.ExportDefinition{
Type: to.Ptr(armcostmanagement.ExportTypeActualCost),
DataSet: &armcostmanagement.ExportDataset{
Configuration: &armcostmanagement.ExportDatasetConfiguration{
DataVersion: to.Ptr("2023-05-01"),
},
Granularity: to.Ptr(armcostmanagement.GranularityTypeDaily),
},
Timeframe: to.Ptr(armcostmanagement.TimeframeTypeMonthToDate),
},
DeliveryInfo: &armcostmanagement.ExportDeliveryInfo{
Destination: &armcostmanagement.ExportDeliveryDestination{
Type: to.Ptr(armcostmanagement.DestinationTypeAzureBlob),
Container: to.Ptr("exports"),
ResourceID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182"),
RootFolderPath: to.Ptr("ad-hoc"),
},
},
ExportDescription: to.Ptr("This is a test export."),
PartitionData: to.Ptr(true),
Schedule: &armcostmanagement.ExportSchedule{
Recurrence: to.Ptr(armcostmanagement.RecurrenceTypeDaily),
RecurrencePeriod: &armcostmanagement.ExportRecurrencePeriod{
From: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-06-01T00:00:00Z"); return t }()),
To: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-06-30T00:00:00Z"); return t }()),
},
Status: to.Ptr(armcostmanagement.StatusTypeActive),
},
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res = armcostmanagement.ExportsClientCreateOrUpdateResponse{
// Export: armcostmanagement.Export{
// Name: to.Ptr("TestExport"),
// Type: to.Ptr("Microsoft.CostManagement/exports"),
// ETag: to.Ptr(azcore.ETag("\"00000000-0000-0000-0000-000000000000\"")),
// ID: to.Ptr("/providers/Microsoft.Management/managementGroups/TestMG/providers/Microsoft.CostManagement/exports/TestExport"),
// Identity: &armcostmanagement.SystemAssignedServiceIdentity{
// Type: to.Ptr(armcostmanagement.SystemAssignedServiceIdentityTypeSystemAssigned),
// PrincipalID: to.Ptr("00000000-0000-0000-0000-000000000000"),
// TenantID: to.Ptr("00000000-0000-0000-0000-000000000000"),
// },
// Location: to.Ptr("centralus"),
// Properties: &armcostmanagement.ExportProperties{
// Format: to.Ptr(armcostmanagement.FormatTypeCSV),
// CompressionMode: to.Ptr(armcostmanagement.CompressionModeTypeGzip),
// DataOverwriteBehavior: to.Ptr(armcostmanagement.DataOverwriteBehaviorTypeOverwritePreviousReport),
// Definition: &armcostmanagement.ExportDefinition{
// Type: to.Ptr(armcostmanagement.ExportTypeActualCost),
// DataSet: &armcostmanagement.ExportDataset{
// Configuration: &armcostmanagement.ExportDatasetConfiguration{
// DataVersion: to.Ptr("2023-05-01"),
// },
// Granularity: to.Ptr(armcostmanagement.GranularityTypeDaily),
// },
// Timeframe: to.Ptr(armcostmanagement.TimeframeTypeMonthToDate),
// },
// DeliveryInfo: &armcostmanagement.ExportDeliveryInfo{
// Destination: &armcostmanagement.ExportDeliveryDestination{
// Container: to.Ptr("exports"),
// ResourceID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182"),
// RootFolderPath: to.Ptr("ad-hoc"),
// },
// },
// ExportDescription: to.Ptr("This is a test export."),
// NextRunTimeEstimate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-06-01T23:00:00Z"); return t}()),
// PartitionData: to.Ptr(true),
// Schedule: &armcostmanagement.ExportSchedule{
// Recurrence: to.Ptr(armcostmanagement.RecurrenceTypeDaily),
// RecurrencePeriod: &armcostmanagement.ExportRecurrencePeriod{
// From: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-06-01T00:00:00Z"); return t}()),
// To: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-06-30T00:00:00Z"); return t}()),
// },
// Status: to.Ptr(armcostmanagement.StatusTypeActive),
// },
// },
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { CostManagementClient } = require("@azure/arm-costmanagement");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to the operation to create or update a export. Update operation requires latest eTag to be set in the request. You may obtain the latest eTag by performing a get operation. Create operation does not require eTag.
*
* @summary the operation to create or update a export. Update operation requires latest eTag to be set in the request. You may obtain the latest eTag by performing a get operation. Create operation does not require eTag.
* x-ms-original-file: 2025-03-01/ExportCreateOrUpdateByManagementGroup.json
*/
async function exportCreateOrUpdateByManagementGroup() {
const credential = new DefaultAzureCredential();
const client = new CostManagementClient(credential);
const result = await client.exports.createOrUpdate(
"providers/Microsoft.Management/managementGroups/TestMG",
"TestExport",
{
identity: { type: "SystemAssigned" },
location: "centralus",
format: "Csv",
compressionMode: "gzip",
dataOverwriteBehavior: "OverwritePreviousReport",
definition: {
type: "ActualCost",
dataSet: { configuration: { dataVersion: "2023-05-01" }, granularity: "Daily" },
timeframe: "MonthToDate",
},
deliveryInfo: {
destination: {
type: "AzureBlob",
container: "exports",
resourceId:
"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
rootFolderPath: "ad-hoc",
},
},
exportDescription: "This is a test export.",
partitionData: true,
schedule: {
recurrence: "Daily",
recurrencePeriod: {
from: new Date("2020-06-01T00:00:00Z"),
to: new Date("2020-06-30T00:00:00Z"),
},
status: "Active",
},
},
);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Exemple de réponse
{
"name": "TestExport",
"type": "Microsoft.CostManagement/exports",
"eTag": "\"00000000-0000-0000-0000-000000000000\"",
"id": "/providers/Microsoft.Management/managementGroups/TestMG/providers/Microsoft.CostManagement/exports/TestExport",
"identity": {
"type": "SystemAssigned",
"principalId": "00000000-0000-0000-0000-000000000000",
"tenantId": "00000000-0000-0000-0000-000000000000"
},
"location": "centralus",
"properties": {
"format": "Csv",
"compressionMode": "gzip",
"dataOverwriteBehavior": "OverwritePreviousReport",
"definition": {
"type": "ActualCost",
"dataSet": {
"configuration": {
"dataVersion": "2023-05-01"
},
"granularity": "Daily"
},
"timeframe": "MonthToDate"
},
"deliveryInfo": {
"destination": {
"container": "exports",
"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
"rootFolderPath": "ad-hoc"
}
},
"exportDescription": "This is a test export.",
"nextRunTimeEstimate": "2020-06-01T23:00:00Z",
"partitionData": true,
"schedule": {
"recurrence": "Daily",
"recurrencePeriod": {
"from": "2020-06-01T00:00:00Z",
"to": "2020-06-30T00:00:00Z"
},
"status": "Active"
}
}
}
{
"name": "TestExport",
"type": "Microsoft.CostManagement/exports",
"eTag": "\"00000000-0000-0000-0000-000000000000\"",
"id": "/providers/Microsoft.Management/managementGroups/TestMG/providers/Microsoft.CostManagement/exports/TestExport",
"identity": {
"type": "SystemAssigned",
"principalId": "00000000-0000-0000-0000-000000000000",
"tenantId": "00000000-0000-0000-0000-000000000000"
},
"location": "centralus",
"properties": {
"format": "Csv",
"compressionMode": "gzip",
"dataOverwriteBehavior": "OverwritePreviousReport",
"definition": {
"type": "ActualCost",
"dataSet": {
"configuration": {
"dataVersion": "2023-05-01"
},
"granularity": "Daily"
},
"timeframe": "MonthToDate"
},
"deliveryInfo": {
"destination": {
"container": "exports",
"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
"rootFolderPath": "ad-hoc"
}
},
"exportDescription": "This is a test export.",
"nextRunTimeEstimate": "2020-06-01T23:00:00Z",
"partitionData": true,
"schedule": {
"recurrence": "Daily",
"recurrencePeriod": {
"from": "2020-06-01T00:00:00Z",
"to": "2020-06-30T00:00:00Z"
},
"status": "Active"
}
}
}
ExportCreateOrUpdateByResourceGroup
Exemple de requête
PUT https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.CostManagement/exports/TestExport?api-version=2025-03-01
{
"identity": {
"type": "SystemAssigned"
},
"location": "centralus",
"properties": {
"format": "Csv",
"compressionMode": "gzip",
"dataOverwriteBehavior": "OverwritePreviousReport",
"definition": {
"type": "ActualCost",
"dataSet": {
"configuration": {
"dataVersion": "2023-05-01"
},
"granularity": "Daily"
},
"timeframe": "MonthToDate"
},
"deliveryInfo": {
"destination": {
"type": "AzureBlob",
"container": "exports",
"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
"rootFolderPath": "ad-hoc"
}
},
"exportDescription": "This is a test export.",
"partitionData": true,
"schedule": {
"recurrence": "Daily",
"recurrencePeriod": {
"from": "2020-06-01T00:00:00Z",
"to": "2020-06-30T00:00:00Z"
},
"status": "Active"
}
}
}
from azure.identity import DefaultAzureCredential
from azure.mgmt.costmanagement import CostManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-costmanagement
# USAGE
python export_create_or_update_by_resource_group.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = CostManagementClient(
credential=DefaultAzureCredential(),
)
response = client.exports.create_or_update(
scope="subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG",
export_name="TestExport",
parameters={
"identity": {"type": "SystemAssigned"},
"location": "centralus",
"properties": {
"compressionMode": "gzip",
"dataOverwriteBehavior": "OverwritePreviousReport",
"definition": {
"dataSet": {"configuration": {"dataVersion": "2023-05-01"}, "granularity": "Daily"},
"timeframe": "MonthToDate",
"type": "ActualCost",
},
"deliveryInfo": {
"destination": {
"container": "exports",
"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
"rootFolderPath": "ad-hoc",
"type": "AzureBlob",
}
},
"exportDescription": "This is a test export.",
"format": "Csv",
"partitionData": True,
"schedule": {
"recurrence": "Daily",
"recurrencePeriod": {"from": "2020-06-01T00:00:00Z", "to": "2020-06-30T00:00:00Z"},
"status": "Active",
},
},
},
)
print(response)
# x-ms-original-file: 2025-03-01/ExportCreateOrUpdateByResourceGroup.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armcostmanagement_test
import (
"context"
"log"
"time"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/costmanagement/armcostmanagement/v3"
)
// Generated from example definition: 2025-03-01/ExportCreateOrUpdateByResourceGroup.json
func ExampleExportsClient_CreateOrUpdate_exportCreateOrUpdateByResourceGroup() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armcostmanagement.NewClientFactory(cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewExportsClient().CreateOrUpdate(ctx, "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG", "TestExport", armcostmanagement.Export{
Identity: &armcostmanagement.SystemAssignedServiceIdentity{
Type: to.Ptr(armcostmanagement.SystemAssignedServiceIdentityTypeSystemAssigned),
},
Location: to.Ptr("centralus"),
Properties: &armcostmanagement.ExportProperties{
Format: to.Ptr(armcostmanagement.FormatTypeCSV),
CompressionMode: to.Ptr(armcostmanagement.CompressionModeTypeGzip),
DataOverwriteBehavior: to.Ptr(armcostmanagement.DataOverwriteBehaviorTypeOverwritePreviousReport),
Definition: &armcostmanagement.ExportDefinition{
Type: to.Ptr(armcostmanagement.ExportTypeActualCost),
DataSet: &armcostmanagement.ExportDataset{
Configuration: &armcostmanagement.ExportDatasetConfiguration{
DataVersion: to.Ptr("2023-05-01"),
},
Granularity: to.Ptr(armcostmanagement.GranularityTypeDaily),
},
Timeframe: to.Ptr(armcostmanagement.TimeframeTypeMonthToDate),
},
DeliveryInfo: &armcostmanagement.ExportDeliveryInfo{
Destination: &armcostmanagement.ExportDeliveryDestination{
Type: to.Ptr(armcostmanagement.DestinationTypeAzureBlob),
Container: to.Ptr("exports"),
ResourceID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182"),
RootFolderPath: to.Ptr("ad-hoc"),
},
},
ExportDescription: to.Ptr("This is a test export."),
PartitionData: to.Ptr(true),
Schedule: &armcostmanagement.ExportSchedule{
Recurrence: to.Ptr(armcostmanagement.RecurrenceTypeDaily),
RecurrencePeriod: &armcostmanagement.ExportRecurrencePeriod{
From: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-06-01T00:00:00Z"); return t }()),
To: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-06-30T00:00:00Z"); return t }()),
},
Status: to.Ptr(armcostmanagement.StatusTypeActive),
},
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res = armcostmanagement.ExportsClientCreateOrUpdateResponse{
// Export: armcostmanagement.Export{
// Name: to.Ptr("TestExport"),
// Type: to.Ptr("Microsoft.CostManagement/exports"),
// ETag: to.Ptr(azcore.ETag("\"00000000-0000-0000-0000-000000000000\"")),
// ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.CostManagement/exports/TestExport"),
// Identity: &armcostmanagement.SystemAssignedServiceIdentity{
// Type: to.Ptr(armcostmanagement.SystemAssignedServiceIdentityTypeSystemAssigned),
// PrincipalID: to.Ptr("00000000-0000-0000-0000-000000000000"),
// TenantID: to.Ptr("00000000-0000-0000-0000-000000000000"),
// },
// Location: to.Ptr("centralus"),
// Properties: &armcostmanagement.ExportProperties{
// Format: to.Ptr(armcostmanagement.FormatTypeCSV),
// CompressionMode: to.Ptr(armcostmanagement.CompressionModeTypeGzip),
// DataOverwriteBehavior: to.Ptr(armcostmanagement.DataOverwriteBehaviorTypeOverwritePreviousReport),
// Definition: &armcostmanagement.ExportDefinition{
// Type: to.Ptr(armcostmanagement.ExportTypeActualCost),
// DataSet: &armcostmanagement.ExportDataset{
// Configuration: &armcostmanagement.ExportDatasetConfiguration{
// DataVersion: to.Ptr("2023-05-01"),
// },
// Granularity: to.Ptr(armcostmanagement.GranularityTypeDaily),
// },
// Timeframe: to.Ptr(armcostmanagement.TimeframeTypeMonthToDate),
// },
// DeliveryInfo: &armcostmanagement.ExportDeliveryInfo{
// Destination: &armcostmanagement.ExportDeliveryDestination{
// Container: to.Ptr("exports"),
// ResourceID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182"),
// RootFolderPath: to.Ptr("ad-hoc"),
// },
// },
// ExportDescription: to.Ptr("This is a test export."),
// NextRunTimeEstimate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-06-01T23:00:00Z"); return t}()),
// PartitionData: to.Ptr(true),
// Schedule: &armcostmanagement.ExportSchedule{
// Recurrence: to.Ptr(armcostmanagement.RecurrenceTypeDaily),
// RecurrencePeriod: &armcostmanagement.ExportRecurrencePeriod{
// From: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-06-01T00:00:00Z"); return t}()),
// To: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-06-30T00:00:00Z"); return t}()),
// },
// Status: to.Ptr(armcostmanagement.StatusTypeActive),
// },
// },
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { CostManagementClient } = require("@azure/arm-costmanagement");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to the operation to create or update a export. Update operation requires latest eTag to be set in the request. You may obtain the latest eTag by performing a get operation. Create operation does not require eTag.
*
* @summary the operation to create or update a export. Update operation requires latest eTag to be set in the request. You may obtain the latest eTag by performing a get operation. Create operation does not require eTag.
* x-ms-original-file: 2025-03-01/ExportCreateOrUpdateByResourceGroup.json
*/
async function exportCreateOrUpdateByResourceGroup() {
const credential = new DefaultAzureCredential();
const client = new CostManagementClient(credential);
const result = await client.exports.createOrUpdate(
"subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG",
"TestExport",
{
identity: { type: "SystemAssigned" },
location: "centralus",
format: "Csv",
compressionMode: "gzip",
dataOverwriteBehavior: "OverwritePreviousReport",
definition: {
type: "ActualCost",
dataSet: { configuration: { dataVersion: "2023-05-01" }, granularity: "Daily" },
timeframe: "MonthToDate",
},
deliveryInfo: {
destination: {
type: "AzureBlob",
container: "exports",
resourceId:
"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
rootFolderPath: "ad-hoc",
},
},
exportDescription: "This is a test export.",
partitionData: true,
schedule: {
recurrence: "Daily",
recurrencePeriod: {
from: new Date("2020-06-01T00:00:00Z"),
to: new Date("2020-06-30T00:00:00Z"),
},
status: "Active",
},
},
);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Exemple de réponse
{
"name": "TestExport",
"type": "Microsoft.CostManagement/exports",
"eTag": "\"00000000-0000-0000-0000-000000000000\"",
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.CostManagement/exports/TestExport",
"identity": {
"type": "SystemAssigned",
"principalId": "00000000-0000-0000-0000-000000000000",
"tenantId": "00000000-0000-0000-0000-000000000000"
},
"location": "centralus",
"properties": {
"format": "Csv",
"compressionMode": "gzip",
"dataOverwriteBehavior": "OverwritePreviousReport",
"definition": {
"type": "ActualCost",
"dataSet": {
"configuration": {
"dataVersion": "2023-05-01"
},
"granularity": "Daily"
},
"timeframe": "MonthToDate"
},
"deliveryInfo": {
"destination": {
"container": "exports",
"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
"rootFolderPath": "ad-hoc"
}
},
"exportDescription": "This is a test export.",
"nextRunTimeEstimate": "2020-06-01T23:00:00Z",
"partitionData": true,
"schedule": {
"recurrence": "Daily",
"recurrencePeriod": {
"from": "2020-06-01T00:00:00Z",
"to": "2020-06-30T00:00:00Z"
},
"status": "Active"
}
}
}
{
"name": "TestExport",
"type": "Microsoft.CostManagement/exports",
"eTag": "\"00000000-0000-0000-0000-000000000000\"",
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.CostManagement/exports/TestExport",
"identity": {
"type": "SystemAssigned",
"principalId": "00000000-0000-0000-0000-000000000000",
"tenantId": "00000000-0000-0000-0000-000000000000"
},
"location": "centralus",
"properties": {
"format": "Csv",
"compressionMode": "gzip",
"dataOverwriteBehavior": "OverwritePreviousReport",
"definition": {
"type": "ActualCost",
"dataSet": {
"configuration": {
"dataVersion": "2023-05-01"
},
"granularity": "Daily"
},
"timeframe": "MonthToDate"
},
"deliveryInfo": {
"destination": {
"container": "exports",
"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
"rootFolderPath": "ad-hoc"
}
},
"exportDescription": "This is a test export.",
"nextRunTimeEstimate": "2020-06-01T23:00:00Z",
"partitionData": true,
"schedule": {
"recurrence": "Daily",
"recurrencePeriod": {
"from": "2020-06-01T00:00:00Z",
"to": "2020-06-30T00:00:00Z"
},
"status": "Active"
}
}
}
ExportCreateOrUpdateBySubscription
Exemple de requête
PUT https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/exports/TestExport?api-version=2025-03-01
{
"identity": {
"type": "SystemAssigned"
},
"location": "centralus",
"properties": {
"format": "Csv",
"compressionMode": "gzip",
"dataOverwriteBehavior": "OverwritePreviousReport",
"definition": {
"type": "ActualCost",
"dataSet": {
"configuration": {
"dataVersion": "2023-05-01"
},
"granularity": "Daily"
},
"timeframe": "MonthToDate"
},
"deliveryInfo": {
"destination": {
"type": "AzureBlob",
"container": "exports",
"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
"rootFolderPath": "ad-hoc"
}
},
"exportDescription": "This is a test export.",
"partitionData": true,
"schedule": {
"recurrence": "Daily",
"recurrencePeriod": {
"from": "2020-06-01T00:00:00Z",
"to": "2020-06-30T00:00:00Z"
},
"status": "Active"
}
}
}
from azure.identity import DefaultAzureCredential
from azure.mgmt.costmanagement import CostManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-costmanagement
# USAGE
python export_create_or_update_by_subscription.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = CostManagementClient(
credential=DefaultAzureCredential(),
)
response = client.exports.create_or_update(
scope="subscriptions/00000000-0000-0000-0000-000000000000",
export_name="TestExport",
parameters={
"identity": {"type": "SystemAssigned"},
"location": "centralus",
"properties": {
"compressionMode": "gzip",
"dataOverwriteBehavior": "OverwritePreviousReport",
"definition": {
"dataSet": {"configuration": {"dataVersion": "2023-05-01"}, "granularity": "Daily"},
"timeframe": "MonthToDate",
"type": "ActualCost",
},
"deliveryInfo": {
"destination": {
"container": "exports",
"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
"rootFolderPath": "ad-hoc",
"type": "AzureBlob",
}
},
"exportDescription": "This is a test export.",
"format": "Csv",
"partitionData": True,
"schedule": {
"recurrence": "Daily",
"recurrencePeriod": {"from": "2020-06-01T00:00:00Z", "to": "2020-06-30T00:00:00Z"},
"status": "Active",
},
},
},
)
print(response)
# x-ms-original-file: 2025-03-01/ExportCreateOrUpdateBySubscription.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armcostmanagement_test
import (
"context"
"log"
"time"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/costmanagement/armcostmanagement/v3"
)
// Generated from example definition: 2025-03-01/ExportCreateOrUpdateBySubscription.json
func ExampleExportsClient_CreateOrUpdate_exportCreateOrUpdateBySubscription() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armcostmanagement.NewClientFactory(cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewExportsClient().CreateOrUpdate(ctx, "subscriptions/00000000-0000-0000-0000-000000000000", "TestExport", armcostmanagement.Export{
Identity: &armcostmanagement.SystemAssignedServiceIdentity{
Type: to.Ptr(armcostmanagement.SystemAssignedServiceIdentityTypeSystemAssigned),
},
Location: to.Ptr("centralus"),
Properties: &armcostmanagement.ExportProperties{
Format: to.Ptr(armcostmanagement.FormatTypeCSV),
CompressionMode: to.Ptr(armcostmanagement.CompressionModeTypeGzip),
DataOverwriteBehavior: to.Ptr(armcostmanagement.DataOverwriteBehaviorTypeOverwritePreviousReport),
Definition: &armcostmanagement.ExportDefinition{
Type: to.Ptr(armcostmanagement.ExportTypeActualCost),
DataSet: &armcostmanagement.ExportDataset{
Configuration: &armcostmanagement.ExportDatasetConfiguration{
DataVersion: to.Ptr("2023-05-01"),
},
Granularity: to.Ptr(armcostmanagement.GranularityTypeDaily),
},
Timeframe: to.Ptr(armcostmanagement.TimeframeTypeMonthToDate),
},
DeliveryInfo: &armcostmanagement.ExportDeliveryInfo{
Destination: &armcostmanagement.ExportDeliveryDestination{
Type: to.Ptr(armcostmanagement.DestinationTypeAzureBlob),
Container: to.Ptr("exports"),
ResourceID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182"),
RootFolderPath: to.Ptr("ad-hoc"),
},
},
ExportDescription: to.Ptr("This is a test export."),
PartitionData: to.Ptr(true),
Schedule: &armcostmanagement.ExportSchedule{
Recurrence: to.Ptr(armcostmanagement.RecurrenceTypeDaily),
RecurrencePeriod: &armcostmanagement.ExportRecurrencePeriod{
From: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-06-01T00:00:00Z"); return t }()),
To: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-06-30T00:00:00Z"); return t }()),
},
Status: to.Ptr(armcostmanagement.StatusTypeActive),
},
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res = armcostmanagement.ExportsClientCreateOrUpdateResponse{
// Export: armcostmanagement.Export{
// Name: to.Ptr("TestExport"),
// Type: to.Ptr("Microsoft.CostManagement/exports"),
// ETag: to.Ptr(azcore.ETag("\"00000000-0000-0000-0000-000000000000\"")),
// ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/exports/TestExport"),
// Identity: &armcostmanagement.SystemAssignedServiceIdentity{
// Type: to.Ptr(armcostmanagement.SystemAssignedServiceIdentityTypeSystemAssigned),
// PrincipalID: to.Ptr("00000000-0000-0000-0000-000000000000"),
// TenantID: to.Ptr("00000000-0000-0000-0000-000000000000"),
// },
// Location: to.Ptr("centralus"),
// Properties: &armcostmanagement.ExportProperties{
// Format: to.Ptr(armcostmanagement.FormatTypeCSV),
// CompressionMode: to.Ptr(armcostmanagement.CompressionModeTypeGzip),
// DataOverwriteBehavior: to.Ptr(armcostmanagement.DataOverwriteBehaviorTypeOverwritePreviousReport),
// Definition: &armcostmanagement.ExportDefinition{
// Type: to.Ptr(armcostmanagement.ExportTypeActualCost),
// DataSet: &armcostmanagement.ExportDataset{
// Configuration: &armcostmanagement.ExportDatasetConfiguration{
// DataVersion: to.Ptr("2023-05-01"),
// },
// Granularity: to.Ptr(armcostmanagement.GranularityTypeDaily),
// },
// Timeframe: to.Ptr(armcostmanagement.TimeframeTypeMonthToDate),
// },
// DeliveryInfo: &armcostmanagement.ExportDeliveryInfo{
// Destination: &armcostmanagement.ExportDeliveryDestination{
// Container: to.Ptr("exports"),
// ResourceID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182"),
// RootFolderPath: to.Ptr("ad-hoc"),
// },
// },
// ExportDescription: to.Ptr("This is a test export."),
// NextRunTimeEstimate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-06-01T23:00:00Z"); return t}()),
// PartitionData: to.Ptr(true),
// Schedule: &armcostmanagement.ExportSchedule{
// Recurrence: to.Ptr(armcostmanagement.RecurrenceTypeDaily),
// RecurrencePeriod: &armcostmanagement.ExportRecurrencePeriod{
// From: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-06-01T00:00:00Z"); return t}()),
// To: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-06-30T00:00:00Z"); return t}()),
// },
// Status: to.Ptr(armcostmanagement.StatusTypeActive),
// },
// },
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { CostManagementClient } = require("@azure/arm-costmanagement");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to the operation to create or update a export. Update operation requires latest eTag to be set in the request. You may obtain the latest eTag by performing a get operation. Create operation does not require eTag.
*
* @summary the operation to create or update a export. Update operation requires latest eTag to be set in the request. You may obtain the latest eTag by performing a get operation. Create operation does not require eTag.
* x-ms-original-file: 2025-03-01/ExportCreateOrUpdateBySubscription.json
*/
async function exportCreateOrUpdateBySubscription() {
const credential = new DefaultAzureCredential();
const client = new CostManagementClient(credential);
const result = await client.exports.createOrUpdate(
"subscriptions/00000000-0000-0000-0000-000000000000",
"TestExport",
{
identity: { type: "SystemAssigned" },
location: "centralus",
format: "Csv",
compressionMode: "gzip",
dataOverwriteBehavior: "OverwritePreviousReport",
definition: {
type: "ActualCost",
dataSet: { configuration: { dataVersion: "2023-05-01" }, granularity: "Daily" },
timeframe: "MonthToDate",
},
deliveryInfo: {
destination: {
type: "AzureBlob",
container: "exports",
resourceId:
"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
rootFolderPath: "ad-hoc",
},
},
exportDescription: "This is a test export.",
partitionData: true,
schedule: {
recurrence: "Daily",
recurrencePeriod: {
from: new Date("2020-06-01T00:00:00Z"),
to: new Date("2020-06-30T00:00:00Z"),
},
status: "Active",
},
},
);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Exemple de réponse
{
"name": "TestExport",
"type": "Microsoft.CostManagement/exports",
"eTag": "\"00000000-0000-0000-0000-000000000000\"",
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/exports/TestExport",
"identity": {
"type": "SystemAssigned",
"principalId": "00000000-0000-0000-0000-000000000000",
"tenantId": "00000000-0000-0000-0000-000000000000"
},
"location": "centralus",
"properties": {
"format": "Csv",
"compressionMode": "gzip",
"dataOverwriteBehavior": "OverwritePreviousReport",
"definition": {
"type": "ActualCost",
"dataSet": {
"configuration": {
"dataVersion": "2023-05-01"
},
"granularity": "Daily"
},
"timeframe": "MonthToDate"
},
"deliveryInfo": {
"destination": {
"container": "exports",
"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
"rootFolderPath": "ad-hoc"
}
},
"exportDescription": "This is a test export.",
"nextRunTimeEstimate": "2020-06-01T23:00:00Z",
"partitionData": true,
"schedule": {
"recurrence": "Daily",
"recurrencePeriod": {
"from": "2020-06-01T00:00:00Z",
"to": "2020-06-30T00:00:00Z"
},
"status": "Active"
}
}
}
{
"name": "TestExport",
"type": "Microsoft.CostManagement/exports",
"eTag": "\"00000000-0000-0000-0000-000000000000\"",
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/exports/TestExport",
"identity": {
"type": "SystemAssigned",
"principalId": "00000000-0000-0000-0000-000000000000",
"tenantId": "00000000-0000-0000-0000-000000000000"
},
"location": "centralus",
"properties": {
"format": "Csv",
"compressionMode": "gzip",
"dataOverwriteBehavior": "OverwritePreviousReport",
"definition": {
"type": "ActualCost",
"dataSet": {
"configuration": {
"dataVersion": "2023-05-01"
},
"granularity": "Daily"
},
"timeframe": "MonthToDate"
},
"deliveryInfo": {
"destination": {
"container": "exports",
"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
"rootFolderPath": "ad-hoc"
}
},
"exportDescription": "This is a test export.",
"nextRunTimeEstimate": "2020-06-01T23:00:00Z",
"partitionData": true,
"schedule": {
"recurrence": "Daily",
"recurrencePeriod": {
"from": "2020-06-01T00:00:00Z",
"to": "2020-06-30T00:00:00Z"
},
"status": "Active"
}
}
}
ExportCreateOrUpdateExportCreateOrUpdateByBillingAccountReservationTransactionsByBillingAccount
Exemple de requête
PUT https://management.azure.com/providers/Microsoft.Billing/billingAccounts/123456/providers/Microsoft.CostManagement/exports/TestExport?api-version=2025-03-01
{
"identity": {
"type": "SystemAssigned"
},
"location": "centralus",
"properties": {
"format": "Csv",
"compressionMode": "gzip",
"dataOverwriteBehavior": "OverwritePreviousReport",
"definition": {
"type": "ReservationTransactions",
"dataSet": {
"configuration": {
"dataVersion": "2023-05-01"
}
},
"timeframe": "MonthToDate"
},
"deliveryInfo": {
"destination": {
"type": "AzureBlob",
"container": "exports",
"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
"rootFolderPath": "ad-hoc"
}
},
"exportDescription": "This is a test export.",
"partitionData": true,
"schedule": {
"recurrence": "Daily",
"recurrencePeriod": {
"from": "2023-06-01T00:00:00Z",
"to": "2023-06-30T00:00:00Z"
},
"status": "Active"
}
}
}
from azure.identity import DefaultAzureCredential
from azure.mgmt.costmanagement import CostManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-costmanagement
# USAGE
python export_create_or_update_by_billing_account_reservation_transactions.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = CostManagementClient(
credential=DefaultAzureCredential(),
)
response = client.exports.create_or_update(
scope="providers/Microsoft.Billing/billingAccounts/123456",
export_name="TestExport",
parameters={
"identity": {"type": "SystemAssigned"},
"location": "centralus",
"properties": {
"compressionMode": "gzip",
"dataOverwriteBehavior": "OverwritePreviousReport",
"definition": {
"dataSet": {"configuration": {"dataVersion": "2023-05-01"}},
"timeframe": "MonthToDate",
"type": "ReservationTransactions",
},
"deliveryInfo": {
"destination": {
"container": "exports",
"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
"rootFolderPath": "ad-hoc",
"type": "AzureBlob",
}
},
"exportDescription": "This is a test export.",
"format": "Csv",
"partitionData": True,
"schedule": {
"recurrence": "Daily",
"recurrencePeriod": {"from": "2023-06-01T00:00:00Z", "to": "2023-06-30T00:00:00Z"},
"status": "Active",
},
},
},
)
print(response)
# x-ms-original-file: 2025-03-01/ExportCreateOrUpdateByBillingAccountReservationTransactions.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armcostmanagement_test
import (
"context"
"log"
"time"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/costmanagement/armcostmanagement/v3"
)
// Generated from example definition: 2025-03-01/ExportCreateOrUpdateByBillingAccountReservationTransactions.json
func ExampleExportsClient_CreateOrUpdate_exportCreateOrUpdateExportCreateOrUpdateByBillingAccountReservationTransactionsByBillingAccount() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armcostmanagement.NewClientFactory(cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewExportsClient().CreateOrUpdate(ctx, "providers/Microsoft.Billing/billingAccounts/123456", "TestExport", armcostmanagement.Export{
Identity: &armcostmanagement.SystemAssignedServiceIdentity{
Type: to.Ptr(armcostmanagement.SystemAssignedServiceIdentityTypeSystemAssigned),
},
Location: to.Ptr("centralus"),
Properties: &armcostmanagement.ExportProperties{
Format: to.Ptr(armcostmanagement.FormatTypeCSV),
CompressionMode: to.Ptr(armcostmanagement.CompressionModeTypeGzip),
DataOverwriteBehavior: to.Ptr(armcostmanagement.DataOverwriteBehaviorTypeOverwritePreviousReport),
Definition: &armcostmanagement.ExportDefinition{
Type: to.Ptr(armcostmanagement.ExportTypeReservationTransactions),
DataSet: &armcostmanagement.ExportDataset{
Configuration: &armcostmanagement.ExportDatasetConfiguration{
DataVersion: to.Ptr("2023-05-01"),
},
},
Timeframe: to.Ptr(armcostmanagement.TimeframeTypeMonthToDate),
},
DeliveryInfo: &armcostmanagement.ExportDeliveryInfo{
Destination: &armcostmanagement.ExportDeliveryDestination{
Type: to.Ptr(armcostmanagement.DestinationTypeAzureBlob),
Container: to.Ptr("exports"),
ResourceID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182"),
RootFolderPath: to.Ptr("ad-hoc"),
},
},
ExportDescription: to.Ptr("This is a test export."),
PartitionData: to.Ptr(true),
Schedule: &armcostmanagement.ExportSchedule{
Recurrence: to.Ptr(armcostmanagement.RecurrenceTypeDaily),
RecurrencePeriod: &armcostmanagement.ExportRecurrencePeriod{
From: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2023-06-01T00:00:00Z"); return t }()),
To: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2023-06-30T00:00:00Z"); return t }()),
},
Status: to.Ptr(armcostmanagement.StatusTypeActive),
},
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res = armcostmanagement.ExportsClientCreateOrUpdateResponse{
// Export: armcostmanagement.Export{
// Name: to.Ptr("TestExport"),
// Type: to.Ptr("Microsoft.CostManagement/exports"),
// ETag: to.Ptr(azcore.ETag("\"00000000-0000-0000-0000-000000000000\"")),
// ID: to.Ptr("/providers/Microsoft.Billing/billingAccounts/123456/providers/Microsoft.CostManagement/exports/TestExport"),
// Identity: &armcostmanagement.SystemAssignedServiceIdentity{
// Type: to.Ptr(armcostmanagement.SystemAssignedServiceIdentityTypeSystemAssigned),
// PrincipalID: to.Ptr("00000000-0000-0000-0000-000000000000"),
// TenantID: to.Ptr("00000000-0000-0000-0000-000000000000"),
// },
// Location: to.Ptr("centralus"),
// Properties: &armcostmanagement.ExportProperties{
// Format: to.Ptr(armcostmanagement.FormatTypeCSV),
// CompressionMode: to.Ptr(armcostmanagement.CompressionModeTypeGzip),
// DataOverwriteBehavior: to.Ptr(armcostmanagement.DataOverwriteBehaviorTypeOverwritePreviousReport),
// Definition: &armcostmanagement.ExportDefinition{
// Type: to.Ptr(armcostmanagement.ExportTypeReservationTransactions),
// DataSet: &armcostmanagement.ExportDataset{
// Configuration: &armcostmanagement.ExportDatasetConfiguration{
// Columns: []*string{
// },
// DataVersion: to.Ptr("2023-05-01"),
// Filters: []*armcostmanagement.FilterItems{
// },
// },
// },
// Timeframe: to.Ptr(armcostmanagement.TimeframeTypeMonthToDate),
// },
// DeliveryInfo: &armcostmanagement.ExportDeliveryInfo{
// Destination: &armcostmanagement.ExportDeliveryDestination{
// Container: to.Ptr("exports"),
// ResourceID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182"),
// RootFolderPath: to.Ptr("ad-hoc"),
// },
// },
// ExportDescription: to.Ptr("This is a test export."),
// NextRunTimeEstimate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2023-06-01T23:00:00Z"); return t}()),
// PartitionData: to.Ptr(true),
// Schedule: &armcostmanagement.ExportSchedule{
// Recurrence: to.Ptr(armcostmanagement.RecurrenceTypeDaily),
// RecurrencePeriod: &armcostmanagement.ExportRecurrencePeriod{
// From: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2023-06-01T00:00:00Z"); return t}()),
// To: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2023-06-30T00:00:00Z"); return t}()),
// },
// Status: to.Ptr(armcostmanagement.StatusTypeActive),
// },
// },
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { CostManagementClient } = require("@azure/arm-costmanagement");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to the operation to create or update a export. Update operation requires latest eTag to be set in the request. You may obtain the latest eTag by performing a get operation. Create operation does not require eTag.
*
* @summary the operation to create or update a export. Update operation requires latest eTag to be set in the request. You may obtain the latest eTag by performing a get operation. Create operation does not require eTag.
* x-ms-original-file: 2025-03-01/ExportCreateOrUpdateByBillingAccountReservationTransactions.json
*/
async function exportCreateOrUpdateExportCreateOrUpdateByBillingAccountReservationTransactionsByBillingAccount() {
const credential = new DefaultAzureCredential();
const client = new CostManagementClient(credential);
const result = await client.exports.createOrUpdate(
"providers/Microsoft.Billing/billingAccounts/123456",
"TestExport",
{
identity: { type: "SystemAssigned" },
location: "centralus",
format: "Csv",
compressionMode: "gzip",
dataOverwriteBehavior: "OverwritePreviousReport",
definition: {
type: "ReservationTransactions",
dataSet: { configuration: { dataVersion: "2023-05-01" } },
timeframe: "MonthToDate",
},
deliveryInfo: {
destination: {
type: "AzureBlob",
container: "exports",
resourceId:
"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
rootFolderPath: "ad-hoc",
},
},
exportDescription: "This is a test export.",
partitionData: true,
schedule: {
recurrence: "Daily",
recurrencePeriod: {
from: new Date("2023-06-01T00:00:00Z"),
to: new Date("2023-06-30T00:00:00Z"),
},
status: "Active",
},
},
);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Exemple de réponse
{
"name": "TestExport",
"type": "Microsoft.CostManagement/exports",
"eTag": "\"00000000-0000-0000-0000-000000000000\"",
"id": "/providers/Microsoft.Billing/billingAccounts/123456/providers/Microsoft.CostManagement/exports/TestExport",
"identity": {
"type": "SystemAssigned",
"principalId": "00000000-0000-0000-0000-000000000000",
"tenantId": "00000000-0000-0000-0000-000000000000"
},
"location": "centralus",
"properties": {
"format": "Csv",
"compressionMode": "gzip",
"dataOverwriteBehavior": "OverwritePreviousReport",
"definition": {
"type": "ReservationTransactions",
"dataSet": {
"configuration": {
"columns": [],
"dataVersion": "2023-05-01",
"filters": []
},
"granularity": null
},
"timeframe": "MonthToDate"
},
"deliveryInfo": {
"destination": {
"container": "exports",
"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
"rootFolderPath": "ad-hoc"
}
},
"exportDescription": "This is a test export.",
"nextRunTimeEstimate": "2023-06-01T23:00:00Z",
"partitionData": true,
"schedule": {
"recurrence": "Daily",
"recurrencePeriod": {
"from": "2023-06-01T00:00:00Z",
"to": "2023-06-30T00:00:00Z"
},
"status": "Active"
}
}
}
{
"name": "TestExport",
"type": "Microsoft.CostManagement/exports",
"eTag": "\"00000000-0000-0000-0000-000000000000\"",
"id": "/providers/Microsoft.Billing/billingAccounts/123456/providers/Microsoft.CostManagement/exports/TestExport",
"identity": {
"type": "SystemAssigned",
"principalId": "00000000-0000-0000-0000-000000000000",
"tenantId": "00000000-0000-0000-0000-000000000000"
},
"location": "centralus",
"properties": {
"format": "Csv",
"compressionMode": "gzip",
"dataOverwriteBehavior": "OverwritePreviousReport",
"definition": {
"type": "ReservationTransactions",
"dataSet": {
"configuration": {
"columns": [],
"dataVersion": "2023-05-01",
"filters": []
},
"granularity": null
},
"timeframe": "MonthToDate"
},
"deliveryInfo": {
"destination": {
"container": "exports",
"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
"rootFolderPath": "ad-hoc"
}
},
"exportDescription": "This is a test export.",
"nextRunTimeEstimate": "2023-06-01T23:00:00Z",
"partitionData": true,
"schedule": {
"recurrence": "Daily",
"recurrencePeriod": {
"from": "2023-06-01T00:00:00Z",
"to": "2023-06-30T00:00:00Z"
},
"status": "Active"
}
}
}
Définitions
| Nom |
Description |
|
CommonExportProperties
|
Propriétés communes de l’exportation.
|
|
CompressionModeType
|
Autoriser les clients à sélectionner compresser les données pour les exportations. Ce paramètre active le schéma de compression de fichiers de destination au moment de l’exécution. Par défaut, la valeur None est définie sur None. Gzip est destiné aux fichiers csv et snappy pour parquet.
|
|
createdByType
|
Type d’identité qui a créé la ressource.
|
|
DataOverwriteBehaviorType
|
Autoriser les clients à sélectionner des données de remplacement (OverwritePreviousReport) pour les exportations. Ce paramètre active les données de remplacement pour le même mois dans le compte de stockage client. Par défaut, définissez CreateNewReport.
|
|
DestinationType
|
Type de destination de livraison d’exportation. Actuellement, seul « AzureBlob » est pris en charge.
|
|
ErrorDetails
|
Détails de l’erreur.
|
|
ErrorResponse
|
La réponse d’erreur indique que le service n’est pas en mesure de traiter la requête entrante. La raison est fournie dans le message d’erreur. \n\nQuelques réponses à l’erreur : \n\n * 429 TooMuchRequests - La requête est réduite. Réessayez après avoir attendu l’heure spécifiée dans l’en-tête « x-ms-ratelimit-microsoft.consumption-retry-after ». \n\n * 503 ServiceIndisponible - Le service est temporairement indisponible. Réessayez après avoir attendu l’heure spécifiée dans l’en-tête « Retry-After ».
|
|
ExecutionStatus
|
Dernier état connu de l’exécution d’exportation.
|
|
ExecutionType
|
Type de l’exécution d’exportation.
|
|
Export
|
Ressource d’exportation.
|
|
ExportDataset
|
Définition des données dans l’exportation.
|
|
ExportDatasetConfiguration
|
Ceci est sur le chemin de la dépréciation et ne sera pas pris en charge à l’avenir.
|
|
ExportDefinition
|
Définition d’une exportation.
|
|
ExportDeliveryDestination
|
Cela représente l’emplacement du compte de stockage d’objets blob où les exportations de coûts seront livrées. Il existe deux façons de configurer la destination. L’approche recommandée pour la plupart des clients consiste à spécifier l’ID de ressource du compte de stockage. Cela nécessite une inscription ponctuelle de l’abonnement du compte auprès du fournisseur de ressources Microsoft.CostManagementExports pour permettre aux services Cost Management d’accéder au stockage. Lors de la création d’une exportation dans le portail Azure, cette inscription est effectuée automatiquement, mais les utilisateurs de l’API peuvent avoir besoin d’inscrire explicitement l’abonnement (pour plus d’informations, consultez https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-manager-supported-services). Une autre façon de configurer la destination est disponible uniquement pour les partenaires disposant d’un plan contrat partenaire Microsoft qui sont des administrateurs généraux de leur compte de facturation. Ces partenaires, au lieu de spécifier l’ID de ressource d’un compte de stockage, peuvent spécifier le nom du compte de stockage ainsi qu’un jeton SAP pour le compte. Cela permet d’exporter des coûts vers un compte de stockage dans n’importe quel locataire. Le jeton SAP doit être créé pour le service blob avec les types de ressources Service/Container/Object et avec les autorisations Lecture/Écriture/Supprimer/List/Ajouter/Créer (pour plus d’informations, voir https://docs.microsoft.com/en-us/azure/cost-management-billing/costs/export-cost-data-storage-account-sas-key).
|
|
ExportDeliveryInfo
|
Informations de remise associées à une exportation.
|
|
ExportExecutionListResult
|
Résultat de la liste de l’historique des exécutions d’une exportation.
|
|
ExportRecurrencePeriod
|
Date de début et de fin de la planification de périodicité.
|
|
ExportRun
|
Exécution d’exportation.
|
|
ExportSchedule
|
Planification associée à l’exportation.
|
|
ExportSuspensionContext
|
Propriétés de l’exécution d’exportation. Ce n’est pas peuplé actuellement.
|
|
ExportTimePeriod
|
Plage de dates pour les données de l’exportation. Cela ne doit être spécifié que si le timeFrame est défini sur « Personnalisé ». La plage de dates maximale est de 1 mois calendaire.
|
|
ExportType
|
Type de l’exportation. Notez que « Utilisation » équivaut à « ActualCost » et s’applique aux exportations qui ne fournissent pas encore de données pour les frais ou l’amortissement des réservations de service.
|
|
FilterItemNames
|
Nom du filtre. Cela est actuellement uniquement pris en charge pour le type de définition d’exportation de reservationRecommendations. Les noms pris en charge sont ['ReservationScope', 'LookBackPeriod', 'ResourceType']
|
|
FilterItems
|
Contient le nom et la valeur du filtre sur lesquels opérer. Cela est actuellement uniquement pris en charge pour le type de définition d’exportation de reservationRecommendations.
|
|
FormatType
|
Format de l’exportation en cours de remise.
|
|
GranularityType
|
Granularité des lignes de l’exportation. Actuellement, « Quotidien » est pris en charge pour la plupart des cas.
|
|
RecurrenceType
|
Périodicité de la planification.
|
|
StatusType
|
État de la planification de l’exportation. Si elle est inactive, la planification de l’exportation est suspendue. Pour activer l’exportation, définissez l’état sur Actif, puis effectuez une requête PUT.
|
|
SystemAssignedServiceIdentity
|
Identité de service managée (affectée par le système ou aucun)
|
|
SystemAssignedServiceIdentityType
|
Type d’identité de service managé (soit le système affecté, soit aucun).
|
|
systemData
|
Métadonnées relatives à la création et à la dernière modification de la ressource.
|
|
TimeframeType
|
Délai d’extraction des données pour l’exportation. Si elle est personnalisée, une période spécifique doit être fournie.
|
CommonExportProperties
Objet
Propriétés communes de l’exportation.
| Nom |
Type |
Description |
|
compressionMode
|
CompressionModeType
|
Autoriser les clients à sélectionner compresser les données pour les exportations. Ce paramètre active le schéma de compression de fichiers de destination au moment de l’exécution. Par défaut, la valeur None est définie sur None. Gzip est destiné aux fichiers csv et snappy pour parquet.
|
|
dataOverwriteBehavior
|
DataOverwriteBehaviorType
|
Autoriser les clients à sélectionner des données de remplacement (OverwritePreviousReport) pour les exportations. Ce paramètre active les données de remplacement pour le même mois dans le compte de stockage client. Par défaut, définissez CreateNewReport.
|
|
definition
|
ExportDefinition
|
A la définition de l’exportation.
|
|
deliveryInfo
|
ExportDeliveryInfo
|
Contient des informations de remise pour l’exportation.
|
|
exportDescription
|
string
|
Description de l’exportation définie par le client au moment de la création/mise à jour de l’exportation.
|
|
format
|
FormatType
|
Format de l’exportation en cours de remise.
|
|
nextRunTimeEstimate
|
string
(date-time)
|
Si l’exportation a une planification active, fournit une estimation de la prochaine exécution.
|
|
partitionData
|
boolean
|
Si la valeur est true, les données exportées sont partitionnés par taille et placées dans un répertoire d’objets blob avec un fichier manifeste.
|
|
runHistory
|
ExportExecutionListResult
|
Si nécessaire, dispose de l’historique d’exécution le plus récent pour l’exportation.
|
|
systemSuspensionContext
|
ExportSuspensionContext
|
Raison de suspension de l’exportation si l’exportation est dans l’état SystemSuspended. Ce n’est pas peuplé actuellement.
|
CompressionModeType
Énumération
Autoriser les clients à sélectionner compresser les données pour les exportations. Ce paramètre active le schéma de compression de fichiers de destination au moment de l’exécution. Par défaut, la valeur None est définie sur None. Gzip est destiné aux fichiers csv et snappy pour parquet.
| Valeur |
Description |
|
gzip
|
|
|
snappy
|
|
|
none
|
|
createdByType
Énumération
Type d’identité qui a créé la ressource.
| Valeur |
Description |
|
User
|
|
|
Application
|
|
|
ManagedIdentity
|
|
|
Key
|
|
DataOverwriteBehaviorType
Énumération
Autoriser les clients à sélectionner des données de remplacement (OverwritePreviousReport) pour les exportations. Ce paramètre active les données de remplacement pour le même mois dans le compte de stockage client. Par défaut, définissez CreateNewReport.
| Valeur |
Description |
|
OverwritePreviousReport
|
|
|
CreateNewReport
|
|
DestinationType
Énumération
Type de destination de livraison d’exportation. Actuellement, seul « AzureBlob » est pris en charge.
| Valeur |
Description |
|
AzureBlob
|
|
ErrorDetails
Objet
Détails de l’erreur.
| Nom |
Type |
Description |
|
code
|
string
|
Code d’erreur.
|
|
message
|
string
|
Message d’erreur indiquant pourquoi l’opération a échoué.
|
ErrorResponse
Objet
La réponse d’erreur indique que le service n’est pas en mesure de traiter la requête entrante. La raison est fournie dans le message d’erreur. \n\nQuelques réponses à l’erreur : \n\n * 429 TooMuchRequests - La requête est réduite. Réessayez après avoir attendu l’heure spécifiée dans l’en-tête « x-ms-ratelimit-microsoft.consumption-retry-after ». \n\n * 503 ServiceIndisponible - Le service est temporairement indisponible. Réessayez après avoir attendu l’heure spécifiée dans l’en-tête « Retry-After ».
| Nom |
Type |
Description |
|
error
|
ErrorDetails
|
Détails de l’erreur.
|
ExecutionStatus
Énumération
Dernier état connu de l’exécution d’exportation.
| Valeur |
Description |
|
Queued
|
|
|
InProgress
|
|
|
Completed
|
|
|
Failed
|
|
|
Timeout
|
|
|
NewDataNotAvailable
|
|
|
DataNotAvailable
|
|
ExecutionType
Énumération
Type de l’exécution d’exportation.
| Valeur |
Description |
|
OnDemand
|
|
|
Scheduled
|
|
Export
Objet
Ressource d’exportation.
| Nom |
Type |
Description |
|
eTag
|
string
|
eTag de la ressource. Pour gérer le scénario de mise à jour simultanée, ce champ sera utilisé pour déterminer si l’utilisateur met à jour la dernière version ou non.
|
|
id
|
string
(arm-id)
|
ID de ressource complet pour la ressource. Par exemple, « /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} »
|
|
identity
|
SystemAssignedServiceIdentity
|
Identité managée associée à l’exportation
|
|
location
|
string
|
Emplacement de l’identité managée de l’exportation. Obligatoire uniquement lors de l’utilisation de l’identité managée.
|
|
name
|
string
|
Nom de la ressource
|
|
properties.compressionMode
|
CompressionModeType
|
Autoriser les clients à sélectionner compresser les données pour les exportations. Ce paramètre active le schéma de compression de fichiers de destination au moment de l’exécution. Par défaut, la valeur None est définie sur None. Gzip est destiné aux fichiers csv et snappy pour parquet.
|
|
properties.dataOverwriteBehavior
|
DataOverwriteBehaviorType
|
Autoriser les clients à sélectionner des données de remplacement (OverwritePreviousReport) pour les exportations. Ce paramètre active les données de remplacement pour le même mois dans le compte de stockage client. Par défaut, définissez CreateNewReport.
|
|
properties.definition
|
ExportDefinition
|
A la définition de l’exportation.
|
|
properties.deliveryInfo
|
ExportDeliveryInfo
|
Contient des informations de remise pour l’exportation.
|
|
properties.exportDescription
|
string
|
Description de l’exportation définie par le client au moment de la création/mise à jour de l’exportation.
|
|
properties.format
|
FormatType
|
Format de l’exportation en cours de remise.
|
|
properties.nextRunTimeEstimate
|
string
(date-time)
|
Si l’exportation a une planification active, fournit une estimation de la prochaine exécution.
|
|
properties.partitionData
|
boolean
|
Si la valeur est true, les données exportées sont partitionnés par taille et placées dans un répertoire d’objets blob avec un fichier manifeste.
|
|
properties.runHistory
|
ExportExecutionListResult
|
Si nécessaire, dispose de l’historique d’exécution le plus récent pour l’exportation.
|
|
properties.schedule
|
ExportSchedule
|
Contient des informations de planification pour l’exportation.
|
|
properties.systemSuspensionContext
|
ExportSuspensionContext
|
Raison de suspension de l’exportation si l’exportation est dans l’état SystemSuspended. Ce n’est pas peuplé actuellement.
|
|
systemData
|
systemData
|
Métadonnées Azure Resource Manager contenant les informations createdBy et modifiedBy.
|
|
type
|
string
|
Type de la ressource. Par exemple, « Microsoft.Compute/virtualMachines » ou « Microsoft.Storage/storageAccounts »
|
ExportDataset
Objet
Définition des données dans l’exportation.
| Nom |
Type |
Description |
|
configuration
|
ExportDatasetConfiguration
|
Configuration du jeu de données d’exportation.
|
|
granularity
|
GranularityType
|
Granularité des lignes de l’exportation. Actuellement, « Quotidien » est pris en charge pour la plupart des cas.
|
ExportDatasetConfiguration
Objet
Ceci est sur le chemin de la dépréciation et ne sera pas pris en charge à l’avenir.
| Nom |
Type |
Description |
|
columns
|
string[]
|
Tableau de noms de colonnes à inclure dans l’exportation. Si elle n’est pas fournie, l’exportation inclut toutes les colonnes disponibles. Les colonnes disponibles peuvent varier selon le canal client (voir des exemples).
|
|
dataVersion
|
string
|
Version des données pour l’exportation sélectionnée. Si elle n’est pas fournie, l’exportation est par défaut vers la dernière version des données.
|
|
filters
|
FilterItems[]
|
Filtres associés aux jeux de données.
|
ExportDefinition
Objet
Définition d’une exportation.
| Nom |
Type |
Description |
|
dataSet
|
ExportDataset
|
Définition des données dans l’exportation.
|
|
timePeriod
|
ExportTimePeriod
|
Période pendant laquelle les données d’extraction sont extraites pour l’exportation.
|
|
timeframe
|
TimeframeType
|
Délai d’extraction des données pour l’exportation. Si elle est personnalisée, une période spécifique doit être fournie.
|
|
type
|
ExportType
|
Type de l’exportation. Notez que « Utilisation » équivaut à « ActualCost » et s’applique aux exportations qui ne fournissent pas encore de données pour les frais ou l’amortissement des réservations de service.
|
ExportDeliveryDestination
Objet
Cela représente l’emplacement du compte de stockage d’objets blob où les exportations de coûts seront livrées. Il existe deux façons de configurer la destination. L’approche recommandée pour la plupart des clients consiste à spécifier l’ID de ressource du compte de stockage. Cela nécessite une inscription ponctuelle de l’abonnement du compte auprès du fournisseur de ressources Microsoft.CostManagementExports pour permettre aux services Cost Management d’accéder au stockage. Lors de la création d’une exportation dans le portail Azure, cette inscription est effectuée automatiquement, mais les utilisateurs de l’API peuvent avoir besoin d’inscrire explicitement l’abonnement (pour plus d’informations, consultez https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-manager-supported-services). Une autre façon de configurer la destination est disponible uniquement pour les partenaires disposant d’un plan contrat partenaire Microsoft qui sont des administrateurs généraux de leur compte de facturation. Ces partenaires, au lieu de spécifier l’ID de ressource d’un compte de stockage, peuvent spécifier le nom du compte de stockage ainsi qu’un jeton SAP pour le compte. Cela permet d’exporter des coûts vers un compte de stockage dans n’importe quel locataire. Le jeton SAP doit être créé pour le service blob avec les types de ressources Service/Container/Object et avec les autorisations Lecture/Écriture/Supprimer/List/Ajouter/Créer (pour plus d’informations, voir https://docs.microsoft.com/en-us/azure/cost-management-billing/costs/export-cost-data-storage-account-sas-key).
| Nom |
Type |
Description |
|
container
|
string
|
Nom du conteneur dans lequel les exportations seront chargées. Si le conteneur n’existe pas, il sera créé.
|
|
resourceId
|
string
|
ID de ressource du compte de stockage où les exportations seront livrées. Cela n’est pas obligatoire si un sasToken et storageAccount sont spécifiés.
|
|
rootFolderPath
|
string
|
Nom du répertoire dans lequel les exportations seront chargées.
|
|
sasToken
|
string
(password)
|
Jeton SAP pour le compte de stockage. Pour un ensemble restreint de clients Azure, ainsi que storageAccount peut être spécifié au lieu de resourceId. Remarque : la valeur retournée par l’API pour cette propriété sera toujours obfuscatée. Le renvoi de cette même valeur obfuscatée n’entraîne pas la mise à jour du jeton SAP. Pour mettre à jour cette valeur, un nouveau jeton SAP doit être spécifié.
|
|
storageAccount
|
string
|
Compte de stockage où les exportations seront chargées. Pour un ensemble restreint de clients Azure, ainsi que sasToken, peuvent être spécifiés au lieu de resourceId.
|
|
type
|
DestinationType
|
Type de destination de livraison d’exportation. Actuellement, seul « AzureBlob » est pris en charge.
|
ExportDeliveryInfo
Objet
Informations de remise associées à une exportation.
ExportExecutionListResult
Objet
Résultat de la liste de l’historique des exécutions d’une exportation.
| Nom |
Type |
Description |
|
value
|
ExportRun[]
|
Liste des exécutions d’exportation.
|
ExportRecurrencePeriod
Objet
Date de début et de fin de la planification de périodicité.
| Nom |
Type |
Description |
|
from
|
string
(date-time)
|
Date de début de la périodicité.
|
|
to
|
string
(date-time)
|
Date de fin de périodicité.
|
ExportRun
Objet
Exécution d’exportation.
| Nom |
Type |
Description |
|
eTag
|
string
|
eTag de la ressource. Pour gérer le scénario de mise à jour simultanée, ce champ sera utilisé pour déterminer si l’utilisateur met à jour la dernière version ou non.
|
|
id
|
string
|
ID de ressource.
|
|
name
|
string
|
Nom de la ressource.
|
|
properties.endDate
|
string
(date-time)
|
Date de fin de l’exportation.
|
|
properties.error
|
ErrorDetails
|
Détails de toute erreur.
|
|
properties.executionType
|
ExecutionType
|
Type de l’exécution d’exportation.
|
|
properties.fileName
|
string
|
Nom du fichier exporté.
|
|
properties.manifestFile
|
string
|
Emplacement du fichier manifeste (emplacement URI) des fichiers exportés.
|
|
properties.processingEndTime
|
string
(date-time)
|
Heure de fin de l’exécution de l’exportation.
|
|
properties.processingStartTime
|
string
(date-time)
|
Heure à laquelle l’exportation a été récupérée pour être exécutée.
|
|
properties.runSettings
|
CommonExportProperties
|
Paramètres d’exportation qui étaient en vigueur pour cette exécution.
|
|
properties.startDate
|
string
(date-time)
|
Date de début de l’exportation.
|
|
properties.status
|
ExecutionStatus
|
Dernier état connu de l’exécution d’exportation.
|
|
properties.submittedBy
|
string
|
Identificateur de l’entité qui a déclenché l’exportation. Pour les exécutions à la demande, il s’agit de l’e-mail de l’utilisateur. Pour les exécutions planifiées, il s’agit de « Système ».
|
|
properties.submittedTime
|
string
(date-time)
|
Heure à laquelle l’exportation a été mise en file d’attente pour être exécutée.
|
|
type
|
string
|
Type de ressource.
|
ExportSchedule
Objet
Planification associée à l’exportation.
| Nom |
Type |
Description |
|
recurrence
|
RecurrenceType
|
Périodicité de la planification.
|
|
recurrencePeriod
|
ExportRecurrencePeriod
|
A la date de début et de fin de la périodicité. La date de début doit être à l’avenir. Si elle est présente, la date de fin doit être supérieure à la date de début.
|
|
status
|
StatusType
|
État de la planification de l’exportation. Si elle est inactive, la planification de l’exportation est suspendue. Pour activer l’exportation, définissez l’état sur Actif, puis effectuez une requête PUT.
|
ExportSuspensionContext
Objet
Propriétés de l’exécution d’exportation. Ce n’est pas peuplé actuellement.
| Nom |
Type |
Description |
|
suspensionCode
|
string
|
Code de suspension d’exportation.
|
|
suspensionReason
|
string
|
Motif détaillé de la suspension de l’exportation.
|
|
suspensionTime
|
string
(date-time)
|
Heure de suspension de l’exportation.
|
ExportTimePeriod
Objet
Plage de dates pour les données de l’exportation. Cela ne doit être spécifié que si le timeFrame est défini sur « Personnalisé ». La plage de dates maximale est de 1 mois calendaire.
| Nom |
Type |
Description |
|
from
|
string
(date-time)
|
Date de début des données d’exportation.
|
|
to
|
string
(date-time)
|
Date de fin des données d’exportation.
|
ExportType
Énumération
Type de l’exportation. Notez que « Utilisation » équivaut à « ActualCost » et s’applique aux exportations qui ne fournissent pas encore de données pour les frais ou l’amortissement des réservations de service.
| Valeur |
Description |
|
Usage
|
|
|
ActualCost
|
|
|
AmortizedCost
|
|
|
FocusCost
|
|
|
PriceSheet
|
|
|
ReservationTransactions
|
|
|
ReservationRecommendations
|
|
|
ReservationDetails
|
|
FilterItemNames
Énumération
Nom du filtre. Cela est actuellement uniquement pris en charge pour le type de définition d’exportation de reservationRecommendations. Les noms pris en charge sont ['ReservationScope', 'LookBackPeriod', 'ResourceType']
| Valeur |
Description |
|
ReservationScope
|
|
|
ResourceType
|
|
|
LookBackPeriod
|
|
FilterItems
Objet
Contient le nom et la valeur du filtre sur lesquels opérer. Cela est actuellement uniquement pris en charge pour le type de définition d’exportation de reservationRecommendations.
| Nom |
Type |
Description |
|
name
|
FilterItemNames
|
Nom du filtre. Cela est actuellement uniquement pris en charge pour le type de définition d’exportation de reservationRecommendations. Les noms pris en charge sont ['ReservationScope', 'LookBackPeriod', 'ResourceType']
|
|
value
|
string
|
Valeur à filtrer. Actuellement, les valeurs prises en charge par nom sont , pour les valeurs prises en charge par « ReservationScope », [ « Single », « Shared », pour « LookBackPeriod », les valeurs prises en charge sont [ « Last7Days », « Last30Days », « Last60Days » et « ResourceType » prises en charge sont ['VirtualMachines', « SQLDatabases », « PostgreSQL », « ManagedDisk », « MySQL », « RedHat », « MariaDB », « RedisCache », « CosmosDB », « SqlDataWarehouse », « SUSELinux », « AppService », « BlockBlob », « AzureDataExplorer », « VMwareCloudSimple ».
|
Énumération
Format de l’exportation en cours de remise.
| Valeur |
Description |
|
Csv
|
|
|
Parquet
|
|
GranularityType
Énumération
Granularité des lignes de l’exportation. Actuellement, « Quotidien » est pris en charge pour la plupart des cas.
| Valeur |
Description |
|
Daily
|
|
|
Monthly
|
|
RecurrenceType
Énumération
Périodicité de la planification.
| Valeur |
Description |
|
Daily
|
|
|
Weekly
|
|
|
Monthly
|
|
|
Annually
|
|
StatusType
Énumération
État de la planification de l’exportation. Si elle est inactive, la planification de l’exportation est suspendue. Pour activer l’exportation, définissez l’état sur Actif, puis effectuez une requête PUT.
| Valeur |
Description |
|
Active
|
|
|
Inactive
|
|
SystemAssignedServiceIdentity
Objet
Identité de service managée (affectée par le système ou aucun)
| Nom |
Type |
Description |
|
principalId
|
string
(uuid)
|
ID du principal de service de l’identité affectée par le système. Cette propriété est fournie uniquement pour une identité affectée par le système.
|
|
tenantId
|
string
(uuid)
|
ID de locataire de l’identité affectée par le système. Cette propriété est fournie uniquement pour une identité affectée par le système.
|
|
type
|
SystemAssignedServiceIdentityType
|
Type d’identité de service managé (soit le système affecté, soit aucun).
|
SystemAssignedServiceIdentityType
Énumération
Type d’identité de service managé (soit le système affecté, soit aucun).
| Valeur |
Description |
|
None
|
|
|
SystemAssigned
|
|
systemData
Objet
Métadonnées relatives à la création et à la dernière modification de la ressource.
| Nom |
Type |
Description |
|
createdAt
|
string
(date-time)
|
Horodatage de la création de ressources (UTC).
|
|
createdBy
|
string
|
Identité qui a créé la ressource.
|
|
createdByType
|
createdByType
|
Type d’identité qui a créé la ressource.
|
|
lastModifiedAt
|
string
(date-time)
|
Horodatage de la dernière modification de ressource (UTC)
|
|
lastModifiedBy
|
string
|
Identité qui a modifié la ressource pour la dernière fois.
|
|
lastModifiedByType
|
createdByType
|
Type d’identité qui a modifié la ressource pour la dernière fois.
|
TimeframeType
Énumération
Délai d’extraction des données pour l’exportation. Si elle est personnalisée, une période spécifique doit être fournie.
| Valeur |
Description |
|
MonthToDate
|
|
|
BillingMonthToDate
|
|
|
TheLastMonth
|
|
|
TheLastBillingMonth
|
|
|
WeekToDate
|
|
|
Custom
|
|
|
TheCurrentMonth
|
|