Question

fileman on Wed, 11 May 2016 22:08:21


Hi, I've a mobile apps .net backend with Microsoft.Azure.Mobile.Server.Storage and .Swagger configured.

When try GetAll from xamarin.forms client, I receive exception "Bad Request" with {[Message, The query specified in the URI is not valid: 'Query option 'Skip' is not allowed. To allow it, set the 'AllowedQueryOptions' property on EnableQueryAttribute or QueryValidationSettings.'.]}

Even if I set AllowedQueryOptions.Supported, the exception persist.

No problem if try to get all/single entity from swagger ui, on xamarin.forms client fail because I can't sync table with pullasync that use skip.

Any ideas? thanks



Sponsored



Replies

Swikruti Bose on Thu, 12 May 2016 09:54:40


Hello,

Thank you for posting here!

If you are using the ValidationSetting object, after creating that, try to change the AllowedQueryOptions to AllowedQueryOptions.All. By default, all options are there except the SkipToken and Format.

And also try to execute by “AllowedQueryOptions.All” instead of “AllowedQueryOptions.Supported”.

Reference: https://github.com/Azure/azure-content/blob/master/articles/app-service-mobile/app-service-mobile-node-backend-how-to-use-server-sdk.md

Hope this helps.

Regards,

Swikruti

If a post answers your question, please click Mark as Answer on that post and Vote as Helpful.

fileman on Thu, 12 May 2016 10:53:14


I've tried all AllowedQueryOptions ... nothing work

I'm on .net backend not node.js

fileman on Sun, 15 May 2016 07:54:26


Workaround this.EntitySyncTable.SupportedOptions = MobileServiceRemoteTableOptions.None;

Paul Batum on Mon, 16 May 2016 18:00:06


Fileman is correct - you need to configure the client SDK such that it won't try to use skip/top style operations against the table. You do this by setting the SupportedOptions property of the sync table to None.

Once you fix this, you may encounter other issues regarding the format of object IDs. Because table storage has partition keys, you need to specify the ID of your objects in the format of: 'partitionkey','rowkey'. For example:

'pk1','4502bc8f-74b9-481d-9f6a-6858907ef3a8'

fileman on Tue, 17 May 2016 07:43:45


Hello, thank you but I already know that the ID is "composite key."
Add something to the documentation that tells us to set this value to None it would not hurt, often lacks information ... help us to save time

mrutt-wl on Mon, 18 Jul 2016 23:55:53


Do you know if there is a way to do this on the iOS client? I have an iOS Azure client and it's using skip in the query. I don't see a way to disable it like you can in .NET ... Thanks!

mrutt-wl on Wed, 20 Jul 2016 15:01:20


In case anyone else reads there, there is no way this works with an iOS client currently. It does not support query responses with a next link or the ability to suppress certain operations, such as top and skip. I modified the open source code and have a copy of the iOS client library working locally with these features. I'll work with the maintainers to (hopefully) get the changes incorporated into the official build.