Delta Sharing

Permite a configuração para recuperar dados via protocolo Delta Sharing.

Parâmetros

Parâmetros aceitos para esse tipo de entrada:

CampoDescriçãoValor

delta_sharing.config

Configuração de conexão do perfil

Tipo: string Obrigatório

delta_sharing.share

Nome do compartilhamento

Tipo: string Obrigatório

delta_sharing.schema

Nome do schema compartilhado

Tipo: string Obrigatório

delta_sharing.table

Nome da tabela compartilhada

Tipo: string Obrigatório

delta_sharing.scheduler

Informações do agendador

Tipo: object Obrigatório

delta_sharing.scheduler.cron

Tipo: string Obrigatório: Se o campo seconds não for informado

delta_sharing.scheduler.seconds

Tempo em segundos entre as execuções

Tipo: int Obrigatório: Se o campo cron não for informado)

delta_sharing.filter

Configurações de filtro

Tipo: object Obrigatório

delta_sharing.filter.date_field_name

Nome do campo com a data da partição

Tipo: string Valor padrão: StorageDateDayBR

delta_sharing.filter.since_datetime_value

Configuração da data de início da busca

Tipo: object Valor padrão: {}

delta_sharing.filter.since_datetime_value.date_value

Data de início no formato (2006-01-02)

Tipo: string Valor padrão: -

delta_sharing.filter.since_datetime_value.timezone

Fuso horário da data

Tipo: string Valor padrão: -

delta_sharing.filter.until_datetime_value

Configuração da data de término da busca

Tipo: object Valor padrão: {}

delta_sharing.filter.until_datetime_value.date_value

Data de término no formato (2006-01-02)

Tipo: string Valor padrão: -

delta_sharing.filter.until_datetime_value.timezone

Fuso horário da data

Tipo: string Valor padrão: -

delta_sharing.filter.tenant_field_name

O nome do campo com o tenant ID

Tipo: string Obrigatório Se bot_field_name não estiver presente

delta_sharing.filter.tenant_field_values

Tipo: list a de tenant IDs que devem ser utilizados

Tipo: []string Obrigatório Se tenant_field_name estiver presente

delta_sharing.filter.bot_field_name

O nome do campo com o bot ID

Tipo: string Obrigatório Se tenant_field_name não estiver presente

delta_sharing.filter.bot_field_values

Tipo: list a de bot IDs que devem ser utilizados

Tipo: []string Obrigatório: Se bot_field_name estiver presente

delta_sharing.queries

Configurações de busca nos documentos filtrados

Tipo: list Valor padrão: -

delta_sharing.queries.type

Tipo da busca

Tipo: enum[datetime] Obrigatório

delta_sharing.queries.field_name

Nome do campo a ser utilizado na busca

Tipo: string Obrigatório

delta_sharing.paging

Configurações de paginação na busca

Tipo: object Valor padrão: -

delta_sharing.paging.seconds

Tempo entre as janelas da paginação em segundos

Tipo: int Valor padrão: 86400 (1 dia)

delta_sharing.file_id

Identificador do arquivo resultante. Se for necessário agrupar os arquivos recuperados via delta sharing. Aceita padrão de data (yyyy MM dd HH mm)

Tipo: string Valor padrão: -

O campo delta_sharing.filter.until_datetime_value.date_value pode ser utilizado para realizar uma busca ativa dos dados uma vez que assim que os dados do último dia forem recuperados não serão realizadas mais buscas. Se não informado as buscas irão ocorrer de forma passiva após o término do dia em questão para garantir que todas as mensagens do dia estejam na partição.

Requisição

curl --location '<HOST>/v1/configs' \
--header 'Content-Type: application/json' \
--header 'Authorization: <ACCESS-TOKEN>' \
--data '{
  "input": {
    "type": "DELTA_SHARING",
    "delta_sharing": {
      "config": "{\"shareCredentialsVersion\":1,\"bearerToken\":\"...\",\"endpoint\":\"...\",\"expirationTime\":\"...\"}",
      "share": "SHARE",
      "schema": "SCHEMA",
      "table": "TABLE",
      "scheduler": {
        "seconds": 60
      },
      "filter": {
        "date_field_name": "StorageDateDayBR",
        "since_datetime_value": {
          "date_value": "2024-01-01",
          "timezone": "America/Sao_Paulo"
        },
        "until_datetime_value": {
          "date_value": "2024-01-02",
          "timezone": "America/Sao_Paulo"
        },
        "tenant_field_name": "TENANT",
        "tenant_field_values": ["TENANT-A", "TENANT-B"]
      }
    }
  },
  "output": {...}
}'

Resposta

A resposta desse endpoint será no seguinte formato:

{
  "id": "FIREHOSE-ID",
  "input": {
    "id": "FIREHOSE-ID",
    "input": {
      "type": "DELTA_SHARING",
      "delta_sharing": {
        "config": "{\"shareCredentialsVersion\":1,\"bearerToken\":\"...\",\"endpoint\":\"...\",\"expirationTime\":\"...\"}",
        "share": "SHARE",
        "schema": "SCHEMA",
        "table": "TABLE",
        "scheduler": {
          "seconds": 60
        },
        "filter": {
          "date_field_name": "StorageDateDayBR",
          "since_date_value": "2023-01-01",
          "until_date_value": "2023-01-02"
        }
      }
    }
  },
  "output": {...}
}

Limitações

É necessário informar algum tenant ou bot no filtro do Delta Sharing.

Atualização

É possível realizar a seguinte requisição para atualizar as informações de filtro do Delta Sharing como a since_date_value e a until_date_value.

curl --location --request PATCH '<HOST>/v1/configs/<FIREHOSE-ID>' \
--header 'Content-Type: application/json' \
--header 'Authorization: <ACCESS-TOKEN>' \
--data '{
    "input": {
        "type": "DELTA_SHARING",
        "delta_sharing": {
            "filter": {
                "since_datetime_value": {
                    "date_value": "yyyy-MM-dd"
                },
                "until_datetime_value": {
                    "date_value": "yyyy-MM-dd"
                }
            }
        }
    }
}'

Essa requisição além de atualizar os valores do filtro irá iniciar o fluxo do Firehose realizando a requisição via Delta Sharing e entregando os dados na sindicância de saída.

Last updated