Libraries for other languages aren’t created by hand but instead are generated from data files written in JSON. At it’s heart, all these libraries need to do is construct a HTTP request and process the response. All of the operations for the services are constructed in a similar way however there has been evolution in the protocols used by AWS. There are five different protocols listed in boto that AWS services use to construct queries: ‘json’, ‘ec2’, ‘rest-xml’, ‘rest-json’, ‘query’.
|protocol name| count of services using protocol| |json|114| |ec2|1| |rest-xml|4| |query|19| |rest-json|120|
Unsurprisingly, communicating with JSON is the most popular choice but it is split between json
and rest-json
.
It would appear that the EC2 service is a one-of-a-kind and has it’s own dedicated protocol, which is
probably due to it being one of (or the) oldest AWS service.