J'ai essayé de sauvegarder l'enregistrement qui existe déjà sous forme d'estimation sur le portail au format PDF via API.
Il est supposé que vous comprenez les articles suivants. En savoir plus sur l'API Bluemix Infrastructure (anciennement SoftLayer).
ShinobiLayer: API SoftLayer Étape suivante: objet de type de données (1) --Qiita
J'ai créé un script pour obtenir l'ID de l'estimation, veuillez donc l'utiliser.
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")
#Commande d'exécution
python getQuotes.py
#résultat
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 |
...
J'ai créé un script qui peut être enregistré au format PDF en spécifiant QuoteId, veuillez donc l'utiliser.
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!'
#Commande d'exécution
python getPdf.py 1111111
#résultat
Saving the quote as PDF ...
Completed!
#「Quote_ID_1111111.Il sera enregistré en tant que "pdf"