aws: add example of getting value from Secrets Manager

This commit is contained in:
thomasabishop 2023-09-01 08:23:04 +01:00
parent 4ca809b43e
commit 1139ff9761
2 changed files with 39 additions and 1 deletions

View file

@ -35,4 +35,6 @@ Here is an example of a resource permission giving access to a Lambda:
}
```
See [Fetch from Secrets Manager](/DevOps/AWS/AWS_Lambda/Code_examples/Fetch_from_Secrets_Manager.md) for a code example of retrieving a value from Secrets Manager.
// TODO: Add link to code example

View file

@ -1,3 +1,39 @@
// TODO: Add example code of retrieving a value from SecretsManager
---
categories:
- DevOps
tags: [AWS, backend]
---
# Fetch from Secrets Manager
## TypeScript
```ts
const getSecret = async (): Promise<SomeCredentials> => {
const secretsManager = new AWS.SecretsManager();
const response = await secretsManager
.getSecretValue({ SecretId: process.env.SECRET_ARN as string })
.promise();
const secretValues = JSON.parse(response.SecretString as string);
if (secretValues) {
return {
accessToken: secretValues.POCKET_ACCESS_TOKEN,
consumerKey: secretValues.POCKET_CONSUMER_KEY,
};
} else {
throw new Error("Failed to return Pocket credentials");
}
};
type SomeCredentials = {
accessToken: string;
consumerKey: string;
};
```
// TODO: Add example of deferring to local env var
## Python
// TODO: Add Python example