# 2. GraphQLサブスクリプション

GraphQLサブスクリプションのシーケンス図は、GeoPardコアで実装されたイベント駆動アーキテクチャをどのように活用するかを示します。リンクされたエンティティに変更があると、

GeoPard APIは影響を受けたエンティティと対応する操作（`挿入`, `変更`, `削除`）をキャプチャしたイベントを即座に発行します。これらのサブスクリプションの範囲は広く、Farm、Field、SatelliteImage、SoilDataset、AsAppliedDataset、YieldDataset、TopographyMap、Notesなどのすべてのエンティティを網羅します。&#x20;

GraphQLサブスクリプション（[リクエスト1 または R1](/geopard-tutorials/jpn/apidokyumento/geopard-apirikuesuto/1-sabusukuripushon-ibentowo.md)）はすべてのイベントがほぼリアルタイムで配信されるWebSocket上で動作し、変更の即時通知を確保します。&#x20;

{% hint style="danger" %}
サブスクリプションイベントの受信側は基本的なサービスとして機能し、受信したイベントを処理ロジックが適用される次のサービスへルーティングする役割を担うべきです。重要なのは、この受信側が自身で処理タスクを実行しないことです。
{% endhint %}

さらに、見逃したり失われたりしたイベントがあった場合、ユーザーはそれらを取得することができます。これは特定の日付範囲とエンティティ（User、Farm、Field）に合わせたGraphQLクエリを実行することで実現され、過去のイベントを完全に回復することが可能になります（[リクエスト2 または R2](/geopard-tutorials/jpn/apidokyumento/geopard-apirikuesuto/82-kueri-sabusukuripushonibentowo.md)）。このレベルの機能により情報が失われることはなく、ユーザーデータの整合性と一貫性が維持されます。

<figure><img src="/files/e5ce661bb384bd0a45b4c2e183d10f4dd2ca774f" alt=""><figcaption><p>シーケンス図：サブスクリプションイベントの扱い</p></figcaption></figure>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.geopard.tech/geopard-tutorials/jpn/apidokyumento/furno/2-graphqlsabusukuripushon.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
