Azure 청구 및 사용량 API를 사용하여 청구 계정의 크레딧 잔액을 프로그래밍 방식으로 가져올 수 있습니다.
아래에 표시된 예제에서는 REST API를 사용합니다. 현재 PowerShell 및 Azure CLI는 지원되지 않습니다.
액세스 권한이 있는 청구 프로필 찾기
GET https://management.azure.com/providers/Microsoft.Billing/billingAccounts?$expand=billingProfiles&api-version=2019-10-01-preview
API 응답은 청구 계정 및 청구 프로필 목록을 반환합니다.
{
"value": [
{
"id": "/providers/Microsoft.Billing/billingAccounts/5e98e158-xxxx-xxxx-xxxx-xxxxxxxxxxxx:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx_xxxx-xx-xx",
"name": "5e98e158-xxxx-xxxx-xxxx-xxxxxxxxxxxx:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx_xxxx-xx-xx",
"properties": {
"accountId": "5e98e158-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"accountStatus": "Active",
"accountType": "Enterprise",
"agreementType": "MicrosoftCustomerAgreement",
"billingProfiles": [
{
"id": "/providers/Microsoft.Billing/billingAccounts/5e98e158-xxxx-xxxx-xxxx-xxxxxxxxxxxx:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx_xxxx-xx-xx/billingProfiles/PBFV-xxxx-xxx-xxx",
"name": "PBFV-xxxx-xxx-xxx",
"properties": {
"address": {
"addressLine1": "AddressLine1",
"city": "City",
"companyName": "CompanyName",
"country": "Country",
"postalCode": "xxxxx",
"region": "Region"
},
"currency": "USD",
"displayName": "Development",
"hasReadAccess": true,
"invoiceDay": 5,
"invoiceEmailOptIn": true
},
"type": "Microsoft.Billing/billingAccounts/billingProfiles"
}
],
"displayName": "Contoso",
"hasReadAccess": true,
},
"type": "Microsoft.Billing/billingAccounts"
}
]
}
청구 프로필의 displayName
속성을 사용하면 크레딧 잔액을 확인하려는 청구 프로필을 식별할 수 있습니다. 청구 프로필의 id
를 복사합니다. 예를 들어 개발 청구 프로필에 대한 크레딧 잔액을 확인하려는 경우 /providers/Microsoft.Billing/billingAccounts/5e98e158-xxxx-xxxx-xxxx-xxxxxxxxxxxx:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx_xxxx-xx-xx/billingProfiles/PBFV-xxxx-xxx-xxx
를 복사합니다. 다음 단계에서 사용할 수 있도록 이 값을 어딘가에 붙여 넣습니다.
Azure 크레딧 잔액 가져오기
<billingProfileId>
를 첫 번째 단계(/providers/Microsoft.Billing/billingAccounts/5e98e158-xxxx-xxxx-xxxx-xxxxxxxxxxxx:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx_xxxx-xx-xx/billingProfiles/PBFV-xxxx-xxx-xxx
)에서 복사한 id
로 바꿔서 다음 요청을 수행합니다.
GET https://management.azure.com<billingProfileId>/providers/Microsoft.Consumption/credits/balanceSummary?api-version=2019-10-01
API 응답은 청구 프로필에 대한 예상 및 현재 잔액을 반환합니다.
{
"id": "/providers/Microsoft.Billing/billingAccounts/5e98e158-xxxx-xxxx-xxxx-xxxxxxxxxxxx:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx_xxxx-xx-xx/billingProfiles/PBFV-xxxx-xxx-xxx/providers/Microsoft.Consumption/credits/balanceSummary/57c2e8df-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"name": "57c2e8df-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"type": "Microsoft.Consumption/credits/balanceSummary",
"eTag": null,
"properties": {
"balanceSummary": {
"estimatedBalance": {
"currency": "USD",
"value": 996.13
},
"currentBalance": {
"currency": "USD",
"value": 997.87
}
},
"pendingCreditAdjustments": {
"currency": "USD",
"value": 0.0
},
"expiredCredit": {
"currency": "USD",
"value": 0.0
},
"pendingEligibleCharges": {
"currency": "USD",
"value": -1.74
}
}
}
요소 이름 |
설명 |
estimatedBalance |
청구된 트랜잭션 및 보류 중인 트랜잭션을 모두 고려한 후의 예상되는 크레딧 금액입니다. |
currentBalance |
마지막 청구서의 크레딧 금액입니다. 보류 중인 트랜잭션이 포함되지 않습니다. |
pendingCreditAdjustments |
아직 청구서가 발부되지 않은 환불과 같은 조정입니다. |
expiredCredit |
마지막 청구서 이후에 만료된 크레딧입니다. |
pendingEligibleCharges |
아직 청구서가 발부되지 않은 크레딧 적격 요금입니다. |
크레딧 목록 가져오기
<billingProfileId>
를 첫 번째 단계(/providers/Microsoft.Billing/billingAccounts/5e98e158-xxxx-xxxx-xxxx-xxxxxxxxxxxx:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx_xxxx-xx-xx/billingProfiles/PBFV-xxxx-xxx-xxx
)에서 복사한 id
로 바꿔서 다음 요청을 수행합니다.
GET https://management.azure.com<billingProfileId>/providers/Microsoft.Consumption/lots?api-version=2019-10-01
API 응답은 청구 프로필에 대한 Azure 크레딧 목록을 반환합니다.
{
"value": [
{
"id": "/providers/Microsoft.Billing/billingAccounts/5e98e158-xxxx-xxxx-xxxx-xxxxxxxxxxxx:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx_xxxx-xx-xx/billingProfiles/PBFV-xxxx-xxx-xxx/providers/Microsoft.Consumption/lots/f2ecfd94-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"name": "f2ecfd94-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"type": "Microsoft.Consumption/lots",
"eTag": null,
"properties": {
"originalAmount": {
"currency": "USD",
"value": 500.0
},
"closedBalance": {
"currency": "USD",
"value": 500.0
},
"source": "Azure Promotional Credit",
"startDate": "09/18/2019 21:47:31",
"expirationDate": "09/18/2020 21:47:30",
"poNumber": ""
}
},
{
"id": "/providers/Microsoft.Billing/billingAccounts/5e98e158-xxxx-xxxx-xxxx-xxxxxxxxxxxx:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx_xxxx-xx-xx/billingProfiles/xxxx-xxxx-xxx-xxx/providers/Microsoft.Consumption/lots/4ea40eb5-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"name": "4ea40eb5-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"type": "Microsoft.Consumption/lots",
"eTag": null,
"properties": {
"originalAmount": {
"currency": "USD",
"value": 500.0
},
"closedBalance": {
"currency": "USD",
"value": 497.87
},
"source": "Azure Promotional Credit",
"startDate": "09/18/2019 21:47:31",
"expirationDate": "09/18/2020 21:47:30",
"poNumber": ""
}
}
]
}
요소 이름 |
설명 |
originalAmount |
원래 크레딧 금액입니다. |
closedBalance |
마지막 청구서의 잔액입니다. |
source |
크레딧을 획득한 사람 및 방법을 정의하는 원본입니다. |
startDate |
크레딧이 활성화된 날짜입니다. |
expirationDate |
크레딧이 만료되는 날짜입니다. |
poNumber |
크레딧이 청구된 청구서의 구매 주문 번호입니다. |
크레딧 잔액에 영향을 주는 트랜잭션 가져오기
<billingProfileId>
를 첫 번째 단계(providers/Microsoft.Billing/billingAccounts/5e98e158-xxxx-xxxx-xxxx-xxxxxxxxxxxx:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx_xxxx-xx-xx/billingProfiles/PBFV-xxxx-xxx-xxx
)에서 복사한 id
로 바꿔서 다음 요청을 수행합니다. 필요한 기간에 대한 트랜잭션을 가져오려면 startDate 및 endDate를 전달해야 합니다.
GET https://management.azure.com<billingProfileId>/providers/Microsoft.Consumption/events?api-version=2019-10-01&startDate=2018-10-01T00:00:00.000Z&endDate=2019-10-11T12:00:00.000Z?api-version=2019-10-01
API 응답은 청구 프로필에 대한 크레딧 잔액에 영향을 주는 모든 트랜잭션을 반환합니다.
{
"value": [
{
"id": "/providers/Microsoft.Billing/billingAccounts/5e98e158-xxxx-xxxx-xxxx-xxxxxxxxxxxx:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx_xxxx-xx-xx/billingProfiles/PBFV-xxxx-xxx-xxx`/providers/Microsoft.Consumption/events/e2032eb5-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"name": "e2032eb5-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"type": "Microsoft.Consumption/events",
"eTag": null,
"properties": {
"transactionDate": "10/11/2019",
"description": "Credit eligible charges as of 10/11/2019",
"newCredit": {
"currency": "USD",
"value": 0.0
},
"adjustments": {
"currency": "USD",
"value": 0.0
},
"creditExpired": {
"currency": "USD",
"value": 0.0
},
"charges": {
"currency": "USD",
"value": -1.74
},
"closedBalance": {
"currency": "USD",
"value": 998.26
},
"eventType": "PendingCharges",
"invoiceNumber": ""
}
},
{
"id": "/providers/Microsoft.Billing/billingAccounts/5e98e158-xxxx-xxxx-xxxx-xxxxxxxxxxxx:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx_xxxx-xx-xx/billingProfiles/PBFV-xxxx-xxx-xxx/providers/Microsoft.Consumption/events/381efd80-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"name": "381efd80-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"type": "Microsoft.Consumption/events",
"eTag": null,
"properties": {
"transactionDate": "09/18/2019",
"description": "New credit added on 09/18/2019",
"newCredit": {
"currency": "USD",
"value": 500.0
},
"adjustments": {
"currency": "USD",
"value": 0.0
},
"creditExpired": {
"currency": "USD",
"value": 0.0
},
"charges": {
"currency": "USD",
"value": 0.0
},
"closedBalance": {
"currency": "USD",
"value": 1000.0
},
"eventType": "PendingNewCredit",
"invoiceNumber": ""
}
}
]
}
요소 이름 |
설명 |
transactionDate |
트랜잭션이 발생한 날짜입니다. |
description |
트랜잭션에 대한 설명입니다. |
adjustments |
트랜잭션에 대한 크레딧 조정입니다. |
creditExpired |
만료된 크레딧 금액입니다. |
charges |
트랜잭션에 대한 요금입니다. |
closedBalance |
트랜잭션 후의 잔액입니다. |
eventType |
트랜잭션 형식입니다. |
invoiceNumber |
트랜잭션이 청구되는 청구서의 청구서 번호입니다. 보류 중인 트랜잭션에 대해서는 비어 있습니다. |