Details
-
Type: Monitor
-
Status: Closed
-
Priority: Major
-
Resolution: Done
-
Affects Version/s: None
-
Fix Version/s: 2021
-
Component/s: FIWARE-TECH-HELP
-
Labels:
-
HD-Enabler:Cygnus
Description
Created question in FIWARE Q/A platform on 13-12-2017 at 11:12
Please, ANSWER this question AT https://stackoverflow.com/questions/47790426/how-to-remove-the-following-character-from-service-path
Question:
How to remove the following character "/" from service path
Description:
Good Morning!
Currently I have set up my structure in Fiware saving my historical records in MongoDB, for this I have been using Mlab as a hosting.
I attache the configuration file of my agent, the problem comes in that due to the mandatory character "/" of the service path I can not access the generated historical data, since it is a character not allowed for collections in MongoDB.
agent_1.conf
cygnus-ngsi.sources = http-source
cygnus-ngsi.sinks = mongo-sink
cygnus-ngsi.channels = mongo-channel
cygnus-ngsi.sources.http-source.channels = mongo-channel
cygnus-ngsi.sources.http-source.type = org.apache.flume.source.http.HTTPSource
cygnus-ngsi.sources.http-source.port = 5050
cygnus-ngsi.sources.http-source.handler = com.telefonica.iot.cygnus.handlers.NGSIRestHandler
cygnus-ngsi.sources.http-source.handler.notification_target = /notify
cygnus-ngsi.sources.http-source.handler.default_service = default
cygnus-ngsi.sources.http-source.handler.default_service_path = /sevilla
cygnus-ngsi.sources.http-source.handler.events_ttl = 2
cygnus-ngsi.sources.http-source.interceptors = ts
cygnus-ngsi.sources.http-source.interceptors.ts.type = timestamp
cygnus-ngsi.sinks.mongo-sink.type = com.telefonica.iot.cygnus.sinks.NGSIMongoSink
cygnus-ngsi.sinks.mongo-sink.channel = mongo-channel
cygnus-ngsi.sinks.mongo-sink.enable_encoding = false
cygnus-ngsi.sinks.mongo-sink.enable_grouping = false
cygnus-ngsi.sinks.mongo-sink.enable_name_mappings = false
cygnus-ngsi.sinks.mongo-sink.enable_lowercase = false
cygnus-ngsi.sinks.mongo-sink.data_model = dm-by-service-path
cygnus-ngsi.sinks.mongo-sink.attr_persistence = row
cygnus-ngsi.sinks.mongo-sink.mongo_hosts = ds******.mlab.com:35866
cygnus-ngsi.sinks.mongo-sink.mongo_username = my_user
cygnus-ngsi.sinks.mongo-sink.mongo_password = ********
cygnus-ngsi.sinks.mongo-sink.db_prefix = sth_
cygnus-ngsi.sinks.mongo-sink.collection_prefix = sth_
cygnus-ngsi.sinks.mongo-sink.batch_size = 1
cygnus-ngsi.sinks.mongo-sink.batch_timeout = 30
cygnus-ngsi.sinks.mongo-sink.batch_ttl = 10
cygnus-ngsi.sinks.mongo-sink.data_expiration = 0
cygnus-ngsi.sinks.mongo-sink.collections_size = 0
cygnus-ngsi.sinks.mongo-sink.max_documents = 0
cygnus-ngsi.sinks.mongo-sink.ignore_white_spaces = true
cygnus-ngsi.channels.mongo-channel.type = com.telefonica.iot.cygnus.channels.CygnusMemoryChannel
cygnus-ngsi.channels.mongo-channel.capacity = 1000
cygnus-ngsi.channels.mongo-channel.transactionCapacity = 100
Is there any way for Cygnus to remove the "/" character from the service path?
SOLUTION: You just have to change the enconding to true in the agent configuration
cygnus-ngsi.sinks.mongo-sink.enable_encoding = true
Thank you very much!
Issue Links
- is blocked by
-
HELP-13045 [Fiware-lab-help] How to remove the following character “/” from service path
- Closed
Activity
Transition | Time In Source Status | Execution Times | Last Executer | Last Execution Date | |||||
---|---|---|---|---|---|---|---|---|---|
|
5d 14h 35m | 1 | Andres Muñoz | 18/Jan/18 10:24 AM | |||||
|
2s | 1 | Andres Muñoz | 18/Jan/18 10:24 AM | |||||
|
13s | 1 | Andres Muñoz | 18/Jan/18 10:24 AM |
Fix Version/s | 2021 [ 12600 ] |
Assignee | Joaquín Salvachúa [ joaquin.salvachua ] | Andres Muñoz [ andres.munoza ] |
HD-Enabler | Cygnus [ 11304 ] | |
Description |
Created question in FIWARE Q/A platform on 13-12-2017 at 11:12 {color: red}Please, ANSWER this question AT{color} https://stackoverflow.com/questions/47790426/how-to-remove-the-following-character-from-service-path +Question:+ How to remove the following character "/" from service path +Description:+ Good Morning! Currently I have set up my structure in Fiware saving my historical records in MongoDB, for this I have been using Mlab as a hosting. I attache the configuration file of my agent, the problem comes in that due to the mandatory character "/" of the service path I can not access the generated historical data, since it is a character not allowed for collections in MongoDB. agent_1.conf cygnus-ngsi.sources = http-source cygnus-ngsi.sinks = mongo-sink cygnus-ngsi.channels = mongo-channel cygnus-ngsi.sources.http-source.channels = mongo-channel cygnus-ngsi.sources.http-source.type = org.apache.flume.source.http.HTTPSource cygnus-ngsi.sources.http-source.port = 5050 cygnus-ngsi.sources.http-source.handler = com.telefonica.iot.cygnus.handlers.NGSIRestHandler cygnus-ngsi.sources.http-source.handler.notification_target = /notify cygnus-ngsi.sources.http-source.handler.default_service = default cygnus-ngsi.sources.http-source.handler.default_service_path = /sevilla cygnus-ngsi.sources.http-source.handler.events_ttl = 2 cygnus-ngsi.sources.http-source.interceptors = ts cygnus-ngsi.sources.http-source.interceptors.ts.type = timestamp cygnus-ngsi.sinks.mongo-sink.type = com.telefonica.iot.cygnus.sinks.NGSIMongoSink cygnus-ngsi.sinks.mongo-sink.channel = mongo-channel cygnus-ngsi.sinks.mongo-sink.enable_encoding = false cygnus-ngsi.sinks.mongo-sink.enable_grouping = false cygnus-ngsi.sinks.mongo-sink.enable_name_mappings = false cygnus-ngsi.sinks.mongo-sink.enable_lowercase = false cygnus-ngsi.sinks.mongo-sink.data_model = dm-by-service-path cygnus-ngsi.sinks.mongo-sink.attr_persistence = row cygnus-ngsi.sinks.mongo-sink.mongo_hosts = ds******.mlab.com:35866 cygnus-ngsi.sinks.mongo-sink.mongo_username = my_user cygnus-ngsi.sinks.mongo-sink.mongo_password = ******** cygnus-ngsi.sinks.mongo-sink.db_prefix = sth_ cygnus-ngsi.sinks.mongo-sink.collection_prefix = sth_ cygnus-ngsi.sinks.mongo-sink.batch_size = 1 cygnus-ngsi.sinks.mongo-sink.batch_timeout = 30 cygnus-ngsi.sinks.mongo-sink.batch_ttl = 10 cygnus-ngsi.sinks.mongo-sink.data_expiration = 0 cygnus-ngsi.sinks.mongo-sink.collections_size = 0 cygnus-ngsi.sinks.mongo-sink.max_documents = 0 cygnus-ngsi.sinks.mongo-sink.ignore_white_spaces = true cygnus-ngsi.channels.mongo-channel.type = com.telefonica.iot.cygnus.channels.CygnusMemoryChannel cygnus-ngsi.channels.mongo-channel.capacity = 1000 cygnus-ngsi.channels.mongo-channel.transactionCapacity = 100 Is there any way for Cygnus to remove the "/" character from the service path? Error: http://www.subirimagenes.com/imagedata.php?url=http://s2.subirimagenes.com/imagen/9827048captura-de-pantalla.png SOLUTION: You just have to change the enconding to true in the agent configuration cygnus-ngsi.sinks.mongo-sink.enable_encoding = true Thank you very much! |
Created question in FIWARE Q/A platform on 13-12-2017 at 11:12
{color: red}Please, ANSWER this question AT{color} https://stackoverflow.com/questions/47790426/how-to-remove-the-following-character-from-service-path +Question:+ How to remove the following character "/" from service path +Description:+ Good Morning! Currently I have set up my structure in Fiware saving my historical records in MongoDB, for this I have been using Mlab as a hosting. I attache the configuration file of my agent, the problem comes in that due to the mandatory character "/" of the service path I can not access the generated historical data, since it is a character not allowed for collections in MongoDB. agent_1.conf cygnus-ngsi.sources = http-source cygnus-ngsi.sinks = mongo-sink cygnus-ngsi.channels = mongo-channel cygnus-ngsi.sources.http-source.channels = mongo-channel cygnus-ngsi.sources.http-source.type = org.apache.flume.source.http.HTTPSource cygnus-ngsi.sources.http-source.port = 5050 cygnus-ngsi.sources.http-source.handler = com.telefonica.iot.cygnus.handlers.NGSIRestHandler cygnus-ngsi.sources.http-source.handler.notification_target = /notify cygnus-ngsi.sources.http-source.handler.default_service = default cygnus-ngsi.sources.http-source.handler.default_service_path = /sevilla cygnus-ngsi.sources.http-source.handler.events_ttl = 2 cygnus-ngsi.sources.http-source.interceptors = ts cygnus-ngsi.sources.http-source.interceptors.ts.type = timestamp cygnus-ngsi.sinks.mongo-sink.type = com.telefonica.iot.cygnus.sinks.NGSIMongoSink cygnus-ngsi.sinks.mongo-sink.channel = mongo-channel cygnus-ngsi.sinks.mongo-sink.enable_encoding = false cygnus-ngsi.sinks.mongo-sink.enable_grouping = false cygnus-ngsi.sinks.mongo-sink.enable_name_mappings = false cygnus-ngsi.sinks.mongo-sink.enable_lowercase = false cygnus-ngsi.sinks.mongo-sink.data_model = dm-by-service-path cygnus-ngsi.sinks.mongo-sink.attr_persistence = row cygnus-ngsi.sinks.mongo-sink.mongo_hosts = ds******.mlab.com:35866 cygnus-ngsi.sinks.mongo-sink.mongo_username = my_user cygnus-ngsi.sinks.mongo-sink.mongo_password = ******** cygnus-ngsi.sinks.mongo-sink.db_prefix = sth_ cygnus-ngsi.sinks.mongo-sink.collection_prefix = sth_ cygnus-ngsi.sinks.mongo-sink.batch_size = 1 cygnus-ngsi.sinks.mongo-sink.batch_timeout = 30 cygnus-ngsi.sinks.mongo-sink.batch_ttl = 10 cygnus-ngsi.sinks.mongo-sink.data_expiration = 0 cygnus-ngsi.sinks.mongo-sink.collections_size = 0 cygnus-ngsi.sinks.mongo-sink.max_documents = 0 cygnus-ngsi.sinks.mongo-sink.ignore_white_spaces = true cygnus-ngsi.channels.mongo-channel.type = com.telefonica.iot.cygnus.channels.CygnusMemoryChannel cygnus-ngsi.channels.mongo-channel.capacity = 1000 cygnus-ngsi.channels.mongo-channel.transactionCapacity = 100 Is there any way for Cygnus to remove the "/" character from the service path? Error: http://www.subirimagenes.com/imagedata.php?url=http://s2.subirimagenes.com/imagen/9827048captura-de-pantalla.png SOLUTION: You just have to change the enconding to true in the agent configuration cygnus-ngsi.sinks.mongo-sink.enable_encoding = true Thank you very much! |
Link |
This issue is blocked by |
Resolution | Done [ 10000 ] | |
Status | Answered [ 10104 ] | Closed [ 6 ] |
Status | In Progress [ 3 ] | Answered [ 10104 ] |
Status | Open [ 1 ] | In Progress [ 3 ] |
Assignee | Joaquín Salvachúa [ joaquin.salvachua ] |
Field | Original Value | New Value |
---|---|---|
Component/s | FIWARE-TECH-HELP [ 10278 ] |
Hello,
The question was answered by the same user that creates the ticket franciclogreen and complemented by frb, the solution was to change the encoding to true in the agent configuration and the explanation of why have to do that is:
The slash is forbidden in MongoDB database names, that's why Cygnus composes database names from the FIWARE service (which does not contain any slash). On the other hand, the slash is not forbidden in MongoDB collection names, which are composed by Cygnus based on the FIWARE service path (which contains a initial slash). Being said that, if your viewer has any problem with MongoDB collections containing the slash, you are right the only option for you is to enable the encoding of non ASCII characters through enable_encoding=true configuration.