新機能:Momento Topics が Webhooks 送出に対応したので試してみました
Momento Topics がWebhook送出に対応したので試してみました。特定のTopicにメッセージをPublishした際に、Webhookとして外部にメッセージを渡すことが可能です。
さっそくやってみる
まずはnode.js
でMomento TopicsにメッセージをPublishする環境を作成します。
はMomento が提供しているCLIを活用してPublishとSubscribeを行いましたが、せっかくなので勉強を兼ねて以下のコードを作成しました。
// Declare the Momento SDK library
const {
TopicClient, TopicConfigurations, CredentialProvider,
TopicPublish, TopicSubscribe,
} = require('@gomomento/sdk');
const dotenv = require('dotenv');
dotenv.config();
const topicClient = new TopicClient({
configuration: TopicConfigurations.Default.latest(),
credentialProvider: CredentialProvider.fromEnvironmentVariable({
environmentVariableName: 'MOMENTO_API_KEY',
}),
});
// Publish a value
topicClient.publish('demo-cache', 'test-topic', 'fromvscode');
ここで使っているdemo-cache
は既にMomento側で存在しているCacheを指定します。Topicの名前であるtest-topic
はMomento Topicsではあらかじめ指定してく必要がないことが一つの特徴であり、拡張性の高さにつながりますが、Webhookを飛ばすためにはあらかじめ指定しておく必要があります。
それでは早速指定してみます。MomentoマネージメントコンソールでCacheの管理画面に移動します。
webhooks
をクリックします。
Create Webhook
を押します。
Webhookの名前、Topic名、送付先URLを指定してCreate
を押します。
Webhookを受信できるテスト環境がない方は、以下のサイトを使います。
ブラウザでアクセスした瞬間にWebhook受信URLを出力してくれます。そのURLをcopyして貼り付けておきましょう。
以上で設定は完了です。
テスト
TopicsのコンソールでSubscribe設定をします。
そうすると簡単にテストが可能な画面が出てきます。
例えばtest
という文字列を入力してPublishボタンを押すと左側にサブスクライバtest
を受信します。
先ほどのWebhook受信用テストサイトを見ると、正しくメッセージを受信していることがわかります。
publish.js
を実行するとまた新しくメッセージを受信します。
Discussion