获取用于下载发票的 URL。 协议类型为 Microsoft 合作伙伴协议或 Microsoft 客户协议的计费帐户支持该操作。
POST https://management.azure.com/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/{invoiceName}/download?api-version=2020-05-01&downloadToken={downloadToken}
URI 参数
名称 |
在 |
必需 |
类型 |
说明 |
billingAccountName
|
path |
True
|
string
|
唯一标识计费帐户的 ID。
|
invoiceName
|
path |
True
|
string
|
唯一标识发票的 ID。
|
api-version
|
query |
True
|
string
|
要与客户端请求一起使用的 API 版本。 当前版本为 2020-05-01。
|
downloadToken
|
query |
True
|
string
|
下载包含文档源和文档 ID 的令牌。
|
响应
名称 |
类型 |
说明 |
200 OK
|
DownloadUrl
|
没问题。 请求已成功。
|
202 Accepted
|
|
已接受。
Headers
- Location: string
- Retry-After: string
|
Other Status Codes
|
ErrorResponse
|
描述操作失败原因的错误响应。
|
安全性
azure_auth
Azure Active Directory OAuth2 Flow。
Type:
oauth2
Flow:
implicit
Authorization URL:
https://login.microsoftonline.com/common/oauth2/authorize
Scopes
名称 |
说明 |
user_impersonation
|
模拟用户帐户
|
示例
InvoiceDownload
Sample Request
POST https://management.azure.com/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/{invoiceName}/download?api-version=2020-05-01&downloadToken=DRS_12345
/** Samples for Invoices DownloadInvoice. */
public final class Main {
/*
* x-ms-original-file: specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/ModernInvoiceDownload.json
*/
/**
* Sample code: InvoiceDownload.
*
* @param manager Entry point to BillingManager.
*/
public static void invoiceDownload(com.azure.resourcemanager.billing.BillingManager manager) {
manager
.invoices()
.downloadInvoice("{billingAccountName}", "{invoiceName}", "DRS_12345", com.azure.core.util.Context.NONE);
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from azure.identity import DefaultAzureCredential
from azure.mgmt.billing import BillingManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-billing
# USAGE
python invoice_download.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 = BillingManagementClient(
credential=DefaultAzureCredential(),
subscription_id="SUBSCRIPTION_ID",
)
response = client.invoices.begin_download_invoice(
billing_account_name="{billingAccountName}",
invoice_name="{invoiceName}",
download_token="DRS_12345",
).result()
print(response)
# x-ms-original-file: specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/ModernInvoiceDownload.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 armbilling_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/billing/armbilling"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/7a2ac91de424f271cf91cc8009f3fe9ee8249086/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/ModernInvoiceDownload.json
func ExampleInvoicesClient_BeginDownloadInvoice() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armbilling.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewInvoicesClient().BeginDownloadInvoice(ctx, "{billingAccountName}", "{invoiceName}", "DRS_12345", nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
res, err := poller.PollUntilDone(ctx, nil)
if err != nil {
log.Fatalf("failed to pull the result: %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.DownloadURL = armbilling.DownloadURL{
// URL: to.Ptr("https://myaccount.blob.core.windows.net/invoices/1383724.pdf?sv=2019-02-02&sr=b&sp=r"),
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { BillingManagementClient } = require("@azure/arm-billing");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to Gets a URL to download an invoice. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.
*
* @summary Gets a URL to download an invoice. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.
* x-ms-original-file: specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/ModernInvoiceDownload.json
*/
async function invoiceDownload() {
const subscriptionId = "00000000-0000-0000-0000-000000000000";
const billingAccountName = "{billingAccountName}";
const invoiceName = "{invoiceName}";
const downloadToken = "DRS_12345";
const credential = new DefaultAzureCredential();
const client = new BillingManagementClient(credential, subscriptionId);
const result = await client.invoices.beginDownloadInvoiceAndWait(
billingAccountName,
invoiceName,
downloadToken
);
console.log(result);
}
invoiceDownload().catch(console.error);
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Sample Response
Location: https://management.azure.com/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/{invoiceName}/operationResults/invoiceDownload_{operationId}?api-version=2020-05-01
Retry-After: 10
{
"url": "https://myaccount.blob.core.windows.net/invoices/1383724.pdf?sv=2019-02-02&sr=b&sp=r"
}
定义
DownloadUrl
一个安全 URL,可用于在 URL 过期之前下载实体。
名称 |
类型 |
说明 |
expiryTime
|
string
|
下载 URL 将过期的时间(UTC)。
|
url
|
string
|
PDF 文件的 URL。
|
ErrorDetails
错误的详细信息。
名称 |
类型 |
说明 |
code
|
string
|
错误代码。
|
details
|
ErrorSubDetails[]
|
错误的子详细信息。
|
message
|
string
|
指示操作失败原因的错误消息。
|
target
|
string
|
特定错误的目标。
|
ErrorResponse
错误响应指示服务无法处理传入请求。 错误消息中提供了原因。
ErrorSubDetails
名称 |
类型 |
说明 |
code
|
string
|
错误代码。
|
message
|
string
|
指示操作失败原因的错误消息。
|
target
|
string
|
特定错误的目标。
|