Ich habe versucht, den bereits als Schätzung im Portal vorhandenen Datensatz als PDF über die API zu speichern.
Es wird davon ausgegangen, dass Sie die folgenden Artikel verstehen. Erfahren Sie mehr über die Bluemix Infrastructure-API (ehemals SoftLayer).
ShinobiLayer: SoftLayer-API Nächster Schritt: Datentyp Objekt (1) --Qiita
Ich habe ein Skript erstellt, um die ID des Kostenvoranschlags zu erhalten. Verwenden Sie es daher.
getQuotes.py
#import package
import SoftLayer
import json
from prettytable import PrettyTable
# account info
client = SoftLayer.create_client_from_env()
objectmask = """
id,
name,
status,
createDate,
expirationDate,
order[
id,
orderTotalAmount
]
"""
# getActiveQuotes
gAQ = client['Account'].getActiveQuotes(mask=objectmask)
# define table
table = PrettyTable([
'QuoteID',
'Name',
'Amount',
'Status',
'createDate',
'expirationDate'
])
for key in range(len(gAQ)):
table.add_row([
gAQ[key]['id'],
gAQ[key]['name'],
gAQ[key]['order'].get('orderTotalAmount',""),
gAQ[key]['status'],
gAQ[key]['createDate'],
gAQ[key]['expirationDate']
])
print len(gAQ)
print table.get_string(sortby="QuoteID")
#Ausführungsbefehl
python getQuotes.py
#Ergebnis
5
+---------+-------------+---------+---------+---------------------------+---------------------------+
| QuoteID | Name | Amount | Status | createDate | expirationDate |
+---------+-------------+---------+---------+---------------------------+---------------------------+
| 1111111 | BMS_28Cores | 1402.31 | PENDING | 2016-11-16T10:51:51+09:00 | 2017-02-14T10:51:51+09:00 |
...
Ich habe ein Skript erstellt, das durch Angabe von QuoteId als PDF gespeichert werden kann. Verwenden Sie es daher.
getPdf.py
# beginning message
print 'Saving the quote as PDF ...'
# import
import SoftLayer
import sys
parm=sys.argv
quoteId=parm[1]
# account info
client = SoftLayer.create_client_from_env()
# getPdf as a binary data
getPdf = client['Billing_Order_Quote'].getPdf(id=quoteId)
# confirm as xmlrpclib.Binary
# print getPdf.__class__
# Save as a PDF
quoteFileName = "Quote_ID_%s.pdf" % quoteId
w = open(quoteFileName, "wb")
w.write(getPdf.data)
w.close()
# finishing message
print 'Completed!'
#Ausführungsbefehl
python getPdf.py 1111111
#Ergebnis
Saving the quote as PDF ...
Completed!
#「Quote_ID_1111111.Es wird als "pdf" gespeichert