Momento SDKを使用したアプリケーションの開発
ようこそ! このページでは、すべてのSDKでMomentoクライアントをアセンブルするために必要な一般的な構成に関する情報を提供します。このページでは、Momento の認証情報 (auth トークンと呼ばれます) の提供方法、クライアントの設定方法、エラー処理と本番環境への対応に関する基本的な情報を説明します。
トピックスクライアントの構築
TopicClient は、Momento のサービスとやり取りする際に使用するメインのオブジェクトです。インスタンスを作成するには、CredentialProvider と Configuration、そしてデフォルトの TTL (time to live) 値を渡す必要があります。デフォルトの TTL は、CacheClient を使用したアイテムがキャッシュから削除されるまでの保存期間を決定します。
以下は TopicClient の作成例です:
- JavaScript
- Python
- Kotlin
- Go
- C#
- Rust
- Swift
- Dart
new TopicClient({
configuration: TopicConfigurations.Default.latest(),
credentialProvider: CredentialProvider.fromEnvVarV2(),
});
TopicClientAsync(TopicConfigurations.Default.latest(), CredentialProvider.from_environment_variables_v2())
TopicClient(
CredentialProvider.fromEnvVarV2(), TopicConfigurations.Laptop.latest
).use { topicClient ->
//...
}
credProvider, err := auth.NewEnvMomentoV2TokenProvider()
if err != nil {
panic(err)
}
topicClient, err = momento.NewTopicClient(
config.TopicsDefault(),
credProvider,
)
if err != nil {
panic(err)
}
new TopicClient(
TopicConfigurations.Laptop.latest(),
new EnvMomentoV2TokenProvider()
);
let topic_client = TopicClient::builder()
.configuration(momento::topics::configurations::Laptop::latest())
.credential_provider(CredentialProvider::from_default_env_var_v2()?)
.build()?;
do {
let credentialProvider = try CredentialProvider.fromEnvironmentVariablesV2()
let topicClient = TopicClient(
configuration: TopicClientConfigurations.iOS.latest(),
credentialProvider: credentialProvider
)
} catch {
print("Unable to create topic client: \(error)")
exit(1)
}
try {
final topicClient = TopicClient(
CredentialProvider.fromEnvironmentVariablesV2(),
TopicClientConfigurations.latest());
} catch (e) {
print("Unable to create topic client: $e");
exit(1);
}
Momento API キーを使用してクレデンシャル・プロバイダをインスタンス化する
Momentoクライアントをインスタンス化する際に、Momento APIキーを提供する必要があります。まだ持っていない場合は、Momento Web Console から取得できます。トークンを取得したら、CredentialProvider のインスタンスを作成する際に Momento SDK にトークンを渡します。環境変数または文字列から CredentialProvider オブジェクトを作成するための便利なファクトリメソッドが用意されています。以下は、環境変数から CredentialProvider インスタンスを生成する方法の例です:
- JavaScript
- Python
- Java
- Kotlin
- Go
- PHP
- Rust
- Elixir
CredentialProvider.fromEnvVar('MOMENTO_API_KEY');
CredentialProvider.from_environment_variable("V1_API_KEY")
CredentialProvider.fromEnvVar("V1_API_KEY");
CredentialProvider.fromEnvVar("V1_API_KEY")
credentialProvider, err = auth.NewEnvMomentoTokenProvider("V1_API_KEY")
if err != nil {
panic(err)
}
CredentialProvider::fromEnvironmentVariable("V1_API_KEY");
let credential_provider = CredentialProvider::from_env_var("V1_API_KEY".to_string())?;
Momento.Auth.CredentialProvider.from_env_var!("V1_API_KEY")
AWSシークレットマネージャ、GCPシークレットマネージャ、またはローカルの設定ファイルなどのシークレットマネージャにMomento APIキーを保存している場合は、まずそこから認証情報を取得し、次のように文字列から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 api_key = retrieve_api_key_v1_from_your_secrets_manager();
let credential_provider = CredentialProvider::from_string(api_key)?;
api_key = retrieve_api_key_from_your_secrets_manager()
Momento.Auth.CredentialProvider.from_string!(api_key)
Momento 認証に関する一般的な情報は、認証のページ を参照してください。
詳細については、レスポンスオブジェクトのページや、使用しているSDKのドキュメント(左ナビの Develop->SDKs の下)を参照してください。