Skip to content

Instantly share code, notes, and snippets.

@fredericbarthelet
Last active June 30, 2021 19:27
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save fredericbarthelet/b0ce38a46a3977ee880a65836ce83ed3 to your computer and use it in GitHub Desktop.
Save fredericbarthelet/b0ce38a46a3977ee880a65836ce83ed3 to your computer and use it in GitHub Desktop.
Lamba create.ts with intrinsic service
import { DynamoDB } from 'aws-sdk';
import { ref } from './intrinsic';
import cloudformationResources, { MyTable } from './resources';
export default {
handler:'create.main',
environment: {
TABLE_NAME: ref(cloudformationResources, MyTable)
},
events: [
{ httpApi: 'POST /new'}
]
}
const DocumentClient = new DynamoDB.DocumentClient();
const main = async (event) => {
// ...
}
export const MyTable = {
Type: 'AWS::DynamoDB::Table',
Properties: {
AttributeDefinitions: [
{ AttributeName: 'PK', AttributeType: 'S' },
{ AttributeName: 'SK', AttributeType: 'S' }
],
KeySchema: [
{ AttributeName: 'PK', KeyType: 'HASH' },
{ AttributeName: 'SK', KeyType: 'RANGE' }
],
BillingMode: 'PAY_PER_REQUEST'
}
}
export const OtherTable = {/...};
export const OtherResource = {/...};
export default { MyTable, OtherTable, OtherResource };
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment