DCP available in .Net SDK?

dcp

#1

Is DCP available for C#?! Would like to use it but not sure where to start with it!!

With kind regards,

Michael


#2

To my knowledge there is no official DCP client. I know of a third-party DCP option for C#, but I’m not sure if it’s been open sourced or not. Let me check into it for you.

Brant


#3

Any news on this subject? Not really in a hurry but DCP in .Net would help me to map out the strategy I have in my mind. I would like to make a Proof of Concept with it…

Thanks in advance,

Michael


#4

@mhensen -

As @btburnett3 mentioned, there is no official C#/.NET DCP client. There is a Java DCP client, however: https://github.com/couchbase/java-dcp-client

-Jeff


#5

We did a DCP client for .NET which we use internally for data delivery. We are trying to get it to a state where we can get it out in the open source community, but it’s taking longer than anticipated.

Would be curious about your use case, as the Event system that was introduced in Couchbase 5.5 is really great and is actually going to reduce our reliance on DCP.


#6

I am new to Couchbase, and just the C# developer that needs to implement ideas, but the idea is exactly as yours. I would like to use the DCP for updating external and internal data sources…
Like a new customer is created or Data has changed -> Send it to the API of salesforce, to an SQL instance or our internal API’s…

The intention is to have Couchbase as a central data store and the external systems receive data .

My case would be
Data ->Couchbase -> DCP or Event (CRUD) -> Rabbitmq -> MicroService -> Destination

But I haven’t read about the Event System… perhaps that might be the better solution…
Thanks for your suggestion although I look forward to the DCP solution too , but first I need to read up on the event system…


#7

@mhensen

We’re investigating using the eventing system here for that use case, too. The event system does have some support for using CURL to send data out of the system, and internally is built on DCP. I’d check out this blog post: https://blog.couchbase.com/eventing/


#8

Oh, and CC to @venkatb4u, you might be interested in this conversation.


#9

Yeah it sounds like Eventing would be the best thing for you to look at.

You are able to use the curl command in the javascript function, so you can use it to post to the http endpoint of Rabbit or else post your own API that will do the Rabbit/SQL calls.

Will see if I can post an example of that later on.


#10

Thanks for your post! I’ve downloaded the 5.5 developer version… If you can post an example that would be more then welcome… I think I’ll just post it to a microservice that will transform the input to a rabbitmq message… That way I just need a ‘simple’ for of a function… the microservice will do the rest… like filtering the calls, etc…

Thanks again for putting me on this track!!! Exciting stuff…


#11

You can do curl calls from N1QL or even using the native curl call support - but do note that the latter will not be supported for now. The build is still Developer Build.

On a side note, consuming directly from DCP requires that you maintain the restartability semantics and the backfill pressure due to the workload that is yet to be processed. Or else, you could Eventing/Functions :wink: … which would offer higher order constructs.


#12

Eventing is a new item in Couchbase, but will this also be in the community edition of Couchbase? As this is the version we will start on…
Couchbase is, for us, a new player in our system.

If so is there a timeline?

With kind regards,

Michael


#13

In the Couchbase blog they posted an example today of using curl with Events, you can just use that as the base to post to your API/microservice.

https://blog.couchbase.com/detect-sensitive-information-nosql-documents-automatically-couchbase-functions/