

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# API de plano de dados dos fluxos do Neptune
<a name="data-api-dp-streams"></a>

**Ações de acesso aos fluxos:**
+ [GetPropertygraphStream (ação)](#GetPropertygraphStream)

**Estruturas de dados de fluxos:**
+ [PropertygraphRecord (estrutura)](#PropertygraphRecord)
+ [PropertygraphData (estrutura)](#PropertygraphData)

## GetPropertygraphStream (ação)
<a name="GetPropertygraphStream"></a>

         O nome da CLI da AWS para essa API é: `get-propertygraph-stream`.

Obtém um fluxo para um grafo de propriedades.

Com o atributo de fluxos `GetPropertygraphStream`, é possível gerar uma sequência completa de entradas no log de alterações que registram todas as alterações feitas nos dados de grafos à medida que elas ocorrem. O permite coletar essas entradas do log de alterações para um grafo de propriedades.

O atributo de fluxos do Neptune precisa estar habilitado no DBcluster do Neptune. Para habilitar fluxos, defina o parâmetro do cluster de banco [neptune\$1streams](https://docs.aws.amazon.com/neptune/latest/userguide/parameters.html#parameters-db-cluster-parameters-neptune_streams) como `1`.

Consulte [Capturar alterações do grafo em tempo real usando os fluxos do Neptune](https://docs.aws.amazon.com/neptune/latest/userguide/streams.html).

Ao invocar essa operação em um cluster do Neptune com a autenticação do IAM habilitada, o usuário ou o perfil do IAM que faz a solicitação deve ter uma política anexada que viabilize a ação do IAM [neptune-db:GetStreamRecords](https://docs.aws.amazon.com/neptune/latest/userguide/iam-dp-actions.html#getstreamrecords) nesse cluster.

Ao invocar essa operação em um cluster do Neptune com a autenticação do IAM habilitada, o usuário ou o perfil do IAM que faz a solicitação deve ter uma política anexada que viabilize uma das seguintes ações do IAM, dependendo da consulta:

Observe que é possível restringir as consultas de grafos de propriedades usando as seguintes chaves de contexto do 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)

Consulte [Chaves de condição disponíveis em declarações de política de acesso a dados do IAM do Neptune](https://docs.aws.amazon.com/neptune/latest/userguide/iam-data-condition-keys.html).

**Solicitação**
+ **commitNum** (na CLI: `--commit-num`): um valor longo, do tipo: `long` (um valor inteiro assinado de 64 bits).

  O número de confirmação do registro inicial a ser lido no fluxo do log de alterações. Esse parâmetro é necessário quando `iteratorType` é `AT_SEQUENCE_NUMBER` ou `AFTER_SEQUENCE_NUMBER` e ignorado quando `iteratorType` é `TRIM_HORIZON` ou`LATEST`.
+ **encoding** (na CLI: `--encoding`): uma codificação, do tipo: `string` (uma string codificada em UTF-8).

  Se definido como TRUE, o Neptune comprime a resposta usando a codificação gzip.
+ **iteratorType** (na CLI: `--iterator-type`): um IteratorType, do tipo: `string` (uma string codificada em UTF-8).

  Pode ser um dos seguintes:
  + `AT_SEQUENCE_NUMBER`: indica que a leitura deve começar a partir do número de sequência de eventos especificado em conjunto pelos parâmetros `commitNum` e `opNum`.
  + `AFTER_SEQUENCE_NUMBER`: indica que a leitura deve começar logo após o número de sequência de eventos especificado em conjunto pelos parâmetros `commitNum` e `opNum`.
  + `TRIM_HORIZON`: indica que a leitura deve começar no último registro não truncado no sistema, que é o registro mais antigo não expirado (ainda não excluído) no fluxo de logs de alterações.
  + `LATEST`: indica que a leitura deve começar no registro mais recente no sistema, que é o registro mais recente não expirado (ainda não excluído) no fluxo de logs de alterações.
+ **limit** (na CLI: `--limit`): um GetPropertygraphStreamInputLimitLong, do tipo: `long` (um valor inteiro assinado de 64 bits), não menos que 1 ou mais que 100.000 ?st?s.

  Especifica o número máximo de registros a serem retornados. Há também um limite de tamanho de 10 MB na resposta que não pode ser modificado e que tem precedência sobre o número de registros especificado no parâmetro `limit`. A resposta incluirá um registro de violação de limite se o limite de 10 MB tiver sido atingido.

  O intervalo para `limit` é de 1 a 100.000, com um padrão de 10.
+ **opNum** (na CLI: `--op-num`): um valor longo, do tipo: `long` (um valor inteiro assinado de 64 bits).

  O número de sequência da operação dentro da confirmação especificada da qual começar a ler nos dados do fluxo do log de alterações. O padrão é `1`.

**Resposta**
+ **format**: *obrigatório:* uma string, do tipo: `string` (uma string codificada em UTF-8).

    o formato da serialização dos registros de alterações que estão sendo retornados. Atualmente, o único valor compatível é `PG_JSON`.
+ **lastEventId**: *obrigatório:* é uma matriz de mapa dos pares de chave-valor em que:

      Cada chave é uma string, do tipo: `string` (uma string codificada em UTF-8).

      Cada valor é uma string, do tipo: `string` (uma string codificada em UTF-8).

  Identificador da sequência da última alteração na resposta do fluxo.

  Um ID de evento é composto de dois campos: um `commitNum` que identifica uma transação que alterou o grafo, e um `opNum` que identifica uma operação específica dentro dessa transação:  
**Example**  

  ```
  "eventId": {
            "commitNum": 12,
            "opNum": 1
          }
  ```
+ **lastTrxTimestampInMillis**: *obrigatório:* um valor longo, do tipo: `long` (um valor inteiro assinado de 64 bits).

  A hora em que a confirmação da transação foi solicitada, em milissegundos a partir do epoch do Unix.
+ **records**: *obrigatório:* uma matriz de objetos [PropertygraphRecord](#PropertygraphRecord).

  Uma matriz de registros serializados do fluxo de log de alterações incluídos na resposta.
+ **totalRecords**: *obrigatório:* um valor inteiro, do tipo: `integer` (um valor inteiro assinado de 32 bits).

  O número total de registros na resposta.

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

## *Estruturas de dados de fluxos:*
<a name="data-api-dp-streams-stream-data-structures-spacer"></a>

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

Estrutura de um registro de grafo de propriedades.

**Campos**
+ **commitTimestampInMillis**: é *obrigatório:* um valor longo, do tipo: `long` (um valor inteiro assinado de 64 bits).

  A hora em que a confirmação da transação foi solicitada, em milissegundos a partir do epoch do Unix.
+ **data**: é *obrigatório:* um objeto [PropertygraphData](#PropertygraphData).

  O registro de alteração serializado do Gremlin ou do openCypher.
+ **eventId**: é *obrigatório:* é uma matriz de mapa dos pares de chave-valor em que:

      Cada chave é uma string, do tipo: `string` (uma string codificada em UTF-8).

      Cada valor é uma string, do tipo: `string` (uma string codificada em UTF-8).

  O identificador da sequência do registro de alteração do fluxo.
+ **isLastOp**: é um valor booliano, do tipo: `boolean` (um valor booliano (verdadeiro ou falso)).

  Presente somente se essa operação for a última da transação. Se estiver presente, será definido como verdadeiro. É útil para garantir que uma transação inteira seja consumida.
+ **op**: é *obrigatório:* uma string, do tipo: `string` (uma string codificada em UTF-8).

  A operação que criou a alteração.

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

Um registro de alteração do Gremlin ou do openCypher.

**Campos**
+ **from**: é uma string, do tipo: `string` (uma string codificada em UTF-8).

  Se esta for uma borda (tipo = `e`), o ID do vértice `from` correspondente ou do nó de origem.
+ **id**: é *obrigatório:* uma string, do tipo: `string` (uma string codificada em UTF-8).

  O ID do elemento do Gremlin ou do openCypher.
+ **key**: é *obrigatório:* uma string, do tipo: `string` (uma string codificada em UTF-8).

  O nome da propriedade. Para rótulos de elementos, é `label`.
+ **to**: é uma string, do tipo: `string` (uma string codificada em UTF-8).

  Se esta for uma borda (tipo = `e`), o ID do vértice `to` correspondente ou do nó de destino.
+ **type**: é *obrigatório:* uma string, do tipo: `string` (uma string codificada em UTF-8).

  O tipo desse elemento do Gremlin ou do openCypher. Deve ser um dos seguintes:
  + **`v1`**: rótulo de vértice para Gremlin ou o rótulo de nó para openCypher.
  + **`vp`**: propriedades de vértice para Gremlin ou propriedades de nós para openCypher.
  + **`e`**: borda e rótulo de borda para Gremlin ou relacionamento e tipo de relacionamento para openCypher.
  + **`ep`**: propriedades de borda para Gremlin ou propriedades de relacionamento para openCypher.
+ **value**: é *obrigatório:* um documento, do tipo `document` (um conteúdo aberto independente de protocolo representado por um modelo de dados semelhante a JSON).

  Trata-se de um objeto JSON que contém um campo de valor para o próprio valor, e um campo de tipo de dados para o tipo de dados JSON desse valor:  
**Example**  

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