API de Ciencia de Datos en GECI

26 Jun 2018 - Evaristo

Nota: Este post describe un flujo de trabajo anterior a las convenciones actuales. Consulta la Guía de Estilo para las convenciones vigentes.

Puedes usar la API RESTful de Ciencia de Datos en GECI mediante cURL.

Descargar datos (GET)

Descarga los datos desde el localhost:

curl "http://localhost/v1/data?variable=nest_count&source=census"

Descarga los datos de Internet:

curl -u evaristo.rojas:contraseña "https://islas.org.mx/v1/data?variable=nest_count&source=census"

Refina la búsqueda agregando parámetros.

curl "http://localhost/v1/data?\
    variable=nest_count&\
    source=census&\
    taxon=LAAL&\
    region=guadalupe&\
    season=2018"

Lee los criterios de búsqueda desde un JSON y descarga los datos en formato DPZ (ZIP con data package comprimido).

curl -X POST http://localhost/v1/data \
  -H "Content-Type: application/json" \
  -d @busqueda.json \
  -o inst/extdata/datapackage.dpz

Donde busqueda.json contiene:

{
    "variable": "nest_count",
    "source": "census",
    "taxon": "LAAL",
    "region": "guadalupe",
    "season": "2018",
    "format": "dpz",
}

Subir datos (PUT)

Agrega una observación a la base de datos.

curl -X POST http://localhost/v1/data \
  -F "observacion=@observacion.json"

Sube un archivo que contenga varias observaciones.

curl -X POST http://localhost/v1/data \
  --header "Content-Type: application/octet-stream" \
  --data-binary @data.xlsx
curl -X POST http://localhost/v1/data \
  -F "recurso=@tabla.csv" \
  -F "descriptor=@datapackage.json;type=application/json"
curl -X POST http://localhost/v1/data \
  --header "Content-Type: application/zip" \
  --data-binary @datapackage.dpz