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

MomentoトピックのHTTP APIリファレンス

Momentoは、私たちのSDKを使用できないアプリケーションや、curlやfetchのようなものを使用したいアプリケーションのためにHTTP APIインターフェイスを提供します。例えば、Cloudflare WorkersFastly Compute@Edgeなどのエッジコンピュートサービスにデプロイする場合、このAPIはあなたのためにあります。その他のアプリケーションは、Momento's SDK clients を使用する必要があります。

私たちのPostmanの公開ワークスペース.でもOpen API Specificationを見ることができます。

Note

このドキュメントでは、HTTPリクエスト構文の実装方法については説明しません。

リージョン

Momento HTTP API にアクセスするには、API トークンとキャッシュのリージョンで以下のエンドポイントのいずれかを使用します。ご希望の地域がない場合は、サポートまでご連絡ください

AWS RegionEndpoints
us-west-2https://api.cache.cell-4-us-west-2-1.prod.a.momentohq.com
us-east-1https://api.cache.cell-us-east-1-1.prod.a.momentohq.com
us-east-2https://api.cache.cell-1-us-east-2-1.prod.a.momentohq.com
ap-northeast-1https://api.cache.cell-ap-northeast-1-1.prod.a.momentohq.com
ap-southeast-1https://api.cache.cell-1-ap-southeast-1-1.prod.a.momentohq.com
eu-west-1https://api.cache.cell-1-eu-west-1-1.prod.a.momentohq.com
eu-central-1https://api.cache.cell-1-eu-central-1-1.prod.a.momentohq.com
ap-south-1https://api.cache.cell-1-ap-south-1-1.prod.a.momentohq.com

Authentication

各リクエストには、Momento コンソール または ホスティングしているトークン「自動販売機」マイクロサービス を介して生成された API キーまたは Momento 認証トークンが必要です。Momento auth トークンは、Momento サービスへのアクセスを制御し、有効期限を設定したり、特定のリソースへのアクセスを許可/制限することができます。

トークンは、リクエストの2つの場所のいずれかで指定される:

  • An Authorization header
  • A token query parameter
Tip

ヘッダーとクエリーパラメーターの両方が提供される場合、 リクエストは400 Bad Requestで失敗すします。

Publish

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

Request

  • Path: /topics/{cacheName}/{topicName}
  • HTTP Method: POST

Path Parameters

Parameter nameRequired?TypeDescription
cacheNameyesURL-safe stringトピックを含むキャッシュの名前
topicNameyesURL-safe string公開するトピックの名前

Query Parameters

Parameter nameRequired?TypeDescription
tokenno**URL-safe stringリクエストの認証/認可に使用する Momento 認証トークン (文字列形式)

Headers

Header nameRequired?Description
Authorizationno**文字列形式の Momento auth トークンは、リクエストの認証/認可に使用されます
Content-Typeyesプレーンテキストデータ(UTF-8)を公開するには text/plain を指定する。バイナリデータを公開するには、application/octet-stream を指定します

Body

HTTP POSTリクエストの本文には、トピックに公開する値を含める必要があります。公開できるのは テキストデータかバイナリデータのどちらかを公開できます。公開するデータのタイプを指定するには、上記の ヘッダー のセクションで説明した Content-Type ヘッダーを使用します。

Responses

Success

Status Code: 204 No Content

  • メッセージは指定されたトピックに正常に公開されました

Error

Status code: 400 Bad Request

  • このエラータイプは通常、リクエストの指定が正しくないことを示す。詳細はメッセージ本文を参照のこと。

Status code: 401 Unauthorized

  • このエラータイプは通常、渡された Momento 認証トークンが無効か期限切れであることを示します。詳細はメッセージの本文を参照してください。

Status code: 403 Forbidden

  • このエラータイプは通常、渡された Momento 認証トークンが、試行したリソースへの必要なアクセスを許可していないことを示します。詳細はメッセージの本文を参照してください。

Status code: 404 Not Found

  • 「Cache Not Found」は、指定されたキャッシュが存在しないことを示す。

Status code: 429 Too Many Requests

  • このエラー タイプは通常、アカウントの上限を超えたことを示します。詳細についてはメッセージ本文を参照するか、Momento サポートに連絡して限度額の引き上げを依頼してください。

Status code: 500 Internal Server Error

  • このエラータイプは通常、サービスに問題が発生していることを示します。Momentoサポートにお問い合わせください。

Examples

以下は、hello world! という値を us-east-1 リージョンの my-cache キャッシュの example トピックに発行する例です。

Publish with token query parameter

curl -X POST -d 'hello world!' "https://api.cache.cell-us-east-1-1.prod.a.momentohq.com/topics/my-cache/example?token=<token>"

Publish with Authorization header

curl -X POST -H "Authorization: <token>" -d 'hello world!' "https://api.cache.cell-us-east-1-1.prod.a.momentohq.com/topics/my-cache/example"

Subscribe

長いポーリングによってトピックを購読し、メッセージが公開されるのを待ちます。

Request

  • Path: /topics/{cacheName}/{topicName}
  • HTTP Method: GET

Path parameters

Parameter nameRequired?TypeDescription
cacheNameyesURL-safe stringトピックを含むキャッシュの名前
topicNameyesURL-safe string購読するトピックの名前

Query parameters

Parameter nameRequired?TypeDescription
tokenno**URL-safe stringリクエストの認証/認可に使用する Momento 認証トークン (文字列形式)
sequence_numbernoInteger最後に受信したメッセージを指定するオプションのパラメータ。メッセージが順番に受信されるようにするか、または不連続を検出する

Headers

Header nameRequired?Description
Authorizationno**文字列形式の Momento auth トークンは、リクエストの認証/認可に使用されます

Responses

Success

Status code: 200 OK

  • サブスクリプションは成功し、メッセージが返されました。応答はメッセージとそのシーケンス番号を持つ JSON オブジェクトを含みます。メッセージシーケンスにギャップがあった場合、不連続メッセージが含まれます。

Error

Status code: 401 Unauthorized

  • このエラータイプは通常、渡されたMomento認証トークンが無効か期限切れであることを示します。詳細はメッセージの本文を参照してください。

Status code: 403 Forbidden

  • このエラータイプは通常、渡された Momento 認証トークンが、試行したリソースへの必要なアクセスを許可していないことを示します。詳細はメッセージの本文を参照してください。

Status code: 404 Not Found

  • 「Cache Not Found" は、指定されたキャッシュまたはトピックが存在しないことを示します。

Status code: 429 Too Many Requests

  • このエラー タイプは通常、アカウントの上限を超えたことを示します。詳細については、メッセージ本文を参照するか、Momento サポートに連絡して上限の引き上げを要求してください。

Status code: 500 Internal Server Error

  • このエラータイプは通常、サービスに問題が発生していることを示します。Momentoサポートにお問い合わせください。

Examples

Request with no sequence number

このリクエストはヘッダーとしてauthを含みます。

curl -X GET -H "Authorization: <token>" "https://api.cache.cell-us-east-1-1.prod.a.momentohq.com/topics/my-cache/my-topic"

Response

{
"items": [
{
"item": {
"topic_sequence_number": 0,
"value": {
"text": "hello world"
}
}
}
]
}

Request with a sequence number provided

このリクエストには、クエリーパラメーターとしてauthが含まれています。

curl -X GET "https://api.cache.cell-us-east-1-1.prod.a.momentohq.com/topics/my-cache/my-topic?token=<token>&sequence_number=100"

Response

{
"items": [
{
"discontinuity": {
"last_topic_sequence": 100,
"new_topic_sequence": 104
}
},
{
"item": {
"topic_sequence_number": 104,
"value": {
"text": "hello world"
}
}
}
]
}