

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Neptune ストリームデータプレーン API
<a name="data-api-dp-streams"></a>

**ストリームアクセスアクション:**
+ [GetPropertygraphStream (アクション)](#GetPropertygraphStream)

**ストリームデータ構造:**
+ [PropertygraphRecord (構造)](#PropertygraphRecord)
+ [PropertygraphData (構造)](#PropertygraphData)

## GetPropertygraphStream (アクション)
<a name="GetPropertygraphStream"></a>

         この API の AWS CLI 名は `get-propertygraph-stream` です。

プロパティグラフのストリームを取得します。

Neptune ストリーム機能を使用すると、グラフデータに加えられたすべての変更を記録する、変更ログエントリの完全なシーケンスを生成できます。`GetPropertygraphStream` では、プロパティグラフについて、これらの変更ログエントリを収集できます。

Neptune ストリーム機能を Neptune DB クラスターで有効にする必要があります。ストリームを有効にするには、[neptune\$1stream](https://docs.aws.amazon.com/neptune/latest/userguide/parameters.html#parameters-db-cluster-parameters-neptune_streams) DB クラスターパラメータを `1` に設定します。

「[Neptune ストリームを使用してグラフの変更をリアルタイムでキャプチャする](https://docs.aws.amazon.com/neptune/latest/userguide/streams.html)」を参照してください。

IAM 認証が有効になっている Neptune クラスターでこの操作を呼び出すときには、リクエストを行う IAM ユーザーまたはロールに、そのクラスターで [neptune-db:GetStreamRecords](https://docs.aws.amazon.com/neptune/latest/userguide/iam-dp-actions.html#getstreamrecords) IAM アクションを許可するポリシーがアタッチされている必要があります。

IAM 認証が有効になっている Neptune クラスターでこの操作を呼び出すときには、リクエストを行う IAM ユーザーまたはロールに、クエリに応じて、そのクラスターで以下の IAM アクションを許可するポリシーがアタッチされている必要があります。

以下の IAM コンテキストキーを使用してプロパティグラフクエリを制限できることに注意してください。
+ [neptune-db:QueryLanguage:Gremlin](https://docs.aws.amazon.com/neptune/latest/userguide/iam-data-condition-keys.html#iam-neptune-condition-keys)
+ [neptune-db:QueryLanguage:OpenCypher](https://docs.aws.amazon.com/neptune/latest/userguide/iam-data-condition-keys.html#iam-neptune-condition-keys)

「[Neptune (IAM データアクセスポリシーステートメントで使用可能な条件キー](https://docs.aws.amazon.com/neptune/latest/userguide/iam-data-condition-keys.html)」を参照してください。

**[リクエスト**]
+ **commitNum** (CLI では: `--commit-num`) — タイプ `long` の長整数 (符号付き 32 ビット整数)。

  変更ログストリームから読み取る開始レコードのコミット番号。このパラメータは、`iteratorType` が `AT_SEQUENCE_NUMBER` または `AFTER_SEQUENCE_NUMBER` の場合は必須であり、`iteratorType` が `TRIM_HORIZON` または `LATEST` の場合は無視されます。
+ **encoding** (CLI では: `--encoding`) — タイプ `string` のエンコーディング (UTF-8 でエンコードされた文字列)。

  TRUE に設定された場合、Neptune は gzip エンコーディングを使用して応答を圧縮します。
+ **iteratorType** (CLI では: `--iterator-type`) — タイプ `string` の IteratorType (UTF-8 でエンコードされた文字列)。

  次のいずれかの値を指定できます。
  + `AT_SEQUENCE_NUMBER` - `commitNum` および `opNum` パラメータで一緒に指定されたイベントシーケンス番号から読み取りを開始することを示します。
  + `AFTER_SEQUENCE_NUMBER` - `commitNum` および `opNum` パラメータで一緒に指定されたイベントシーケンス番号の直後に読み取りが開始されることを示します。
  + `TRIM_HORIZON` - 読み取りは、システム内の最後のトリミングされていないレコードから開始することを示します。これは、変更ログストリームで最も古い (まだ削除されていない) レコードであることを示しています。
  + `LATEST` - 読み取りは、システム内の最新のレコードから開始することを示します。これは、変更ログストリームで最近の (まだ削除されていない) レコードであることを示しています。
+ **limit** (CLI では: `--limit`) — GetPropertygraphStreamInputLimitLong、タイプ: `long` (符号付き 64 ビット整数)、1 以上か 100000 未満 ?st?s。

  返すレコードの最大数を指定します。また、レスポンスのサイズ制限は 10 MB であり、これは変更できず、`limit` パラメータで指定されたレコード数よりも優先されます。10 MB の制限に達した場合、レスポンスにはしきい値超過レコードが含まれます。

  `limit` の範囲は 1 から 100,000 であり、デフォルトは 10 です。
+ **opNum** (CLI では: `--op-num`) — タイプ `long` の長整数 (符号付き 32 ビット整数)。

  変更ログストリームデータからの読み取りを開始するための、指定されたコミット内のオペレーションシーケンス番号。デフォルトは `1` です。

**レスポンス**
+ **format** - *必須:* タイプ `string` の文字列 (UTF-8 でエンコードされた文字列)。

   返される変更レコードのシリアル化形式。現在、サポートされている値は `PG_JSON` のみです。
+ **lastEventId** – *必須:* キーと値のペアのマップ配列。

      各キーは、タイプ `string` の文字列 (UTF-8 でエンコードされた文字列) です。

      各値は、タイプ `string` の文字列 (UTF-8 でエンコードされた文字列) です。

   ストリームレスポンスの最後の変更のシーケンス識別子。

  イベント ID は 2 つのフィールドで構成されます。`commitNum` はグラフを変更したトランザクションを識別し、`opNum` はそのトランザクション内の特定の操作を識別します。  
**Example**  

  ```
  "eventId": {
            "commitNum": 12,
            "opNum": 1
          }
  ```
+ **lastTrxTimestampInMillis** — *必須:* タイプ `long` の長整数(符号付き 64 ビット整数)。

  トランザクションのコミットがリクエストされた時間 (Unix エポックからのミリ秒単位)。
+ **records** – *必須:* [PropertygraphRecord](#PropertygraphRecord) オブジェクトの配列。

   レスポンスに含まれるシリアル化された変更ログストリームレコードの配列。
+ **totalRecords** - *必須:* タイプ `integer` の整数 (符号付き 32 ビット整数)。

  レスポンス内のレコードの総数。

**エラー**
+ [UnsupportedOperationException](data-api-dp-errors.md#UnsupportedOperationException)
+ [ExpiredStreamException](data-api-dp-errors.md#ExpiredStreamException)
+ [InvalidParameterException](data-api-dp-errors.md#InvalidParameterException)
+ [MemoryLimitExceededException](data-api-dp-errors.md#MemoryLimitExceededException)
+ [StreamRecordsNotFoundException](data-api-dp-errors.md#StreamRecordsNotFoundException)
+ [ClientTimeoutException](data-api-dp-errors.md#ClientTimeoutException)
+ [PreconditionsFailedException](data-api-dp-errors.md#PreconditionsFailedException)
+ [ThrottlingException](data-api-dp-errors.md#ThrottlingException)
+ [ConstraintViolationException](data-api-dp-errors.md#ConstraintViolationException)
+ [InvalidArgumentException](data-api-dp-errors.md#InvalidArgumentException)
+ [IllegalArgumentException](data-api-dp-errors.md#IllegalArgumentException)
+ [TooManyRequestsException](data-api-dp-errors.md#TooManyRequestsException)

## *ストリームデータ構造:*
<a name="data-api-dp-streams-stream-data-structures-spacer"></a>

## PropertygraphRecord (構造)
<a name="PropertygraphRecord"></a>

プロパティグラフレコードの構造。

**フィールド**
+ **commitTimestampInMillis** — *必須:* タイプ `long` の長整数(符号付き 64 ビット整数)。

  トランザクションのコミットがリクエストされた時間 (Unix エポックからのミリ秒単位)。
+ **data** — *必須: * [PropertygraphData](#PropertygraphData) オブジェクト。

  シリアル化された Gremlin または openCypher 変更レコード。
+ **eventId** – *必須:* キーと値のペアのマップ配列。

      各キーは、タイプ `string` の文字列 (UTF-8 でエンコードされた文字列) です。

      各値は、タイプ `string` の文字列 (UTF-8 でエンコードされた文字列) です。

  ストリーム変更レコードのシーケンス識別子。
+ **isLastOp** - これはタイプ `boolean` のブール値です (ブール値 (真または偽))。

  この操作がトランザクションの最後の操作である場合にのみ表示されます。存在する場合、true に設定されます。トランザクション全体が確実に消費されるようにする場合に便利です。
+ **op** - これは *必須*です。タイプ `string` の文字列 (UTF-8 でエンコードされた文字列)。

  変更を作成した操作。

## PropertygraphData (構造)
<a name="PropertygraphData"></a>

Gremlin または openCypher 変更レコード。

**フィールド**
+ **from** - 文字列、タイプ: `string` (UTF-8 でエンコードされた文字列)。

  これがエッジ (type = `e`) の場合、対応する `from` 頂点またはソースノードの ID。
+ **id** - これは *必須*です。タイプ `string` の文字列 (UTF-8 でエンコードされた文字列)。

  Gremlin または openCypher 要素の ID。
+ **key** - これは *必須*です。タイプ `string` の文字列 (UTF-8 でエンコードされた文字列)。

  プロパティ名。要素ラベルの場合、これは `label` です。
+ **to** — これはタイプ `string` の文字列です (UTF-8 でエンコードされた文字列)。

  これがエッジ (type = `e`) の場合、対応する `to` 頂点またはターゲットノードの ID。
+ **type** - これは *必須*です。タイプ `string` の文字列 (UTF-8 でエンコードされた文字列)。

  この Gremlin または openCypher 要素のタイプ。次のいずれかにする必要があります。
  + **`v1`** — Gremlin の頂点ラベル、または openCypher のノードラベル。
  + **`vp`** — Gremlin の頂点プロパティ、または openCypher のノードプロパティ。
  + **`e`** — Gremlin のエッジとエッジラベル、または openCypher のリレーションシップとリレーションシップタイプ。
  + **`ep`** — Gremlin のエッジプロパティ、または openCypher のリレーションシッププロパティ。
+ **value** - *必須:* タイプ `document` のドキュメント (JSON のようなデータモデルで表される、プロトコルに依存しないオープンコンテンツ)。

  これは、値自体の値フィールドと、その値の JSON データ型のデータ型フィールドを含む JSON オブジェクトです。  
**Example**  

  ```
  "value": {
            "value": "(the new value"),
            "dataType": "(the JSON datatypenew value")
          }
  ```