{"id":18783912,"url":"https://github.com/sparkpost/aws","last_synced_at":"2025-12-20T20:30:15.949Z","repository":{"id":13913441,"uuid":"72594194","full_name":"SparkPost/aws","owner":"SparkPost","description":"Thin wrappers around the aws-sdk libraries we use.","archived":false,"fork":false,"pushed_at":"2023-10-17T04:01:48.000Z","size":2004,"stargazers_count":0,"open_issues_count":11,"forks_count":1,"subscribers_count":33,"default_branch":"main","last_synced_at":"2025-01-29T12:15:54.568Z","etag":null,"topics":["appteam","sp-lib"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SparkPost.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-11-02T01:57:54.000Z","updated_at":"2022-06-22T14:35:49.000Z","dependencies_parsed_at":"2024-11-07T20:43:53.763Z","dependency_job_id":null,"html_url":"https://github.com/SparkPost/aws","commit_stats":{"total_commits":183,"total_committers":21,"mean_commits":8.714285714285714,"dds":0.7923497267759563,"last_synced_commit":"ef242b836660f2f0d0f0cbef9825c524c3e1d743"},"previous_names":[],"tags_count":42,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SparkPost%2Faws","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SparkPost%2Faws/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SparkPost%2Faws/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SparkPost%2Faws/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SparkPost","download_url":"https://codeload.github.com/SparkPost/aws/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239699579,"owners_count":19682574,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["appteam","sp-lib"],"created_at":"2024-11-07T20:41:08.873Z","updated_at":"2025-12-20T20:30:15.905Z","avatar_url":"https://github.com/SparkPost.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Build Status](https://codebuild.us-west-2.amazonaws.com/badges?uuid=eyJlbmNyeXB0ZWREYXRhIjoicHM2ajJNMnpwUDRGNno0YlpRWDZTL0FzaG84aHpqLytmcW4vbUdVS3lOVUhCUy9SNTJ4dUtpZkl5WEZZV1NtMnMyQ2xZMUhhcDRBeDAzVlR5V3pGclRjPSIsIml2UGFyYW1ldGVyU3BlYyI6IlNHSkxoenRCVUcxaTdOaisiLCJtYXRlcmlhbFNldFNlcmlhbCI6MX0%3D\u0026branch=master)\n\n# aws\nThin wrappers around the aws-sdk libraries we use.\n\n### Initialization\n\nRather than having to assemble all the necessary connection config in every file that needs aws services, this wrapper provides a simple way to set up the AWS credentials in one place, one time for the whole service. This also allows the service to remove this initialization step later in favor of ENV_VAR or instance profile auth management, if possible.\n\nFor example, in app.js:\n\n```javascript\n'use strict';\n\nconst AWS = require('@sparkpost/aws');\n// ... whatever else you need, besides the actual models etc. that use aws\n\n/*\n * This needs to occur before the resources module tree is required\n * because the AWS module needs to be globally configured before any\n * usage / instantiation can occur.\n */\nif (config.get('aws.enabled') \u0026\u0026 config.get('aws.enabled') === true) {\n  AWS.initialize({\n    accessKeyId: config.get('aws.accessKeyId'),\n    secretAccessKey: passwords.maybeDecrypt(config.get('aws.secretAccessKey')),\n    region: config.get('aws.region'),\n    proxy: process.env.HTTPS_PROXY\n  });\n}\n\n// the files that use aws are required *after* the setup (note: better auth strategies might avoid this order-dependencies in the future)\nconst resources = require('./resources');\n```\n\n### AWS SDK Client\n\nIf you want access to the raw `aws-sdk` client you can use the `SDK` property.\n\n```js\nconst AWS = require('@sparkpost/aws');\nconst marketplaceMeteringService = new AWS.SDK.MarketplaceMetering({ apiVersion: '2016-01-14' });\nmarketplaceMeteringService.resolveCustomer({ RegistrationToken: token }, (err, data) =\u003e { ... });\n```\n\n### Supported Services\n\n * [Athena](lib/athena/README.md)\n * [CloudSearch](lib/cloudsearch/README.md)\n * [DynamoDB](lib/dynamo/README.md)\n * [SNS](lib/sns/README.md)\n * [SQS](lib/sqs/README.md)\n * SSM\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsparkpost%2Faws","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsparkpost%2Faws","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsparkpost%2Faws/lists"}