Cosmosdb SQL how to list all containers? - azure-cosmosdb

How to list all containers here? I wanna use it in the "lookup" activity of Azure Data Factory.

#Kyaka, It is not possible to list the containers using Lookup activity in Azure Data Factory as CosmosDB linked service needs a collection name to be passed. You may try to call the REST endpoint - https://{databaseaccount}.documents.azure.com/dbs/{db-id}/colls from an Azure Function and use Azure Function Activity to get collections list.
You can also check for other alternatives of calling REST API from ADF like Web Activity based on your requirements.
Please refer to the documentation List Collections for details.
Thanks

Related

How to add Azure custom Policy for Azure Data Factory to only use Azure Key Vault during the Linked Service Creation?

How to add Azure custom Policy for Azure Data Factory to only use Azure Key Vault during the Linked Service Creation for fetching the Data Store Credentials instead of credentials being put up directly in ADF Linked Service. Please suggest ARM or PowerShell methods for the policy implementation.
As of yesterday, the Data Factory Azure Policy integration is available which means you can now find some built-in policies that can be assigned to ADF.
One of those is exactly what you're asking for as you can see in the image below. You can find more information here
Edit: Based on your comment, I'm editing this answer with the info you want. When it comes to custom policies, it's pretty much up to you to come up with them and create what fits your needs. In your particular case, I've created one policy that does what you want, please see here.
This policy will audit your data factory linked services and check if they're using a self-hosted integration runtime. Currently, that check is only done for a few types of integration runtimes (if you look at the policy, you can see 5 of them) which means that if you want to check more types of linked services, you'll need to add them to the list of allowed values and select them when assigning the policy definition.
Bear in mind that for some linked services types, such as Key Vault, that check won't make sense since that service can't use a self-hosted IR

Dynamics 365 virtual entities from Cosmos DB

The “Azure Cosmos DB for DocumentDB API Data Provider” does not seem to be actively maintained and I was not able to get it to work in D365 CE. I would like to use my Cosmos TB to be the source for some virtual entities in my CRM and the only way I can get this to work is writing a data provider plugin or creating an api. Is anyone aware of any other method to accomplish this?
I believe you will have to expose your database or
Particular table as Odata v4.0 webapi.
Or you could create your own data provider and expose your data through that data provider.
This is how data shall be available in virtual entity.
Note: your odata or custom data provider should respect field types of Crm.
For ex: 1 mandatory EDM.Guid field and so
On.

Does kaa has an api to list all registered end-point/devices for an application?

Does kaa has an api to list all registered end-point/devices for an application by application ID? Or do we have to parse the registration logs to get a unique list of end points? Thanks.
As commented #Pete you can list all registered end-point/devices for an application. Every Kaa application, when created, becomes a member of the default group all. See Using endpoint groups documentation. Also look at corresponding Server REST APIs Grouping and Profiling documentation sections.

Trying to understand Cosmosdb

I am trying to understand how to use the multi-model api for an individual cosmosdb deployment.
I launched one instance (ref attached image). I got back this url: gccosmosdb.documents.azure.com. The connection string is only for Mongodb.
Q. I need Table & Mongodb api for this db deployment. How can i get connection string for table api also within this db. Please kindly if someone could advise on how to get two api models working side by side that would eliminate 50% of my container workloads.
Today when you create a DB you are asked to choose one of the API and then all the collections in that db will follow the api. That's is true for the portal UI.
However, using the SDK (TableSDK, Mongo SDK) you can create two collections which hold different data models. So, if you have two collections say one with mongo data and other with documents or table. Then these two collections can be accessed independently using Mongo or Document/Table API respectively.
For Mongo you get the connection string from the portal. However for table connection string is as follows:
DefaultEndpointsProtocol=https;AccountName=MYSTORAGEACCOUNT;AccountKey=AUTHKEY;TableEndpoint=https://COSMOSDB.documents.azure.com
Hope this help.

Is there an Azure database equivalent to Firebase clients being able to listen for database changes?

Firebase's realtime database SDK has callback methods built in which allow the client to listen for database changes. (e.g. as per https://firebase.google.com/docs/database/android/start/)
Does Azure have any functionality like that in either the SQL Database or DocumentDB products? If not, why not? And what is the best way to achieve this functionality using Azure?
Thanks.
Edit context: I'm building a cross-platform mobile app using Xamarin.
Microsoft just announced a new feature in DocDb called Change Feed which sounds like what you are looking for. It is enabled by default and included in the cost of DocDb.
From their announcement: "With Change Feed support, DocumentDB provides a sorted list of documents within a DocumentDB collection in the order in which they were modified. This feed can be used to listen for modifications to data within the collection and perform actions..."
Documentation on how to work with the change feed can be found here: https://learn.microsoft.com/en-us/azure/documentdb/documentdb-change-feed
Azure's SQL Database service now has Extended Events (currently in Preview). More info here.
DocumentDB does not have events you can subscribe to. You would need to build your own mechanism for taking action when modifying your database contents.
EDIT: Cosmos DB (formerly called DocumentDB, when this answer was originally posted) provides a change feed you can subscribe to.
As for "best way to achieve this functionality" - there is no best way. It's whatever you decide to build, based on your app, chosen frameworks, etc.

Resources