APIエンドポイントキャッシュ
APIキャッシュは、重複するAPIリクエストを減らすことでレシピのパフォーマンスを向上させます。
この機能を有効にすると、Workatoはレスポンスを一時的にキャッシュに保存します。 レシピが保持期間内に重複するリクエストを送信した場合、Workatoはエンドポイントを再度呼び出す代わりにキャッシュされたレスポンスを返します。
利点:
- レシピアクションでのレスポンス時間の短縮
- 総ジョブ数の削減
- ジョブ実行時間の短縮
- アプリケーション間のトラフィックの削減
制限とクォータ
2xxステータスコードを返す成功したGETリクエストのみをキャッシュできます。
| 説明 | 制限 | メモ |
|---|---|---|
| 最大キャッシュキーサイズ | 10 kB | NA |
| 最大キャッシュエントリ値サイズ | 10 kB | この制限を超えるリクエストは、成功した場合でもキャッシュされません。この制限を調整するには、Workatoカスタマーサクセスマネージャーにお問い合わせください。 |
| ユーザーIDあたりの最大キャッシュエントリ数 | 10,000エントリ | 超過した場合、新しいエントリを収容するために、古いものから新しいものの順にエントリがフラッシュされます。この制限を調整するには、Workato Customer Success Managerにサポートを依頼してください。 |
| APIレスポンスとキャッシュの制限 | 100 KB | NA |
エンドポイントキャッシュの有効化
APIキャッシュを有効にするには、エンドポイントのSettingsタブまたはエンドポイントの作成時に次のフィールドを設定します:
| 入力フィールド | 説明 |
|---|---|
| レスポンスをキャッシュ | APIキャッシュを有効または無効にします。 |
| Time-to-live期間 | APIレスポンスをキャッシュに保持する時間を秒単位で入力します。 デフォルト値は600秒(10分)、最大値は3600秒(60分)です。 詳細については、キャッシュの保持セクションを参照してください。 |
| キャッシュキーパラメータ | キャッシュキーとして使用するパラメーターを選択します。 |
キャッシュが有効なエンドポイントには、Cache enabledバッジが表示されます:

キャッシュの保持
Time-to-liveフィールドでは、キャッシュが各レスポンスを保持する時間を定義します。
たとえば、保持期間を600秒に設定した場合:
- 400秒時点のリクエストは、キャッシュ内のレスポンスにアクセスします。
- 800秒時点のリクエストはエンドポイントを呼び出し、新しいレスポンスをキャッシュに保存して、保持期間を再開します。
各ユーザーIDには、10,000エントリのキャッシュ制限があります。 この制限に達すると、古いエントリがフラッシュされ、新しいエントリ用の領域が確保されます。
キャッシュキー
Cache key parametersフィールドでは、キャッシュキーとして使用するパスパラメーターおよびクエリ文字列パラメーターを定義します。 保持期間中にリクエストがキーと一致した場合、そのリクエストはキャッシュから一致するエントリを返します。
パスパラメーターの例
/users/{id}などのパスパラメーターをキャッシュキーとして設定し、ユーザーのidに基づいてレスポンスを保存できます。
次のリクエストは、ユーザーID12345のキャッシュされたレスポンスが存在する場合にそれを返します:
curl -X GET https://api.myworkatoexample.com/docs/users/12345 \
-H 'API-TOKEN: YOUR_TOKEN'クエリ文字列の例
/users?id={value}などのクエリ文字列をキャッシュキーとして設定し、ユーザーのidに基づいてレスポンスを保存できます。
次のリクエストは、ユーザーID12345のキャッシュされたレスポンスが存在する場合にそれを返します:
curl -X GET https://api.myworkatoexample.com/docs/users?id=12345 \
-H 'API-TOKEN: YOUR_TOKEN'エンドポイントキャッシュの監視
キャッシュされたレスポンスの詳細は、API platform > ログページで確認できます。 キャッシュからレスポンスを取得したリクエストには、Cachedバッジが表示されます。
キャッシュされたエンドポイントデータのクリア
キャッシュされたエントリは、定義した保持期間に基づいて自動的にクリアされます。 次の手順を実行して、エンドポイントのキャッシュ全体を手動でクリアすることもできます:
プラットフォーム>API platform>APIコレクションに移動します。
クリアするエンドポイントを含むコレクションをクリックします。
クリアするエンドポイントで...(詳細)をクリックします。
Clear cached responsesをクリックします。 確認モーダルが表示されます。
Clear cacheをクリックします。
キャッシュされたエントリの再検証
リクエストにCache-Control: max-age=0ヘッダーを含めることで、キャッシュされたエントリを再検証できます。 例:
curl https://api.myworkatoexample.com/docs/users/12345 \
-H 'Authorization: Bearer ACCESS_TOKEN' \
-H 'Cache-Control: max-age=0'Last updated: