CKAN komandrindā. Izmantojiet savu termināli, lai pārbaudītu un publicētu resursus CKAN. Darbojas ar CKAN API. Izstrādāts un pielāgots Latvijas atvērto datu portālam (Comprehensive Knowledge Archive Network).
- Apmeklējiet RubyInstaller mājaslapu.
- Lejupielādējiet jaunāko RubyInstaller un DevKit versiju.
- Palaidiet instalēšanas programmu, atlasiet “Pievienot Ruby izpildāmos failus savam PATH” un noklikšķiniet uz Instalēt.
- Izpildiet instalēšanas norādījumus.
- Atveriet komandrindu vai PowerShell un ierakstiet ruby --version, lai pārbaudītu vai instalācija bijusi veiksmīga
- Instalējiet Chocolatey. Instrukcijām apmeklējiet lapu Chocolatey.
- Atveriet komandrindu vai PowerShell kā administrators.
- Lai instalētu Ruby, palaidiet komandu: choco install ruby -y.
- Atveriet komandrindu vai PowerShell un ierakstiet ruby --version, lai pārbaudītu vai instalācija bijusi veiksmīga
Windows lietotājiem ir jāinstalē MSYS2 pirms instalēšanas procesa sākšanas.
- Atveriet termināli.
- Palaidiet sudo apt update, lai atjauninātu pakešu sarakstus.
- Instalējiet Ruby, palaižot sudo apt install ruby-full.
- Kad instalācija beigusies, ierakstiet ruby --version, lai to pārbaudītu.
- Atveriet termināli.
- Palaidiet sudo yum update, lai atjauninātu pakotņu sarakstus.
- Instalējiet Ruby, palaižot sudo yum install ruby.
- Kad instalācija beigusies, ierakstiet ruby --version, lai to pārbaudītu.
- Atveriet termināli.
- Instalējiet RVM, palaižot \curl -sSL https://get.rvm.io | bash -s stable
- Aizveriet un atkārtoti atveriet termināli, lai sāktu lietot RVM.
- Instalējiet Ruby, izmantojot RVM: rvm install ruby.
- Iestatiet Ruby noklusējuma versiju: rvm use ruby --default.
- Pārbaudiet instalāciju, izmantojot ruby --version.
Dodieties uz direktoriju, kurā vēlaties instalēt ckan_cli, un palaidiet šo komandu:
git clone https://github.com/datagovlv/ckan_cli.git
Tādējādi ckan_cli repozitorijs tiks klonēts jūsu izvēlētajā direktorijā.
Dodieties uz direktoriju ckan_cli un palaidiet:
bundle install
Operētājsistēmai Windows kopējiet libcurldll no \ext\ git direktorijas uz Ruby izpildāmo failu direktoriju (piemēram, 'C:\Ruby26-x64\bin'). Pārdēvēt libcurl-32bit.dll -> libcurl.dll un libcurl-64bit.dll -> libcurl.dll
Izpildot šos norādījumus, iespējams, būs manuāli jāizpilda gem install csvlint, lai novērstu ActiveSupport kļūdas.
Dodieties uz direktoriju ckan_cli. Rīks tiek aktivizēts ar komandu:
$ exe/ckancli.rb
Piemērs, lai publicētu visas katalogā esošās CSV datnes:
$ exe/ckancli.rb upload -d /tmp/some_csv_file_folder/ -c example_files/config.json -r example_files/resource.json
Lai apskatītu palīgu, izpildiet komandu:
$ exe/ckancli.rb help
Visas pieejamās komandas un to parametri ir aprakstīti arī CKAN CLI komandrīkā ($ ckancli.rb help)
Pamatkomanda resursu ielādei ir “upload” un obligātie norādāmie parametri, lai augšupielādētu datnes CKAN, ir:
- katalogs "-d". Lokālais ceļš uz datni/katalogu vai URL uz tīmekļa resursu (jāsākas ar http vai https protokolu).
- globālā konfigurācija "-c". Ceļš uz globālās konfigurācijas datni. Ceļam jābūt absolūtam vai relatīvam attiecībā pret kataloga parametrā norādīto. Skatīt konfigurēšanas sadaļu papildu informācijai.
- resursa konfigurācija "-r". Ceļš uz resursa metadatu datni. Ceļam jābūt absolūtam vai relatīvam attiecībā pret kataloga parametrā norādīto. Skatīt konfigurēšanas sadaļu papildu informācijai.
$ exe/ckancli.rb upload -d /tmp/some_csv_file.csv -c example_files/config.json -r example_files/resource.json
Lai validētu CSV resursus, pirms to ielādes CKAN, var izmantot parametru validācijas shēmai:
- validācijas shēma "-v". Ceļš uz JSON validācijas shēmu. Ceļam jābūt absolūtam vai relatīvam attiecībā pret kataloga parametrā norādīto. Skatīt konfigurēšanas sadaļu papildu informācijai.
$ exe/ckancli.rb upload -d /tmp/some_csv_file.csv -c example_files/config.json -r example_files/resource.json -v example_files/schema.json
Pēc noklusējuma, CKAN CLI apstrādā tikai CSV datnes. Lai apstrādātu visas datnes, neatkarīgi no to paplašinājumiem, var izmantot parametru paplašinājumu ignorēšanai:
- ignorēt paplašinājumus "-i". Ja ir uzstādīts, tad tiks apstrādātas visas datnes norādītajā katalogā.
$ exe/ckancli.rb upload d /tmp/some_csv_file.csv -c example_files/config.json -r example_files/resource.json -i
Pēc noklusējuma, CKAN CLI nepārraksta resursu, ja tāds jau tika atrasts pēc resursa identifikatora. Lai pārrakstītu, var izmantot parametru pārrakstīšanai:
- pārrakstīt "-w". Ja tiek izmantots šis parametrs, tad esošs resurss tiks pārrakstīts.
$ exe/ckancli.rb upload -d /tmp/some_csv_file.csv -c example_files/config.json -r example_files/resource.json -w
Lai automātiski uzstādītu resursa modificēšanas datumu CKAN API, var izmantot parametru modificēšanas datuma atjaunošanai:
- atjaunot modificēšanas datumu "-m". Ja ir uzstādīts, resursa modificēšanas datums tiks atjaunots kopā ar tā datni uz aktuālo datumu.
$ exe/ckancli.rb upload -d /tmp/some_csv_file.csv -c example_files/config.json -r example_files/resource.json -m
Lai atjauninātu arī pakotnes metadatus, izmantojiet datu kopas konfigurācijas opciju:
- pakotnes konfigurācija "-p". Ceļš uz metadatu failu. Ceļam jābūt absolūtam vai relatīvam pret direktoriju, kurā tiek izpildīta komanda. Plašāku informāciju skatiet konfigurācijas sadaļā.
$ exe/ckancli.rb upload -d /tmp/some_csv_file.csv -c example_files/config.json -r example_files/resource.json -p example_files/package.json
Piemēra datnes, tai skaitā shēmas un konfigurācijas datnes, ir pieejamas 'example_files' katalogā
Satur konfigurāciju pieslēgumam ar CKAN API un e-pastu notifikāciju uzstādījumus (sekcijas "email_server" un "notification_receiver" nav obligātas).
{
"ckan_api":{
"api_key":"YOUR_CKAN_API_KEY",
"url":"https://data.gov.lv/api/3/"
},
"email_server": {
"address": "smtp.yourdomain.com",
"port": "25",
"ssl": false,
"smtp_user": null,
"smtp_password": null,
"sender": "ckancli@data.gov.lv",
"subject": "CKAN CLI task summary"
},
"notification_receiver": {
"error": "mail_one@yourdomain.com",
"success": "mail_one@yourdomain.com, mail_two@yourdomain.com"
}
}
Satur konfigurāciju resursa metadatiem (parametri atbilst CKAN API vadlīnijām).
- Ja resursa nosaukums nav norādīts, tiks izmantots datnes nosaukums.
- Ja resursa identifikators nav norādīts, tiks veidots jauns resurss norādītajā datu kopā.
{
"result": {
"name": "CKAN CLI file",
"package_name": "ta",
"package_id": "d1819200-121a-4452-8868-34f2c2a898c1",
"last_modified": "2019-05-14T05:12:21.257451",
"package_title": "TA",
"id": "15f950f0-1d50-467f-8db3-87366d30f7db"
},
"success": true
}
Satur konfigurāciju datu kopas metadatiem (parametri atbilstoši CKAN API vadlīnijām).
{
"result": {
"frequency": "http://publications.europa.eu/mdr/authority/frequency/DAILY",
"id": "d1819200-121a-4452-8868-34f2c2a898c1",
"metadata_modified": "2019-08-06T06:39:18.422714",
"name": "cli",
"title": "CKAN CLI test"
},
"success": true
}
CSV datnes var tikt pārbaudītas, izmantojot CSV shēmu. Struktūra atbilst JSON tabulu shēmai JSON Table Schema. Detalizēts validāciju apraksts ir pieejams CSV Lint project.
{
"fields": [
{
"name": "id",
"constraints": {
"required": true,
"type": "http://www.w3.org/2001/XMLSchema#int"
}
},
{
"name": "price",
"constraints": {
"required": true,
"minLength": 1
}
},
{
"name": "postcode",
"constraints": {
"required": true,
"pattern": "[A-Z]{1,2}[0-9]{4}"
}
}
]
}
Pievienot šo rindu savas Ruby aplikācijas Gemfile datnē:
gem 'ckan_cli'
Un izpildīt komandu:
$ bundle
Jebkuram, veicot manipulācijas ar CKAN CLI projekta koda bāzi, to modificējot vai izplatot, jāievēro publicētais rīcības kodekss.
Autortiesības (c) 2019 datagovlv. Skatīt MIT Licenci papildu detaļām.