Skip to content

Instantly share code, notes, and snippets.

@YurgenUA
YurgenUA / 01.default-DocumentClient.js
Created July 17, 2018 20:38
articles/throttling/01.default-DocumentClient.js
const readline = require('readline');
const AWS = require('aws-sdk');
let success = 0;
let retries = 0;
let failures = 0;
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
@YurgenUA
YurgenUA / 02.zero-retries.js
Created July 17, 2018 21:16
articles/throttling/02.zero-retries.js
const readline = require('readline');
const AWS = require('aws-sdk');
let success = 0;
let retries = 0;
let failures = 0;
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
@YurgenUA
YurgenUA / 03.realistic-retries.js
Created July 18, 2018 19:11
articles/throttling/03.realistic-retries.js
...
const dynamodb = new AWS.DynamoDB({
region: 'eu-west-1',
maxRetries: 5,
retryDelayOptions: {
base: 300
}
});
@YurgenUA
YurgenUA / 04.aggressive-retries.js
Created July 18, 2018 19:44
articles/throttling/04.aggressive-retries.js
const readline = require('readline');
const AWS = require('aws-sdk');
let success = 0;
let retries = 0;
let failures = 0;
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
@YurgenUA
YurgenUA / 05.retries-in-code.js
Created July 18, 2018 21:04
articles/throttling/05.retries-in-code.js
const readline = require('readline');
const AWS = require('aws-sdk');
const PromiseWhile = require('./05.promise-while');
let success = 0;
let retries = 0;
let failures = 0;
const rl = readline.createInterface({
input: process.stdin,
@YurgenUA
YurgenUA / gist:74aa79a935f602a30a2bf009c5742b79
Created November 17, 2018 16:25
secrets.01.init-project
serverless create --template aws-csharp --name medium-demo
@YurgenUA
YurgenUA / serverless.yml
Created November 17, 2018 16:42
secrets.02-yml
# Welcome to Serverless!
#
# This file is the main config file for your service.
# It's very minimal at this point and uses default values.
# You can always add more config options for more control.
# We've included some commented out config examples here.
# Just uncomment any of them to get that config option.
#
# For full config options, check the docs:
# docs.serverless.com
@YurgenUA
YurgenUA / aws-csharp.csproj
Created November 17, 2018 17:05
secrets.03-packages
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp2.1</TargetFramework>
<GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles>
<AssemblyName>CsharpHandlers</AssemblyName>
<PackageId>aws-csharp</PackageId>
</PropertyGroup>
<ItemGroup>
@YurgenUA
YurgenUA / Handler.cs
Created November 18, 2018 17:13
Lambda C# implementation
using Amazon.Lambda.Core;
using System.Collections;
using System;
using System.Text;
using System.Net.Http;
using DewCore.RestClient;
using DewCore.Abstract.Internet;
using System.Threading.Tasks;
using Newtonsoft.Json;
@YurgenUA
YurgenUA / SecretsManagerWrapper.cs
Created November 18, 2018 17:34
AWS SDK calls wrapper
using System;
using System.IO;
using System.Threading.Tasks;
using Amazon;
using Amazon.SecretsManager;
using Amazon.SecretsManager.Model;
using Newtonsoft.Json;
namespace AwsDotnetCsharp