メインコンテンツまでスキップ

RustでMomento Topicsを始める

RustとMomentoトピックをすぐに使い始める必要がある場合、このページには必要な基本的なAPIコールが含まれています。完全で実用的なコードサンプルは、Rust SDK examples を確認してください。

Momento SDKをインストールする

Momento SDK は crates.io: momento から入手可能です。

ヒント

crates.ioにアクセスし、利用可能な最新バージョンのSDKを見つけてください。

既存のRustプロジェクトにクライアントライブラリをインストールします:

cargo add momento

Momento APIキーを取得する

Momento APIキーが必要です。Momento Web Consoleから取得できます。 トークンを取得したら、Momentoクライアントが利用できるように環境変数に保存します:

export MOMENTO_API_KEY=<your api key here>

Note: セキュリティ強化のためには、APIキーを環境変数ではなく、AWS Secret ManagerやGCP Secret Managerのようなものに入れるのがベストプラクティスだが、ここではデモのためにAPIキーを使っています。

TopicClientのセットアップ

このコードでは、パブ/サブ・トピックとの対話に使用する TopicClient を作成します。

  let _topic_client = TopicClient::builder()
.configuration(momento::topics::configurations::Laptop::latest())
.credential_provider(CredentialProvider::from_env_var("MOMENTO_API_KEY")?)
.build()?;

トピックにメッセージを公開する

これは、"topic "というトピックにメッセージを発行し、その返り値をキャッチして発行が成功したかどうかをチェックする例です。

  topic_client
.publish(cache_name, topic_name, "Hello, Momento!")
.await?;
println!("Published message");

トピックを購読する

これは、"topic "というトピックを購読する例である。このトピックにメッセージがパブリッシュされると、ここのコードはそれを非同期に受信して表示します。

  // Make a subscription
let mut subscription = topic_client
.subscribe(cache_name, topic_name)
.await
.expect("subscribe rpc failed");

// Consume the subscription
while let Some(item) = subscription.next().await {
println!("Received subscription item: {item:?}")
}

コードの実行

Rust SDK GitHub repo examples directoryに完全な動作例があります。

備考

これらの基本的なAPIコール以外にも、MomentoのAPIコールの詳細については、APIリファレンスページを参照してください。