Construct and optionally sign api gateway request using AWS credentials
npm i @pgateway/common-services-api
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
pgCommonServicesApi.config(options)
*returns a Promise
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 orec2-metadata
- Means it is using the IAM role in your instance orcredentials
- Means it is using your default AWS credentials
pgCommonServicesApi.config({
endpoint: 'https://dev-common-sevices-api-pg.dcube.cf',
sign: false
});
pgCommonServicesApi.config({
endpoint: 'https://qe-common-sevices-api-pg.dcube.cf',
sign: true
});
pgCommonServicesApi.config({
endpoint: 'https://su6uqpbef3.execute-api.ap-southeast-1.amazonaws.com',
sign: false,
stage: "dev"
});
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"
});
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"
});
- pgCommonServicesApi.sendPushNotification(payload)
- pgCommonServicesApi.sendEmail(payload)
- pgCommonServicesApi.testApiGwConnection()
*returns a Promise
node example/example.js