

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# API del piano dati di Neptune Streams
<a name="data-api-dp-streams"></a>

**Azioni di accesso ai flussi:**
+ [GetPropertygraphStream (azione)](#GetPropertygraphStream)

**Strutture di dati dei flussi:**
+ [PropertygraphRecord (struttura)](#PropertygraphRecord)
+ [PropertygraphData (struttura)](#PropertygraphData)

## GetPropertygraphStream (azione)
<a name="GetPropertygraphStream"></a>

         Il nome AWS CLI per questa API è:. `get-propertygraph-stream`

Ottiene un flusso per un grafo delle proprietà.

La funzionalità Neptune Streams consente di generare una sequenza completa di voci di log delle modifiche che registrano automaticamente e in tempo reale ogni modifica apportata ai dati del grafo. `GetPropertygraphStream` consente di raccogliere queste voci di log delle modifiche per un grafo delle proprietà.

La funzionalità Neptune Streams deve essere abilitata sul tuo Neptune. DBcluster Per abilitare i flussi, imposta il parametro [neptune\$1streams](https://docs.aws.amazon.com/neptune/latest/userguide/parameters.html#parameters-db-cluster-parameters-neptune_streams) del cluster database su `1`.

Consulta [Acquisizione di modifiche al grafo in tempo reale mediante Neptune Streams](https://docs.aws.amazon.com/neptune/latest/userguide/streams.html).

Quando si richiama questa operazione in un cluster Neptune con l'autenticazione IAM abilitata, l'utente o il ruolo IAM che effettua la richiesta deve avere una policy allegata che consenta l'azione [GetStreamRecordsneptune-db](https://docs.aws.amazon.com/neptune/latest/userguide/iam-dp-actions.html#getstreamrecords): IAM in quel cluster.

Quando si richiama questa operazione in un cluster Neptune in cui è abilitata l'autenticazione IAM, all'utente o al ruolo IAM che effettua la richiesta deve essere associata una policy che consenta le seguenti azioni IAM, a seconda della query:

Nota che puoi limitare le query basate sul grafo delle proprietà utilizzando le seguenti chiavi contestuali IAM:
+ [neptune-db ::Gremlin QueryLanguage](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)

Consulta [Chiavi di condizioni disponibili nelle dichiarazioni delle policy di accesso ai dati IAM di Neptune](https://docs.aws.amazon.com/neptune/latest/userguide/iam-data-condition-keys.html).

**Richiesta**
+ **commitNum** (nella CLI: `--commit-num`): un valore Long di tipo `long` (numero intero a 64 bit con segno).

  Il numero di commit del record iniziale da leggere dal flusso change-log. Questo parametro è obbligatorio se `iteratorType` è `AT_SEQUENCE_NUMBER` o `AFTER_SEQUENCE_NUMBER` e viene ignorato se `iteratorType` è `TRIM_HORIZON` o `LATEST`.
+ **encoding** (nella CLI: `--encoding`): una codifica di tipo `string` (una stringa con codifica UTF-8).

  Se impostato su TRUE, Neptune comprime la risposta utilizzando la codifica gzip.
+ **iteratorType**(nella CLI:`--iterator-type`) — un IteratorType, di tipo: `string` (una stringa con codifica UTF-8).

  Può essere uno dei seguenti:
  + `AT_SEQUENCE_NUMBER`: indica che la lettura deve iniziare dal numero di sequenza di eventi specificato congiuntamente dai parametri `commitNum` e `opNum`.
  + `AFTER_SEQUENCE_NUMBER`: indica che la lettura deve iniziare immediatamente dopo il numero di sequenza di eventi specificato congiuntamente dai parametri `commitNum` e `opNum`.
  + `TRIM_HORIZON`: indica che la lettura deve iniziare dall'ultimo record non tagliato nel sistema, ovvero il record più vecchio non scaduto (non ancora eliminato) nel flusso di log delle modifiche.
  + `LATEST`: indica che la lettura deve iniziare dal record più recente non tagliato nel sistema, ovvero il record più recente non scaduto (non ancora eliminato) nel flusso di log delle modifiche.
+ **limit**(nella CLI:`--limit`) — a GetPropertygraphStreamInputLimitLong, di tipo: `long` (un intero con segno a 64 bit), non meno di 1 o più di 100000? 1? s.

  Specifica il numero massimo di record da restituire. Esiste anche un limite di dimensioni di 10 MB per la risposta che non può essere modificato e che ha la precedenza sul numero di record specificato nel parametro `limit`. La risposta include un record che supera la soglia se il limite di 10 MB è stato raggiunto.

  L'intervallo per `limit` è compreso tra 1 e 100.000. Il valore predefinito è 10.
+ **opNum** (nella CLI: `--op-num`): un valore Long di tipo `long` (numero intero a 64 bit con segno).

  Il numero di sequenza dell'operazione all'interno del commit specificato da cui iniziare la lettura nei dati del flusso change-log. Il valore predefinito è `1`.

**Risposta**
+ **format**: *Obbligatorio:* una stringa di tipo `string` (una stringa con codifica UTF-8).

  Formato di serializzazione per i record di modifica restituiti. Attualmente, l'unico valore supportato è `PG_JSON`.
+ **lastEventId**: *Obbligatorio:* un array di mappa con coppie chiave-valore in cui:

      Ogni chiave è una stringa di tipo `string` (una stringa con codifica UTF-8).

      Ogni valore è una stringa di tipo `string` (una stringa con codifica UTF-8).

  Identificatore di sequenza dell'ultima modifica nella risposta del flusso.

  Un ID evento è composto da due campi: un `commitNum` che identifica una transazione che ha modificato il grafo e un `opNum` che identifica un'operazione specifica all'interno di tale transazione.  
**Example**  

  ```
  "eventId": {
            "commitNum": 12,
            "opNum": 1
          }
  ```
+ **lastTrxTimestampInMillis**: *Obbligatorio:* un valore Long di tipo `long` (numero intero a 64 bit con segno).

  L'ora in cui è stato richiesto il commit per la transazione, in millisecondi dall'epoca Unix.
+ **records**: *Obbligatorio:* un array di oggetti [PropertygraphRecord](#PropertygraphRecord).

  Un array di record serializzati del flusso di log delle modifiche inclusi nella risposta.
+ **totalRecords**: *Obbligatorio:* un numero intero di tipo `integer` (numero intero a 32 bit con segno).

  Il numero totale di record nella risposta.

**Errori**
+ [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)

## *Strutture di dati dei flussi:*
<a name="data-api-dp-streams-stream-data-structures-spacer"></a>

## PropertygraphRecord (struttura)
<a name="PropertygraphRecord"></a>

Struttura di un record del grafo delle proprietà.

**Campi**
+ **commitTimestampInMillis**: *Obbligatorio:* un valore Long di tipo `long` (numero intero a 64 bit con segno).

  L'ora in cui è stato richiesto il commit per la transazione, in millisecondi dall'epoca Unix.
+ **data**: *Obbligatorio:* un oggetto [PropertygraphData](#PropertygraphData).

  Il record di modifica serializzato di Gremlin o openCypher.
+ **eventId**: *Obbligatorio:* un array di mappa con coppie chiave-valore in cui:

      Ogni chiave è una stringa di tipo `string` (una stringa con codifica UTF-8).

      Ogni valore è una stringa di tipo `string` (una stringa con codifica UTF-8).

  L'identificatore di sequenza del record di modifica del flusso.
+ **isLastOp**: questo è un valore booleano di tipo `boolean` [un valore booleano (vero o falso)].

  Presente solo se questa operazione è l'ultima della transazione. Se è presente, è impostato su true. È utile per garantire che venga consumata un'intera transazione.
+ **op**: *Obbligatorio:* una stringa di tipo `string` (una stringa con codifica UTF-8).

  L'operazione che ha creato la modifica.

## PropertygraphData (struttura)
<a name="PropertygraphData"></a>

Un record di modifica di Gremlin o openCypher.

**Campi**
+ **from**: questa è una stringa di tipo `string` (una stringa con codifica UTF-8).

  Se si tratta di un arco (tipo = `e`), è l'ID del vertice `from` del nodo di origine corrispondente.
+ **id**: *Obbligatorio:* una stringa di tipo `string` (una stringa con codifica UTF-8).

  L'ID dell'elemento Gremlin o openCypher.
+ **key**: *Obbligatorio:* una stringa di tipo `string` (una stringa con codifica UTF-8).

  Il nome della proprietà. Per le etichette degli elementi, questo è `label`.
+ **to**: questa è una stringa di tipo `string` (una stringa con codifica UTF-8).

  Se si tratta di un arco (tipo = `e`), è l'ID del vertice `to` o del nodo di destinazione corrispondente.
+ **type**: *Obbligatorio:* una stringa di tipo `string` (una stringa con codifica UTF-8).

  Il tipo di questo elemento Gremlin o openCypher. Deve essere un valore tra:
  + **`v1`**: etichetta di vertice per Gremlin o etichetta di nodo per openCypher.
  + **`vp`**: proprietà di vertice per Gremlin o proprietà di nodo per openCypher.
  + **`e`**: arco ed etichetta di arco per Gremlin o relazione e tipo di relazione per openCypher.
  + **`ep`**: proprietà di arco per Gremlin o proprietà di relazione per openCypher.
+ **value**: *Obbligatorio:* un documento di tipo `document` (un contenuto aperto indipendente dal protocollo rappresentato da un modello di dati simile a JSON).

  Si tratta di un oggetto JSON che contiene un campo value per il valore stesso e un campo datatype per il tipo di dati JSON del valore:  
**Example**  

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