Utility to connect to AWS API GW
npm install @pgateway/common-services-api
npm i @pgateway/common-services-api
`Prerequisite:
AWS credentials are required for calculating the signature, in ECS container the credentials are fetched remotely. If running outside of ECS containers(i.e. local), need to configure AWS CLI.
If don't want to use AWS signature, set sign = false in options
Configuration:
`
pgCommonServicesApi.config(options)
`
*returns a Promise$3
| Field | Type | Default | Remark |
| ------------------ | ------- | ------- | -------------------------------------------- |
| endpoint | string | null | required |
| sign | boolean | true | |
| private | boolean | false | |
| host | string | null | required if private is true |
| stage | string | null | required if not using custom domain endpoint |
| credentialProvider | string | null | required |credentialProvider can be
-
ecs - Means it has to be a docker container + using the IAM role for ecs tasks
or
- ec2-metadata - Means it is using the IAM role in your instance
or
- credentials- Means it is using your default AWS credentialsExamples:
$3
`
pgCommonServicesApi.config({
endpoint: 'https://dev-common-sevices-api-pg.dcube.cf',
sign: false
});
`$3
`
pgCommonServicesApi.config({
endpoint: 'https://qe-common-sevices-api-pg.dcube.cf',
sign: true
});
`$3
`
pgCommonServicesApi.config({
endpoint: 'https://su6uqpbef3.execute-api.ap-southeast-1.amazonaws.com',
sign: false,
stage: "dev"
});
`$3
`
pgCommonServicesApi.config({
endpoint: "https://vpce-07f6aa6800aea2c83-6meep72q.execute-api.ap-southeast-1.vpce.amazonaws.com",
sign: false,
private: true,
stage: "dev2",
host: "i4390qzy7k.execute-api.ap-southeast-1.amazonaws.com"
});
`$3
`
pgCommonServicesApi.config({
endpoint: "https://vpce-07f6aa6800aea2c83-6meep72q.execute-api.ap-southeast-1.vpce.amazonaws.com",
sign: true,
private: true,
stage: "dev2",
host: "i4390qzy7k.execute-api.ap-southeast-1.amazonaws.com"
});
`API supported:
- pgCommonServicesApi.sendPushNotification(payload)
- pgCommonServicesApi.sendEmail(payload)
- pgCommonServicesApi.testApiGwConnection()*returns a Promise
Examples
`sh
node example/example.js
``