GET
/
api
/
v1
/
dataflow
/
shapes
curl -X GET \
  "https://api.datasnap.com.br/api/v1/dataflow/shapes" \
  -H "Authorization: Bearer SEU_TOKEN_AQUI"
[
  {
    "id": 6,
    "name": "AMD Small",
    "architecture": "amd",
    "default_driver_from_this_architecture": true,
    "shape": "VM.Standard.E3.Flex",
    "ocpus": 1,
    "memory_gb": 8,
    "recommended_file_size_gb": "10.00",
    "final_cost_per_hour": "0.14"
  },
  {
    "id": 7,
    "name": "AMD Medium",
    "architecture": "amd",
    "default_driver_from_this_architecture": false,
    "shape": "VM.Standard.E3.Flex",
    "ocpus": 2,
    "memory_gb": 16,
    "recommended_file_size_gb": "25.00",
    "final_cost_per_hour": "0.27"
  },
  {
    "id": 8,
    "name": "AMD Large",
    "architecture": "amd",
    "default_driver_from_this_architecture": false,
    "shape": "VM.Standard.E3.Flex",
    "ocpus": 4,
    "memory_gb": 32,
    "recommended_file_size_gb": "45.00",
    "final_cost_per_hour": "0.54"
  },
  {
    "id": 3,
    "name": "Intel Small",
    "architecture": "intel",
    "default_driver_from_this_architecture": true,
    "shape": "VM.Standard2.1",
    "ocpus": 1,
    "memory_gb": 15,
    "recommended_file_size_gb": "15.00",
    "final_cost_per_hour": "0.23"
  },
  {
    "id": 4,
    "name": "Intel Medium",
    "architecture": "intel",
    "default_driver_from_this_architecture": false,
    "shape": "VM.Standard2.2",
    "ocpus": 2,
    "memory_gb": 30,
    "recommended_file_size_gb": "30.00",
    "final_cost_per_hour": "0.44"
  },
  {
    "id": 5,
    "name": "Intel Large",
    "architecture": "intel",
    "default_driver_from_this_architecture": false,
    "shape": "VM.Standard2.4",
    "ocpus": 4,
    "memory_gb": 60,
    "recommended_file_size_gb": "60.00",
    "final_cost_per_hour": "0.84"
  }
]

Entendendo o DataFlow

Para iniciantes: O DataFlow é o sistema de processamento distribuído da DataSnap que analisa seus arquivos usando múltiplas máquinas virtuais trabalhando em conjunto.

Como Funciona a Arquitetura do DataFlow

O DataFlow utiliza uma arquitetura Driver + Executor:
  • Driver: A “mente” do sistema que coordena todo o trabalho e toma decisões sobre como processar os dados
  • Executor: Os “trabalhadores” que fazem o processamento pesado dos seus arquivos
Importante: Para executar um workflow, o sistema sempre precisa de no mínimo 2 CPUs:
  • 1 CPU para o Driver (selecionado automaticamente)
  • 1+ CPUs para o Executor (que você escolhe através do shape)

O que são Shapes?

Shapes são “moldes” ou configurações pré-definidas que determinam:
  • Quantos CPUs terão as máquinas
  • Quanta memória RAM estará disponível
  • Qual arquitetura de processador será usada (AMD ou Intel)
  • Quanto custará por hora de processamento

Entendendo default_driver_from_this_architecture

Quando você escolhe um shape para o executor, o sistema automaticamente seleciona o driver baseado na mesma arquitetura. Exemplo prático:
  • Se você escolher um shape AMD (como “AMD Medium”) para o executor
  • O sistema automaticamente usará o shape marcado com default_driver_from_this_architecture: true da arquitetura AMD para o driver
  • No exemplo da resposta abaixo, seria o “AMD Small” (ID 6) para o driver
  • Resultado: Driver AMD + Executor AMD = processamento otimizado na mesma arquitetura
Por que isso importa?
  • Máquinas da mesma arquitetura se comunicam melhor
  • Reduz latência entre driver e executor
  • Melhora performance geral do processamento
  • Evita incompatibilidades entre diferentes tipos de processador

Autenticação

Este endpoint requer autenticação. Inclua seu token Bearer no cabeçalho Authorization.
Authorization: Bearer SEU_TOKEN_AQUI

Resposta

data
array
Array de objetos de shape disponíveis
curl -X GET \
  "https://api.datasnap.com.br/api/v1/dataflow/shapes" \
  -H "Authorization: Bearer SEU_TOKEN_AQUI"
[
  {
    "id": 6,
    "name": "AMD Small",
    "architecture": "amd",
    "default_driver_from_this_architecture": true,
    "shape": "VM.Standard.E3.Flex",
    "ocpus": 1,
    "memory_gb": 8,
    "recommended_file_size_gb": "10.00",
    "final_cost_per_hour": "0.14"
  },
  {
    "id": 7,
    "name": "AMD Medium",
    "architecture": "amd",
    "default_driver_from_this_architecture": false,
    "shape": "VM.Standard.E3.Flex",
    "ocpus": 2,
    "memory_gb": 16,
    "recommended_file_size_gb": "25.00",
    "final_cost_per_hour": "0.27"
  },
  {
    "id": 8,
    "name": "AMD Large",
    "architecture": "amd",
    "default_driver_from_this_architecture": false,
    "shape": "VM.Standard.E3.Flex",
    "ocpus": 4,
    "memory_gb": 32,
    "recommended_file_size_gb": "45.00",
    "final_cost_per_hour": "0.54"
  },
  {
    "id": 3,
    "name": "Intel Small",
    "architecture": "intel",
    "default_driver_from_this_architecture": true,
    "shape": "VM.Standard2.1",
    "ocpus": 1,
    "memory_gb": 15,
    "recommended_file_size_gb": "15.00",
    "final_cost_per_hour": "0.23"
  },
  {
    "id": 4,
    "name": "Intel Medium",
    "architecture": "intel",
    "default_driver_from_this_architecture": false,
    "shape": "VM.Standard2.2",
    "ocpus": 2,
    "memory_gb": 30,
    "recommended_file_size_gb": "30.00",
    "final_cost_per_hour": "0.44"
  },
  {
    "id": 5,
    "name": "Intel Large",
    "architecture": "intel",
    "default_driver_from_this_architecture": false,
    "shape": "VM.Standard2.4",
    "ocpus": 4,
    "memory_gb": 60,
    "recommended_file_size_gb": "60.00",
    "final_cost_per_hour": "0.84"
  }
]

Uso

Este endpoint é usado para descobrir os IDs dos shapes disponíveis que podem ser utilizados no endpoint de Processar Arquivos do Schema.
Use o campo id do shape escolhido como valor para o parâmetro shape_id no endpoint de processamento.
Os shapes marcados com default_driver_from_this_architecture: true são os shapes padrão recomendados para suas respectivas arquiteturas.