SDKクライアントConfigurationオブジェクト
Configuration
オブジェクトには、Momento クライアントが Momento サービスに接続するために必要な設定が含まれます。Configuration
オブジェクトは、タイムアウト、再試行、ロギング、ミドルウェア、[read concern] (../../learn/how--it-works/read-concern) などの設定を制御します。
各SDKには、できるだけ早く立ち上げて実行できるように、あらかじめConfiguration
オブジェクトが含まれています。様々なデプロイ環境に対応するためのチューニングは私たちが行います。(それについてのブログシリーズもあります!衝撃的なほどシンプル:あなたのために大変な仕事をするキャッシュクライアント)
ビルド済みのコンフィギュレーションには latest()
バージョンが付属しており、与えられた環境に対して常に最新の推奨コンフィギュレーションを提供します。例えば
- JavaScript
- Rust
Configurations.InRegion.Default.latest();
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()?;
latest()
のビルド済みコンフィギュレーションは、SDKのリリース間で変更される可能性があります。SDKのアップグレードによって設定が変更 されないようにしたい場合は、リリースごとに固定されることが保証されている v1()
のような固定バージョンを提供しています。例えば
- JavaScript
Configurations.InRegion.Default.v1();
カスタムコンフィギュレーションが必要な場合は、独自の Configuration
オブジェクトを構築することができます。どのように構築するかは、各SDKのソースコードの Configurations
名前空間にあるサンプルを参照してください。
これらの構成がほとんどのユースケースのニーズを満たすことを期待していますが、もし何か不足している点がありましたら、そのSDKのレポにGitHub issueを開くか、support@momentohq.com
までご連絡ください。あなたのユースケースについてぜひお聞かせください。そうすれば、ビルド済みのコンフィギュレーションを修正したり拡張したりして、より良いサポートを提供できるようになります。
ビルド済みコンフィギュレーション
以下は、興味があるかもしれません。あらかじめ構築されたコンフィギュレーションの一部です。
Laptop
Configurations.Laptop
は開発環境です。タイムアウトが緩やかで、ネットワークのレイテンシが少し高いことを想定しています。
- JavaScript
- Java
- Kotlin
- Rust
Configurations.Laptop.v1();