Uploaded image for project: 'Help-Desk'
  1. Help-Desk
  2. HELP-13274

[fiware-stackoverflow] How to remove the following character "/" from service path

    Details

      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?

      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!

        Issue Links

          Activity

          Transition Time In Source Status Execution Times Last Executer Last Execution Date
          Open Open In Progress In Progress
          5d 14h 35m 1 Andres Muñoz 18/Jan/18 10:24 AM
          In Progress In Progress Answered Answered
          2s 1 Andres Muñoz 18/Jan/18 10:24 AM
          Answered Answered Closed Closed
          13s 1 Andres Muñoz 18/Jan/18 10:24 AM
          fla Fernando Lopez made changes -
          Fix Version/s 2021 [ 12600 ]
          joaquin.salvachua Joaquín Salvachúa made changes -
          Assignee Joaquín Salvachúa [ joaquin.salvachua ] Andres Muñoz [ andres.munoza ]
          fla Fernando Lopez made changes -
          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!
          andres.munoza Andres Muñoz made changes -
          Link This issue is blocked by HELP-13045 [ HELP-13045 ]
          andres.munoza Andres Muñoz made changes -
          Resolution Done [ 10000 ]
          Status Answered [ 10104 ] Closed [ 6 ]
          andres.munoza Andres Muñoz made changes -
          Status In Progress [ 3 ] Answered [ 10104 ]
          andres.munoza Andres Muñoz made changes -
          Status Open [ 1 ] In Progress [ 3 ]
          Hide
          andres.munoza Andres Muñoz added a comment -

          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.

          Show
          andres.munoza Andres Muñoz added a comment - 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.
          fla Fernando Lopez made changes -
          Assignee Joaquín Salvachúa [ joaquin.salvachua ]
          backlogmanager Backlog Manager made changes -
          Field Original Value New Value
          Component/s FIWARE-TECH-HELP [ 10278 ]
          Hide
          backlogmanager Backlog Manager added a comment -

          2018-01-12 19:48|CREATED monitor | # answers= 0, accepted answer= False

          Show
          backlogmanager Backlog Manager added a comment - 2018-01-12 19:48|CREATED monitor | # answers= 0, accepted answer= False
          backlogmanager Backlog Manager created issue -

            People

            • Assignee:
              andres.munoza Andres Muñoz
              Reporter:
              backlogmanager Backlog Manager
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: