SecretStore()
The SecretStore
constructor lets you connect your Fastly Compute application to a Fastly Secret store.
A secret store is a persistent, globally distributed store for secrets accessible to Fastly Compute services during request processing.
Note: Can only be used when processing requests, not during build-time initialization.
Syntax
new SecretStore(name)
Note:
SecretStore()
can only be constructed withnew
. Attempting to call it withoutnew
throws aTypeError
.
Parameters
name
: string- The Fastly Secret Store which should be associated with this SecretStore instance
Return value
A new SecretStore
object.
Exceptions
TypeError
- Thrown if no Secret Store exists with the provided name
- Thrown if the provided name is longer than 255 in length
- Thrown if the provided name is an empty string
- Thrown if the provided name contains characters other than letters, numbers, dashes (-), underscores (_), and periods (.)
Examples
In this example we connect to a Secret Store named 'secrets'
and retrieve a secret named 'cat-api-key'
use the value in a Request header.
/// <reference types="@fastly/js-compute" />
import { SecretStore } from "fastly:secret-store";
async function app(event) {
const secrets = new SecretStore('secrets')
const catApiKey = await secrets.get('cat-api-key')
return fetch('/api/cat', {
headers: {
'cat-api-key': catApiKey.plaintext()
}
})
}
addEventListener("fetch", (event) => event.respondWith(app(event)))