
Ask HN: Which language for interacting with AWS? - bakery2k
There are AWS SDKs for several different languages: C++, Go, Java, .NET, Node.js, PHP, Python and Ruby [1]. It appears that some of these SDKs are more complete than others (for example, CloudFront only seems to support Java, .NET, PHP, Python and Ruby [2]).<p>Which SDKs are the most complete and&#x2F;or the highest quality? Which language(s) would you recommend (or not recommend) using to interact with AWS?<p>Are some of these SDKs more &quot;official&quot; than others?<p>[1] https:&#x2F;&#x2F;aws.amazon.com&#x2F;tools&#x2F;#sdk<p>[2] http:&#x2F;&#x2F;docs.aws.amazon.com&#x2F;AmazonCloudFront&#x2F;latest&#x2F;APIReference&#x2F;AWSLibraries.html
======
tedmiston
I feel like boto3 (Python) is a good place to start. I've used Boto 2.x quite
a bit and it's fine as well.

[https://boto3.readthedocs.io/](https://boto3.readthedocs.io/)

Boto is actually quite a weird library in that the services are generated —
defined as json files and the service classes are instantiated dynamically at
runtime from these json files (as opposed to being defined in Python classes).
For example, this is the definition of the S3 service [1]. You might have
noticed that the official AWS clients break normal Python naming conventions
and this is the reason why, that said, it's a unique approach that leads to a
lot less code to maintain.

[1]:
[https://github.com/boto/boto3/blob/develop/boto3/data/s3/200...](https://github.com/boto/boto3/blob/develop/boto3/data/s3/2006-03-01/resources-1.json)

------
fiedzia
Official aws cli client is written in python and supports every aws feature,
so you could not go wrong with that. I wouldn't touch PHP and Node - to
fragile and messy to depend on them. So API-wise python would be my first
choice, java second. Maybe Go if you need native performance (if you don't
know then you probably don't).

------
jnbiche
I agree with others and say use Boto/Python if possible, since it's the
"official" client. It's feature-complete and is pretty reliable based on my
experiences.

------
borplk
If what you're doing is not too complex I recommend you consider using the AWS
command line client.

You can script it for example in Python with the subprocess module.

------
anhsirksai
Boto framework!(completely in python)

------
mrg3_2013
I use AWS CLI/boto

