Skip to content

Instantly share code, notes, and snippets.

@mapcentia
Last active July 6, 2018 09:13
Show Gist options
  • Select an option

  • Save mapcentia/d72d6aecb5fb1ba078842f1ee5c95396 to your computer and use it in GitHub Desktop.

Select an option

Save mapcentia/d72d6aecb5fb1ba078842f1ee5c95396 to your computer and use it in GitHub Desktop.
# Følgende viser hvordan man kan bruge GC2 Admin API'et uden selve Admin web-applikationen.
# API'et er session baseret og kræver, at der sendes en cookie med hver request.
#
# GC2 Admin bruger Blob.slice() til at chunke filer og uploade 1MB ad gangen.
# Følgende eksempel uploader hele filen på en gang og det er en god ide at øge PHPs upload_max_filesize setting.
# Det gøres ved at åbne fpm/php.ini på hosten og ændre "upload_max_filesize=2M" til et større tal.
# Derefter genstartes PHP med "docker exec gc2core service php5-fpm restart"
# I følgende eksemple bruges programmet cURL.
# Start en session op og modtag et sessionsid som kan bruges i PHPSESSID cookie'en
# u= og p= er Admin user og paasword
curl -XPOST "http://127.0.0.1:8080/api/v1/session/start" -d "u=mydb&p=1234&s=public"
# Output
# {"success":true,"message":"Session started","screen_name":"mydb","session_id":"h9ur0jhmel7ah853dh2gtfvp93","subuser":false,"api_key":"184adc59234c22619c347fc05510877d","_execution_time":0.014}
# Nu kan "session_id" bruges i API kald ved at sætte PHPSESSID cookie'en
# Det aktive schema er fastsat i sessionen.
# Der er ikke noget dedikeret API til at sætte schema,
# så man kan kalde selve GC2 Admin for at sætte det.
curl -XGET -i --cookie "PHPSESSID=2erijrttomd2vl9smef8oq5vc7" "http://127.0.0.1:8080/store/mydb/myschema"
# Upload af raster fil. Dette kald uploader filen til GC2 serverens filsystem
curl -XPOST --cookie "PHPSESSID=2erijrttomd2vl9smef8oq5vc7" "http://127.0.0.1:8080/controllers/upload/raster" -F file=@DTM10_631_52.asc -F name="DTM10_631_52.asc"
# Efter upload kan filen indlæses i databasen. name= er navnet på den nye tabel.
# Der må IKKE bruges et schema qualified navn alá "mit_schema.min_tabel"
curl -XGET --cookie "PHPSESSID=2erijrttomd2vl9smef8oq5vc7" "http://127.0.0.1:8080/controllers/upload/processraster?srid=25832&file=DTM10_631_52.asc&name=DTM10_631_52&displayfile=false"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment