Para rodar o FIWARE com docker-compose use:
git clone https://github.com/FIWARE/tutorials.Getting-Started.git
cd tutorials.Getting-Started
git checkout NGSI-v2
docker-compose -p fiware up -d
para mais detalhes da instalaçao, pode consultar o tutoral que pegamos o docker file ou visitar o site FIWARE para consultar a documentação.
Nossas entidades serão SERVIÇOS ou API ou Microserviços ( ex.: payments, accounts, shopping...)
Para listas as entidades que existem, podemos usar:
curl -iX GET 'http://localhost:1026/v2/entities'
Nesse momento você nao irá receber nenhuma entidade, ja que ainda nao cadastramos.
Vamos criar o primeiro microsserviço
curl -iX POST \
'http://localhost:1026/v2/entities' \
-H 'Content-Type: application/json' \
-d '
{
"id": "urn:ngsi-ld:microservice:001",
"type": "microservice",
"team": {
"type": "team",
"value": {
"name": "Team Name Accounts",
"email": "[email protected]"
},
"metadata": {
"verified": {
"value": true,
"type": "Boolean"
}
}
},
"name": {
"type": "Text",
"value": "Accounts_Api"
}
}'
Se voce realizar novamente o get na listagem de enteidades, voce ira ver o um elemento. Vamos cadastrar mais 2, Seguindo esse mesmo padrao.
Payments
curl -iX POST \
'http://localhost:1026/v2/entities' \
-H 'Content-Type: application/json' \
-d '
{
"id": "urn:ngsi-ld:microservice:002",
"type": "microservice",
"team": {
"type": "team",
"value": {
"name": "Team Name Paymets",
"email": "[email protected]"
},
"metadata": {
"verified": {
"value": true,
"type": "Boolean"
}
}
},
"name": {
"type": "Text",
"value": "Paymets_Api"
}
}'
shopping
curl -iX POST \
'http://localhost:1026/v2/entities' \
-H 'Content-Type: application/json' \
-d '
{
"id": "urn:ngsi-ld:microservice:003",
"type": "microservice",
"team": {
"type": "team",
"value": {
"name": "Team Name shopping",
"email": "[email protected]"
},
"metadata": {
"verified": {
"value": true,
"type": "Boolean"
}
}
},
"name": {
"type": "Text",
"value": "shopping_api"
}
}'
Agora se listar as entidades, teremos 3.
Conseguimos ver uma entidede usando o id dela, dessa forma:
curl -G -X GET \
'http://localhost:1026/v2/entities/urn:ngsi-ld:microservice:001' \
-d 'options=keyValues'
ou usando filtros
curl -G -X GET \
'http://localhost:1026/v2/entities' \
-d 'type=microservice' \
-d 'options=keyValues'
Ou ainda com mais subparametros
curl -G -X GET \
'http://localhost:1026/v2/entities' \
-d 'type=microservice' \
-d 'q=name~=_Api' \
-d 'options=keyValues'
com o q=name~=_Api
irá aparecer 2, ou o q=name~=_api
irá aparecer 1. propositalmente, fiz o cadastro dessa forma para mostrar essa forma de filtrar.
Ou seja, existe diferenca entre maisuculo e minúsculo.