aws-config 1.30.5-preview
Install from the command line:
Learn more about npm packages
$ npm install @dbos-inc/aws-config@1.30.5-preview
Install via package.json:
"@dbos-inc/aws-config": "1.30.5-preview"
About this version
Common utility for configuring AWS services in a DBOS Transact application.
By default, services just use a configuration called 'aws_config'.
Start by giving a name to a configuration for an AWS service or role.
In dbos-config.yaml
, under 'application', make a section with all the
AWS bits:
aws_config:
aws_region: us-east-2
aws_access_key_id: ${AWS_ACCESS_KEY_ID}
aws_secret_access_key: ${AWS_SECRET_ACCESS_KEY}
It is also possible to have more than one configuration, so that each service
has its own configuration. In this case, additional AWS configuration sets are
placed in dbos-config.yaml
:
my_aws_config_for_ses:
aws_region: us-east-2
aws_access_key_id: ${AWS_ACCESS_KEY_ID_SES}
aws_secret_access_key: ${AWS_SECRET_ACCESS_KEY_SES}
Then, each communicator library supports a default AWS configuration name, for example SES (Simple Email Service) uses:
aws_ses_configuration: my_aws_config_for_ses
If the application uses more than one set of credentials for the same service, such as a separate email configuration for sending advertising vs order confirmations, then separate sections will be specified within the application code.
ses_config_for_marketing:
aws_region: ${AWS_REGION}
aws_access_key_id: ${AWS_ACCESS_KEY_ID_SES1}
aws_secret_access_key: ${AWS_SECRET_ACCESS_KEY_SES1}
ses_config_for_orders:
aws_region: ${AWS_REGION}
aws_access_key_id: ${AWS_ACCESS_KEY_ID_SES1}
aws_secret_access_key: ${AWS_SECRET_ACCESS_KEY_SES1}
Most AWS services support endpoints. The endpoint may be included in the configuration as desired:
sqs_for_shipping:
aws_region: ${AWS_REGION}
aws_endpoint: ${AWS_ENDPOINT_URL_SQS}
aws_access_key_id: 'notneededintest'
aws_secret_access_key: 'notneededintest'
The subsection of application
in the configuration file should provide:
export interface AWSCfgFileItem
{
aws_region?: string,
aws_endpoint?: string,
aws_access_key_id?: string,
aws_secret_access_key?: string,
}
The interpretation of the configuration file entry will be provided in the following interface:
export interface AWSServiceConfig
{
name: string,
region: string,
endpoint?: string,
credentials: {
accessKeyId: string,
secretAccessKey: string,
},
}
// Loads an AWS configuration by its section name within the `application` part of dbos-config.yaml
function loadAWSConfigByName(ctx: ConfigProvider, cfgname: string): AWSServiceConfig
// Reads a key from within dbos-config.yaml and uses the value of that key to load an AWS configuration section
function getAWSConfigForService(ctx: ConfigProvider, svccfgname: string) : AWSServiceConfig
Details
- aws-config
- dbos-inc
- about 1 month ago
- MIT
- 2 dependencies
Assets
- aws-config-1.30.5-preview.tgz
Download activity
- Total downloads 0
- Last 30 days 0
- Last week 0
- Today 0