Skip to main content

Developing applications with Momento SDKs

Welcome! This page provides information about common constructs you will need in order to assemble Momento clients in all of our SDKs. This page covers how to provide your Momento credentials (called API keys), how to configure your client, and some basic information about error handling and production readiness.

Constructing a Cache Client

The CacheClient is the main object you will use in your code to interact with Momento services. To instantiate one, you need to pass a CredentialProvider, a Configuration, and a default time to live (TTL) value. The default TTL determines how long items using that CacheClient will be stored in the cache before the cache deletes them. When performing Set operations, you can override this TTL value unique to that operation. See Expire data with Time-to-Live (TTL) in Momento Cache for more information.

Here is an example of how to construct a CacheClient:

return await CacheClient.create({
configuration: Configurations.Laptop.v1(),
credentialProvider: CredentialProvider.fromEnvironmentVariable('MOMENTO_API_KEY'),
defaultTtlSeconds: 60,
});
info
Full example code and imports can be found here

Instantiating credential providers using Momento API keys

You need to provide a Momento API key when instantiating a Momento client. If you don't have one yet, you can get one from the Momento Web Console. Once you have a token, provide it to Momento SDKs when you create an instance of CredentialProvider. There are convenient factory methods provided to construct a CredentialProvider object, either from an environment variable or from a String. Below is an example of how to instantiate CredentialProvider from an environment variable:

CredentialProvider.fromEnvironmentVariable('MOMENTO_API_KEY');
info
Full example code and imports can be found here

If you're storing your Momento auth token in a secret manager such as AWS Secret Manager, GCP Secret Manager, or a local config file, you must first retrieve the credentials from there and then instantiate a CredentialProvider from a string, like this:

const apiKey = retrieveApiKeyFromYourSecretsManager();
CredentialProvider.fromString({apiKey: apiKey});
info
Full example code and imports can be found here

For an example of how to retrieve credentials from AWS Secrets Manager, see Retrieving a Momento auth token from AWS Secrets Manager.

For general information on Momento authentication, see our auth page.

For more information, see our Response Objects page, and the docs for the specific SDK that you are using (under Develop->SDKs in the left nav).