AWS SDK

Andre Pany andre at s-e-a-p.de
Wed Oct 18 11:11:35 UTC 2017


On Wednesday, 18 October 2017 at 01:32:51 UTC, Ky-Anh Huynh wrote:
> On Tuesday, 28 June 2016 at 00:36:31 UTC, Brad Roberts wrote:
>> On 6/27/16 10:53 AM, Brad Roberts via Digitalmars-d wrote:
>>> On 6/26/2016 4:06 PM, Jadbox via Digitalmars-d wrote:
>>>> [...]
>>>
>>> I have some old code here:
>>>
>>>     
>>> https://github.com/braddr/downloads.dlang.org/tree/master/src
>>>
>>> It has sig v2 signing and some s3 object related code.  Super 
>>> minimal and sig v2 is out of date
>>> (though still very usable, in most aws regions).
>>>
>>> Ideally, someone would partner with aws -- there's a 
>>> developer tools forum -- to add D to the suite
>>> of languages.  I'm fairly sure they code generate at least a 
>>> large part of the tool kits from the
>>> api definitions for each of the tons of services.  Trying to 
>>> manage them all by hand is a loosing
>>> battle.
>>>
>>> I've been tempted to do this a couple times, but the time 
>>> investment would likely be more than I'm
>>> willing to spend.
>>
>> I've started talking with a few of the aws sdk engineers (some 
>> of who I worked with when I was there) today about their sdk 
>> and the tooling involved.  It might not be a horrible job to 
>> add another language to the mix.  I'm going to meet with them 
>> and dig through some of the tooling to get a better feel for 
>> it.
>>
>> Later,
>> Brad
>
> Hi Brad,
>
> Do we have any good update on this?
>
> I'm writting my devops tools in Dlang now (Golang is too hot to 
> use, isn't it:D). It's a great win if we can have AWS SDK 
> support.
>
> I'm not a master however if there is any thing I can help, 
> please let me know.
>
> Thanks for your reading.

Hi,

for an inhouse project I developed a generator which generates 
based on the API definitions from here 
https://github.com/aws/aws-sdk-js/tree/master/apis
classes for the services and structures for the input/output 
requests.


     auto client = new AwsClient();
     auto dynamoDBService = new DynamoDBService(client);

     CreateTableInput request = {
             tableName: "zapp-test1",
             provisionedThroughput: {
                 readCapacityUnits: 1,
                 writeCapacityUnits: 1
             },
             attributeDefinitions: [
                 {attributeName: "A", attributeType: 
ScalarAttributeType.S},
                 {attributeName: "B", attributeType: 
ScalarAttributeType.S}
             ],
             keySchema: [
                 {attributeName: "A", keyType: KeyType.HASH}
             ]
         };

     dynamoDBService.createTable(request);


Actually the generated classes do not call AWS directly but uses 
the AWS console client.
Unfortunately the generator is proprietary.
The good thing is, it was easily written within 4-5 hours.

PS. Almost every service was working out of the box except EMR. 
There is a difference between the EMR commands / parameters in 
the API definitions and in the AWS console client.

Kind regards
André


More information about the Digitalmars-d mailing list