是否可以通过编程方式下载会计部门每月问我的PDF每月发票?
我可以从AWS控制台获取它们(例如const string = "Plain text <p>First para content</p> Another plain text<p>Second para content</p> Another random text and other stuff <p>Third Para content</p>"
)
有发票链接的地方。
单击下载发票的那一刻,我可以看到对以下URL的HTTP请求:
const arrayOfParagrahs = ['First para content', 'Second para content', 'Third Para content']
然后对实际提供PDF文件的URL发出最终请求:
https://console.aws.amazon.com/billing/home?region=eu-west-3#/bills?year=2019&month=3
我无法在AWS API上找到用于获取此类发票文档的文档(有一些用于开票报告和其他内容,但没有用于“正式”文档的文档),所以我开始问自己是否可以使用?
在报废AWS控制台之前(通过 Scrapy , Selenium , Puppeteer ),我要问社区;)
注意:我知道AWS可以通过电子邮件发送发票PDF,但是我宁愿直接从AWS提取它,而不是从IMAP / POP电子邮件服务器中提取。
答案 0 :(得分:0)
您可以使用aws cli或aws sdk来获取json格式的数据。然后将json转换为pdf(此答案未涵盖)。
aws cli提供get-cost-and-usage命令。通过摆弄参数,可以获得与计费发票所产生的输出相匹配的输出。
此命令的用法示例:
aws ce get-cost-and-usage \
--time-period Start=2019-03-01,End=2019-04-01 \
--granularity MONTHLY \
--metrics "BlendedCost" "UnblendedCost" "UsageQuantity" \
--group-by Type=DIMENSION,Key=SERVICE
哪个会产生以下输出
{
"GroupDefinitions": [
{
"Type": "DIMENSION",
"Key": "SERVICE"
}
],
"ResultsByTime": [
{
"TimePeriod": {
"Start": "2019-03-01",
"End": "2019-04-01"
},
"Total": {},
"Groups": [
{
"Keys": [
"AWS Budgets"
],
"Metrics": {
"BlendedCost": {
"Amount": "3.0392156805",
"Unit": "USD"
},
"UnblendedCost": {
"Amount": "3",
"Unit": "USD"
},
"UsageQuantity": {
"Amount": "155",
"Unit": "N/A"
}
}
},
{
"Keys": [
"AWS CloudTrail"
],
"Metrics": {
"BlendedCost": {
"Amount": "0",
"Unit": "USD"
},
"UnblendedCost": {
"Amount": "0",
"Unit": "USD"
},
"UsageQuantity": {
"Amount": "720042",
"Unit": "N/A"
}
}
},
...
您还可以通过编程方式获取相同类型的数据。最简单的方法是使用aws sdk。请参阅要使用的SDK的文档。例如,可以在here中找到有关python sdk的此功能的信息。