501 Not Implemented on devices/tenant endpoint - eclipse-hono

I'm running Hono v1.4.0, but get 501 Not Implemented when calling the devices endpoint with:
http://{{REGISTRY_IP}}:{{REGISTRY_PORT_HTTP}}/v1/devices/{{TENANT}}?enabled=false
Am I doing something wrong?

The search Devices operation is implemented in the Mongo DB based registry only in 1.4.0. The implementation for the file based registry has been recently added to the master branch and will be available in 1.5.0.
Apart from that, the syntax for the query you are using is wrong. Please refer to the Registry API documentation for the correct syntax of the filterJson query parameter. Note that you will need to properly URL encode the parameter value ...

With 501 Not Implemented response, I understood that you are using the file based device registry. In Hono 1.4.0, this search devices operation has been implemented only in the MongoDB based device registry and not in the file-based counterpart. This feature in the file based registry is planned for 1.5.0 release. I would suggest to use the MongoDB based device registry, where this feature already exists.

Related

Clustered HTTP sessions using Hazelcast in jhipster generator

Which options to pick during application generation for being able to pick the option:
Clustered HTTP sessions using Hazelcast
This option is mentioned in the documentation https://www.jhipster.tech/creating-an-app/#2
But somehow I am not able to pick it. Is is automatically selected when I choose hazelcast as cache provider?
Is there an equivalent yo-rc.json setting?
It has been removed with this PR following a public vote on our mailing list. So obviously the documentation has not been updated.

Elasticsearch Connector for Presto does not support username and password

We have hosted an elastic search V7.11.2 on our non-cloud ecosystem. We are using presto V0.248 to connect to it.
Our Elastic Search is secured with a basic authentication system (currently is NON-SSL) we are able to connect but due to authentication enabled we are getting 401 HTTP status. As per the documentation we currently don't see any header adding or option to add username or password to presto connector.
Any help or pointer on how to enable the same.
Prestodb doesn't support user/password authentication for Elasticsearch. You may want to look at Trino (a fork of prestodb by its creators and major contributors, formerly known as PrestoSQL), which has had this feature since version 337 (latest version is 354): https://trino.io/docs/current/connector/elasticsearch.html#elasticsearch-auth-user

How to listen to DB changes in Azure Cosmos DB from Node App

Azure CosmosDB provides changed feed feature.
One can listen to DB changes and run business logic in response.
Is there a way this can be achieved in a Node App?
There is a change feed processor library, but I didn't come across any node SDK to use it.
If any one can provide few pointers how this can be achieved it will be great.
There is currently no equivalent of the Change Feed processor library for Node.
However the Node.js SDK allows you to query the change feed itself manually. You can find an example here: https://learn.microsoft.com/en-us/azure/cosmos-db/change-feed#can-i-read-change-feed-using-javascript
This however means that you will have to write the automated process yourself and you can't be notified only when there is a change. You will have to keep previous and next states and compare what's new and what's not.
You can also achieve automated change feed processing using the Azure Functions trigger which can be used in Node.js (thanks Matias). You can find more info on that here: https://learn.microsoft.com/en-us/azure/cosmos-db/change-feed#using-azure-functions
Also this link has a CosmosDB binding example in js (double thanks Matias): https://learn.microsoft.com/en-us/azure/azure-functions/functions-bindings-cosmosdb#trigger---javascript-example

Akka (JVM) event-sourcing in Azure?

I am trying to deploy an Akka application on Azure, that uses the journal persistence plugin.
I cannot find a working combination when it comes to the persistence plugin I should use.
So far I looked into:
akka-persistence-mongo and Azure Document Store with Mongo driver: it does not work because akka-persistence-mongo is not compatible with the latest reactive-mongo version that supports SSL
akka-persistence-jdbc and an Azure SQL server: it seems the akka-persistence-jdbc is only compatible with Slick H2, Oracle and MySQL drivers
I do not have any strong performance requirements, this is why both solutions would have worked.
My best guess for the moment is akka-persistence-redis with Microsoft Azure Redis.
I am proposing a contribution to this plugin to make it compatible with Microsoft Azure Redis (authentication, as well as a strange error when calling zrangebyscore that I do not have with a local Redis).

What is OpenCMIS Bridge?

I just noticed this project at Apache OpenCMIS:
https://svn.apache.org/repos/asf/chemistry/opencmis/trunk/chemistry-opencmis-bridge
There is no description, no documentation, and reading the code does not give many hints about what it is supposed to do.
Apache OpenCMIS sometimes releases great software silently, with little communication, so we might be missing another great piece of software here.
A Google Search for "OpenCMIS Bridge" returns only source code and the bare download page.
The OpenCMIS Bridge works like a proxy server. It accepts CMIS requests and forwards them to a CMIS server. On the way it can change the binding, and filter, enrich and federate data.
Here are few use cases:
If a repository does not support the CMIS 1.1 browser binding, you can put the OpenCMIS Bridge in front of it. The bridge then could talk JSON to the client and AtomPub to the server. The client wouldn't notice that the server doesn't support the browser binding.
Code can be added to the bridge to redact property values or filter whole objects when they are transferred through the bridge. That could add another level of security that the native repository doesn't support.
Code can also be added to add or enrich object data. For example, property values could be translated from cryptic codes into readable values. Virtual secondary types can be added on the fly. Or additional renditions could be provided.
The bridge can also be used to provide different views of multiple repositories. Repositories of different vendors can be access through one unified endpoint. It's possible to build one virtual repository across multiple backend repositories that then, for example, allows a federated query across all backends.
The OpenCMIS Bridge is only a framework, though. It just provides the infrastructure and the hooks to add your own code and rules.
If you are looking for a real world application, check SAP Document Center (formerly "SAP Mobile Documents"). It is based on the OpenCMIS Bridge.

Resources