Skip to main content. Exit focus mode. Firewall Rules Create, get, update, delete, or list firewall rules. Elastic Pools Create, get, update, or delete elastic pools. Elastic Pool Activities Get the activities for an elastic pool. Elastic Pool Database Activities Get the activities for databases in an elastic pool. Replication Links Get, list, delete, and failover a replication link. Failover Groups Create, get, update, list, delete, and failover a failover group.
Database Threat Detection Policies Create or update a database's threat detection policy. Databases - Import Export Import and Export databases bacpac files.
Recoverable Databases Get a recoverable database, or list all recoverable databases for a server. Restorable Dropped Databases Get a deleted database or list of databases that can be restored. Restore Points Get a list of database restore points. Check Server Name Check if a server name is valid and available.
Service Tier Advisor Get service tier recommendations. Transparent Data Encryption Activities Returns a database's transparent data encryption operation result. Transparent Data Encryptions Create or update a database's transparent data encryption configuration. Yes No. Any additional feedback? Skip Submit. Is this page helpful?
Create, get, update, and delete SQL databases, data warehouses, restore points, service tier advisors, and transparent data encryption configuration. Elastic Pool Activities. Elastic Pool Database Activities. Database Threat Detection Policies. Databases - Import Export. Recoverable Databases. Restorable Dropped Databases. Server Azure AD Administrators.
Check Server Name. Service Tier Advisor. Transparent Data Encryption Activities.One of the great things about the clouds is that it makes existing good technology even better and in the case of the Azure stack, also much more simpler. One example that came to mind this week was Entity Framework after reading that it now works with CosmosDB, albeit still in beta and for the Core version only.
NET developers to work with relational data using domain-specific objects. It eliminates the need for most of the data-access code that developers usually need to write. Net and work with data. As I was reminded just how powerful yet simple this was, I also decided to write a short blog about this. You simply need to install the necessary drivers.
So without further ado, lets get started. First off, create a new ASP. Net Web Application in Visual Studio.
For the type of web application, select Empty and ensure to leave all the checkbox unticked to avoid reconfiguring later on. Authentication is a complex and technical area that would require several books to cover. Provide the connection details. You could well select an on-prem database though that will require configuring a gateway.
Select the objects you want exposed in the API. Here I randomly picked a few tables and two stored procs I wrote specifically for this demo. One of the procs simply returns a table while the other has a parameter to filer out the results which will be used to illustrate passing parameters. Give your service a meaningful name here as this will form part of the base URL for your web services. This is to give our services more permissions. This will launch a web browser like the one below.
The contents of this will depend on the objects you selected earlier tables, views. These are the objects already available in our web services. All the other tables and views are ready for consumption.
Lets test one of the endpoints locally using just the browser. To do this, simply append the name of your table to the base URL so that it looks something like this:. This should bring back all the data from the DimProducts table in xml, the default format for OData and with it, confirmation our web services is working.
The dark mode beta is finally here. Change your preferences any time. Stack Overflow for Teams is a private, secure spot for you and your coworkers to find and share information.
Could you please help me? I asked this question in Microsoft Azure Forum. The answer is like Rom Eh answer. This means you can only perform CRUD at server or database level e. Agree with the above comments. OData is primarily designed for querying. Once again, OData is specifically useful when you are querying the database.
Make sure you nail down your use cases as you evaluate OData. Let me know if you have any questions. Learn more. Asked 2 years, 1 month ago. Active 2 years, 1 month ago.
Viewed 8k times. Sohrab Sohrab 2 2 gold badges 8 8 silver badges 23 23 bronze badges. Active Oldest Votes.
Rom Eh Rom Eh 1, 10 10 silver badges 23 23 bronze badges. This link : stackoverflow. I am not sure to have mentionned this link. Sign up or log in Sign up using Google. Sign up using Facebook. Sign up using Email and Password.
Azure Cosmos DB: REST API Reference
Post as a guest Name. Email Required, but never shown. The Overflow Blog. Podcast Programming tutorials can be a real drag. Featured on Meta.
Table Service REST API
Community and Moderator guidelines for escalating issues via new response…. Feedback on Q2 Community Roadmap. Triage needs to be fixed urgently, and users need to be notified upon…. Technical site integration observational experiment live on Stack Overflow. Dark Mode Beta - help us root out low-contrast and un-converted bits.In this article we will see how easily you can build ASP. NET Core framework. In the latest release of ASP. NET Core web applications using. Net Framework or.
Net Core. Net Framework. However, the core principles apply both on ASP. NET Core applications created using. Net Framework and. At the time of writing this article, I have used ASP. Therefore, I choosed to use. Net Framework instead of RC2 Core, because it was more stable at the time of writing this article. In the meantime. Net Core v1 is released and it should be more stable.
You can easily rewrite this app in node. When you create Web API, initially you are getting only Controllers folder where you need to put the code for your services. However, the first thing that people do is to add Model folder with all necessary domain classes used to map tables to C objects and to define the schema of JSON that will be generated when these objects are serialized. In some case they are adding entire EntityFramework model to access data.
If the only purpose for creating model is a "template" for serialization from database to JSON, you don't need to do this if you don't need it. This way, JSON functions enable you to easily expose your database data to web clients without additional layers of transformation. To run this sample, we would need a database with Todo table and a Web application.
In this section is described how you can setup project and database. This sql script will create simple Todo table and populate it with three rows. One additional thing that you need to do is to set compatibility level to value if it is not already set:. When you finish this step you will have prepared database with one Todo table.
You can download sample from this article or create new project and choose ASP. Net Framework :. We would need some classes that read data from database. In this article I will not use Entity Framework or something similar.
NET library that can execute plain SqlCommand. This is small, lightweight, data access library that just wraps basic ADO. NET classes and methods. Nice thing with this library is that it is completely async. Under the hood it uses async methods of ADO. NET classes, which might improve scalability of your code.
In order to download this library you can install Belgrade.For a sample showing how to perform a SQL query on a resource using. NET Sample. Below is an example REST query operation on document resources. In this example, we would like to find all documents that have "Don" as an author. If the input is malformed or invalid SQL syntax, the operation with fails with a Bad Request error. You will also get a bad request if a query cannot be served by the gateway.
The following are common status codes returned by this operation. This operation returns the following common headers. There may be additional standard and common headers returned. The query request must be a valid JSON document containing a query property that contains a valid SQL query string and a parameters property that contains an array of optional parameters.
Each parameter should have a name and value property of parameters that are specified within the query. It is valid to specify only a subset of parameters specified in the query text. Expressions that reference these unspecified parameters will evaluate to undefined. It is also valid to specify additional parameters that are not used within the query text. Some examples of valid query requests are shown below. For example, the following query has a single parameter id.
The following example has two parameters, one with a string value and another with an integer value. The following example uses parameters within the SELECT clause, as well as a property accessed through the parameter name as a parameter. Any query that requires state across continuations cannot be served by the gateway.
This includes:. When a response is returned for a query that cannot be served by the gateway, it will contain the status code BadRequest and the following message:. Query requests support pagination through the x-ms-max-item-count and x-ms-continuation request headers. The x-ms-max-item-count header specifies the maximum number of values that can be returned by the query execution.
This can be between 1 andand is configured with a default of Queries will return from zero up to the maximum specified x-ms-max-item-count values from the results of the execution.
The query result includes an x-ms-item-count header that specifies the actual number of documents returned by the query. If there are additional results that could be retrieved from the query, then the response includes a non-empty value for the x-ms-continuation header.
Clients can fetch subsequent pages of results by echoing the x-ms-continuation header as another request. In order to read all results, clients must repeat this process until an empty x-ms-continuation is returned.
Cosmos DB query executions are stateless at the server side, and can be resumed at any time using the x-ms-continuation header. Therefore if documents are deleted and re-inserted between fetching of pages, then it could potentially be excluded from any of the query batches. However, the behavior and format of the x-ms-continuation header might change in a future service update.
Skip to main content. Exit focus mode. Set the x-ms-documentdb-isquery header to True. The authentication type and signature token. Only the master key token is allowed for this operation.But what about. Would that be as easy as well? Json will take care of manipulating that developer-friendly format. Sounds too good and easy to be true? Well, let's prove it! Dapper is an amazing MicroORM, that removes all the plumbing code needed to connect and query a database, so that you can focus more one the really important code.
It is battle tested, as it is used by StackOverflow itself, and very recommended. If you want to have a kickstart, there is a 10 post tutorial here: Dapper. NET Medium, along with full source code for all described features. Since the result is a JSON string, all it's needed to turn it into an object is to deserialize it.
And you're done. In the result variable you'll have the JSON ready to be used. To make the sample easily reusable, I wrapped the logic that execute the request to the database into the ControllerQuery base class, so it will be very easy to derive from there to create more specialized controller classes.
On the database side, I created a convention for stored procedure naming so that code can automatically call the correct procedure for the correct verb and controller:. For example, the Get method for the CustomersController will call the stored procedure web. Honestly, that's amazing. Clean code, very lean, maintainable, flexible and fast. Yeah, what about performances? There will be a dedicated post on this subject, but let's just say that with this configuration:.
I was able to execute Requests Per Seconds with a median response time of 20msec. If you can accept a bit higher latency, you can also reach RPS but the median response time becomes 40msec and the 95 percentile is set at 95msec. Time to scale up or out the Web App Plan. By scaling up and out a bit, I was able to reach almost Quite impressive. If you're wondering what solution I used to create load test, you can find all details, along with deployable code, here: Running Locust On Azure.
The dark mode beta is finally here.Generating REST APIs for MS SQL Server
Change your preferences any time. Stack Overflow for Teams is a private, secure spot for you and your coworkers to find and share information. I checked to ensure account name and primary key are correct and that the x-ms-date timestamp is within 15 minutes based on the suggestion from the other post.
Also, I was able to download the Azure Storage Explorer utility and access the service that way so I know the Storage Account is valid and working. The basic conclusion is that SharedKeyLite must be used for this type of request. The Table service requires that each request be authenticated. The Microsoft. However, we still need the SharedKeyLite scheme to access the Development Table Storage, since it is the only one that it accepts.
I had same problem. I downloaded Azure Storage Explorer utility too. And I was using Fiddler Web Debugger to look at requests from the utitlity to azure. Requests were like this:. I hit here for the same error AuthenticationFailed. For table service, this error does not give any details. For blob service, I had seen errors which mentioned - server computed StringToSign with value and stringToSign from signature, do not match. That helped me fix the code computing the authentication header.
Coming back to the issue, the problem was that x-ms-date header was required instead of 'Date' header. So, the error code was misplaced. And also remember one thing if your are working behind the proxy just check that the port are not blocked. If some of the ports are blocked than there will be no response from windows azure.
Building REST services with ASP.NET Core Web API and Azure SQL Database
Learn more. Asked 7 years, 1 month ago. Active 6 years, 7 months ago. Viewed 8k times. Make sure the value of Authorization header is formed correctly including the signature. RequestId:d78c2ceace TimeT Matt Mazzola Matt Mazzola 2 2 silver badges 8 8 bronze badges. Active Oldest Votes.