Developing applications with Momento SDKs
ようこそ このページでは、MomentoのすべてのSDKでMomentoクライアントをアセンブルするために必要な一般的な構成に関する情報を提供します。このページでは、Momentoの認証情報(APIキーと呼ばれます)の提供方法、クライアントの設定方法、エラー処理と本番環境への準備に関する基本的な情報について説明します。
Constructing a Storage Client
StorageClient
は、Momento のサービスとやり取りする際に使用するメインのオブジェクトである。インスタンスを作成するには、 CredentialProvider
と Configuration
を渡す必要があります。
以下に StorageClient
の作成例を示します:
- JavaScript
- Java
- Go
- Rust
return new PreviewStorageClient({
configuration: StorageConfigurations.Laptop.latest(),
credentialProvider: CredentialProvider.fromEnvironmentVariable('MOMENTO_API_KEY'),
});
try (PreviewStorageClient storageClient =
new PreviewStorageClient(
CredentialProvider.fromEnvVar("MOMENTO_API_KEY"),
StorageConfigurations.Laptop.latest())) {
// ...
}
credentialProvider, err := auth.NewEnvMomentoTokenProvider("MOMENTO_API_KEY")
if err != nil {
panic(err)
}
storageClient, err = momento.NewPreviewStorageClient(config.StorageLaptopLatest(), credentialProvider)
if err != nil {
panic(err)
}
let _storage_client = PreviewStorageClient::builder()
.configuration(momento::storage::configurations::Laptop::latest())
.credential_provider(CredentialProvider::from_env_var(
"MOMENTO_API_KEY".to_string(),
)?)
.build()?;
Instantiating credential providers using Momento API keys
Momentoクライアントをインスタンス化する際に、Momento APIキーを提供する必要があります。まだ持っていない場合は、Momento Web Console から取得できます。トークンを取得したら、CredentialProvider
のインスタンスを作成する際に Momento SDK にトークンを渡す。環境変数または文字列から CredentialProvider
オブジェクトを作成するための便利なファクトリメソッドが用意されています。以下は、環境変数から CredentialProvider
のインスタンスを生成する方法の例です:
- JavaScript
- Python
- Java
- Kotlin
- Go
- PHP
- Rust
- Elixir
CredentialProvider.fromEnvironmentVariable('MOMENTO_API_KEY');
CredentialProvider.from_environment_variable("MOMENTO_API_KEY")
CredentialProvider.fromEnvVar("MOMENTO_API_KEY");
CredentialProvider.fromEnvVar("MOMENTO_API_KEY")
credentialProvider, err = auth.NewEnvMomentoTokenProvider("MOMENTO_API_KEY")
if err != nil {
panic(err)
}
CredentialProvider::fromEnvironmentVariable("MOMENTO_API_KEY");
let _credential_provider = CredentialProvider::from_env_var("MOMENTO_API_KEY".to_string());
allow(non_snake_case)]
b fn example_API_ConfigurationLaptop() {
let _config = momento::cache::configurations::Laptop::latest();
allow(non_snake_case)]
b fn example_API_ConfigurationInRegionDefaultLatest() {
let _config = momento::cache::configurations::InRegion::latest();
allow(non_snake_case)]
b fn example_API_ConfigurationInRegionLowLatency() {
let _config = momento::cache::configurations::LowLatency::latest();
allow(non_snake_case)]
b fn example_API_ConfigurationLambdaLatest() {
let _config = momento::cache::configurations::Lambda::latest();
allow(non_snake_case)]
b fn example_API_InstantiateCacheClient() -> Result<(), MomentoError> {
let _cache_client = CacheClient::builder()
.default_ttl(Duration::from_secs(60))
.configuration(Laptop::latest())
.credential_provider(CredentialProvider::from_env_var(
"MOMENTO_API_KEY".to_string(),
)?)
.build()?;
Momento.Auth.CredentialProvider.from_env_var!("MOMENTO_AUTH_TOKEN")
Momentoの認証トークンをAWS Secret ManagerやGCP Secret Managerなどのシークレットマネージャやローカルの設定ファイルに保存している場合は、まずそこから認証情報を取得し、次のように文字列からCredentialProvider
をインスタンス化する必要があります:
- JavaScript
- Java
- Kotlin
- Go
- Rust
- Elixir
const apiKey = retrieveApiKeyFromYourSecretsManager();
CredentialProvider.fromString({apiKey: apiKey});
final String authToken = retrieveAuthTokenFromYourSecretsManager();
CredentialProvider.fromString(authToken);
val authToken = retrieveAuthTokenFromYourSecretsManager()
CredentialProvider.fromString(authToken)
apiKey := RetrieveApiKeyFromYourSecretsManager()
credentialProvider, err = auth.NewStringMomentoTokenProvider(apiKey)
if err != nil {
fmt.Println("Error parsing API key:", err)
}
let _credential_provider = CredentialProvider::from_string("my-api-key".to_string());
allow(non_snake_case)]
b fn example_API_CredentialProviderFromEnvVar() {
let _credential_provider = CredentialProvider::from_env_var("MOMENTO_API_KEY".to_string());
allow(non_snake_case)]
b fn example_API_ConfigurationLaptop() {
let _config = momento::cache::configurations::Laptop::latest();
allow(non_snake_case)]
b fn example_API_ConfigurationInRegionDefaultLatest() {
let _config = momento::cache::configurations::InRegion::latest();
allow(non_snake_case)]
b fn example_API_ConfigurationInRegionLowLatency() {
let _config = momento::cache::configurations::LowLatency::latest();
allow(non_snake_case)]
b fn example_API_ConfigurationLambdaLatest() {
let _config = momento::cache::configurations::Lambda::latest();
allow(non_snake_case)]
b fn example_API_InstantiateCacheClient() -> Result<(), MomentoError> {
let _cache_client = CacheClient::builder()
.default_ttl(Duration::from_secs(60))
.configuration(Laptop::latest())
.credential_provider(CredentialProvider::from_env_var(
"MOMENTO_API_KEY".to_string(),
)?)
.build()?;
auth_token = retrieve_auth_token_from_your_secrets_manager()
Momento.Auth.CredentialProvider.from_string!(auth_token)
AWS Secrets Managerから認証情報を取得する方法の例については、Retrieving a Momento auth token from AWS Secrets Manager を参照してください。