Exposing Azure Search Service through API Management
Hi everyone,
I've just setup the API Management and customised the portal for the APIs i'd like to manage. One of the APIs is actually an Azure Search instance. The only problem i can see is that the JSON response from the Azure Search contains a couple of URLs that
tie back to the Search, I've tried to add a policy to mask the URLs in the response, but it doesn't quite get it right and the resulting URLs don't work.
So, is it possible to properly expose the Search service through the API Management service with properly masked URLs?
thanks,
Andrew
Hi Miao,
thanks for your quick response.
Although I don't need to know a specific date - i'd be interested if there is a target for when this functionality may be added? e.g. 2 months, 6 months?
I'm evaluating the technology at the moment for a deliverable required in a couple of months and will need to decide whether to wait or develop a wrapper around the search service that removes the data we don't want exposed.
thanks,
Andrew
Similar Messages
-
Clustered Primary key in Azure search service
Hi ,
Can you please let us know if it is possible to created Clustered Primary Key in Azure Search Service.
We are unable to set the isKey property for more than one field in the index.
Also can you providers some pointers on enabling search against multiple indexes. we have a use case where the search has to be performed against 3 different tables and the results set is a combination of all the 3 tables.
Thanks,Since you mentioned setting the key property for more than one field, I think you're looking for compound keys, not clustered, is that correct? We don't support compound keys in Azure Search, to work around this you can concatenate (with a separator) the
all parts of the key into a single string value and use it in Azure Search.
Regarding multiple indexes, you can't search across multiple indexes in the same request right now. If you have different source tables and don't mind having them in the same index, you can index the content of the 3 tables into a single index (that has
the combined/overlapped columns of all) and then search that index.
This posting is provided "AS IS" with no warranties, and confers no rights. -
Telemetry Support in Azure Search Service
Does Azure Search Service provides any out-of-the-box telemetry support?
For, example, does it store any data relating to which keyword has been searched the maximum number of time, or which filter has been applied more number of times, etc.Hi Pratik,
Not yet, although this has certainly been on our radar. I encourage you to submit specific asks on Azure Search UserVoice at
http://feedback.azure.com/forums/263029-azure-search. That'll let other users vote and great help us prioritize features in this area.
Thanks!
Eugene
Thanks! Eugene Shvets Azure Search -
How to Upgrade Azure search service ?
Hi,
How can i Upgrade Azure search service from Pricing tier FREE to STANDARD(PAID VERSION)?
I have a Azure search service named https://l******.search.windows.net
where it contain some document and index,but i has limit of 10000 document for free
so help me out to Upgrade Azure search service for uninterpreted service ?Unfortunately we don't yet have an upgrade option currently. You'll need to create a new standard service and re-run the code that created the index and loaded the documents.
This posting is provided "AS IS" with no warranties, and confers no rights. -
BPEL service(SOAP) expose as RESTFul Service through OSB
I am trying to invoke simple HelloWorld BPEL process exposed as SOAP Web Service through OSB as RESTFul service but always getting XML parsing exception in response action.
Could any body give me steps how to implement it?
Thanks
Edited by: user10475179 on Dec 4, 2011 9:44 PMThanks for your reply. I was able to manage to get xml, is there a simple way with simple steps to use JSON? If you have any steps/screenshots I would appreciate.
Thanks
Edited by: user10475179 on Dec 6, 2011 2:24 PM -
How to upload to Azure Media Services when using HTML5 with Web API
I keep finding examples demonstrating how to upload video to Azure Media Services through a console application. I am developing an application using HTML5 with angularjs and web api, but am having trouble finding an example for uploading when you
are getting the file from a form on a web browser. The main issue I find is that I see a way to upload from a file path and no way to upload from a stream. I would like to upload the file to blob storage and then associate the file in blob storage
with the IAssetFile object, which is then associated with IAsset. It this possible and if so can you point me in the direction of some tutorials that demonstrate this? Also, I am allowing site members to upload videos and images. For this
images scenario, I saw doc. demonstrating how to start a job that will save the image into a different size, what if I need four different sizes for each image uploaded?Hi,
the following example shows how to upload a stream into a blob and associate the blob with an asset: https://code.msdn.microsoft.com/How-to-upload-a-stream-to-d2750102.
thanks,
Julia
This posting is provided "AS IS" with no warranties, and confers no rights. -
How to access search service api to get results in JSON format?
How to access search service api to get results in JSON format in asp.net web application outside SharePoint farm. It should be an app or SharePoint hosted.
I have tried the same with the help of "http://dotnetmafia.com/blogs/dotnettipoftheday/archive/2013/04/09/how-to-query-sharepoint-2013-using-rest-and-javascript.aspx".
function onQuerySuccess(data) {
var results = data.d.query.PrimaryQueryResult.RelevantResults.Table.Rows.results;
$("#resultsDiv").append('<table>');
$.each(results, function () {
$("#resultsDiv").append('<tr>');
$.each(this.Cells.results, function () {
$("#resultsDiv").append('<td>' + this.Value + '</td>');
$("#resultsDiv").append('</tr>');
$("#resultsDiv").append('</table>');
But we are getting data.d as undefined.
I have checked and verify that I am getting success and data in XML format not in JSON. As I expected the JSON. Although I have specified the "JSON" in headers " headers:
{ "Accept": "application/json;
odata=verbose" } ".
ThanksHi,
Per my understanding, you might want to access search service REST API and get results in JSON format using jQuery.
The code you use is working in a SharePoint Hosted App project, to compose a working code snippet easier, you can take the demo below for a try:
<script type="text/javascript" src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
<script type="text/javascript">
_spBodyOnLoadFunctionNames.push("ready");
function ready()
var spAppWebUrl = _spPageContextInfo.webAbsoluteUrl;
var queryUrl = spAppWebUrl + "/_api/search/query?querytext='book'";
$.ajax({
url: queryUrl,
method: "GET",
headers: { "Accept": "application/json; odata=verbose" },
success: function (data) {
console.log(data);
var results = data.d.query.PrimaryQueryResult.RelevantResults.Table.Rows.results;
$.each(results, function () {
$.each(this.Cells.results, function () {
console.log(this.Key+"--"+this.Value);
error: function (data) {
console.log(data);
</script>
Add the code into a page of your site, it will retrieve JSON format data and print the search result in the console of browser.
More information about how to work with SharePoint Hosted App:
https://msdn.microsoft.com/en-us/library/office/fp142379.aspx
If you want to call the search service REST API in a remote environment, authentication is required to be taken into consideration, the link below with a working demo
would be helpful:
https://pholpar.wordpress.com/2013/05/11/accessing-office-365-sharepoint-sites-using-rest-from-a-local-html-javascript-host/
Best regards
Patrick Liang
TechNet Community Support -
Can Azure Search support indexing of documents (pdf, doc etc)
Hi,
I want to implement the azure search service indexing of documents (pdf, docs etc). is it possible ? if yes, then how ?
ThanksHi Shib,
I wanted to respond with a few ideas based on your question. As of today, we do not have a document cracker for Azure Search to allow you to index the content from files such as the ones you suggested. This is a pretty highly requested feature
(http://feedback.azure.com/forums/263029-azure-search/suggestions/6328662-blob-indexing-w-file-crackers), but we have not too date been able
to prioritize this.
In the meantime, somethings you might consider looking at are iFilter or Apache Tika. These are both great options that would allow you to programmatically extract the text from these files. Based on the extracted text you could then post the
content to Azure Search. I personally think this example on CodeProject is a pretty good starting point if you were to consider using iFilter:
http://www.codeproject.com/Articles/13391/Using-IFilter-in-C
I hope that helps.
Liam
Sr. Program Manager, SQL Azure Strategy -
Blog -
Hello,
Any help with this technical issue would be greatly appreciated.
When our clients call our API Management front end, we'd like them to connect to https://api.mydomain.com/service
Traffic Manager will be used to load balance between API Management interfaces at 2 separate Azure DCs.
Our API Management services are set up with the addresses apimNameSite1.azure-api.net and apimNameSite2.azure-api.net
Our 2 back-end servers live in an azure IaaS vNets (in separate DCs) and their azure endpoint URLs are webServerSite1.cloudapp.net and webServerSite2.cloudapp.net
We have a wildcard SSL certificate for *.mydomain.com
From what I've read (I may have missed something), API management doesn't terminate SSL. (have since found this is incorrect, API Management DOES terminate SSL) Can anyone give me a solution for configuring HTTPS for the API management interface in
this scenario?
One way I've thought of addressing it is to:
- Create a CNAME record for the alias api.mydomain.com pointing to the traffic manager address
- Traffic manager is configured using powershell to load balance between the apimNameSite1.azure-api.net and apimNameSite2.azure-api.net endpoints
- Create a CNAME record for the alias webServerSite1.mydomain.com pointing to webServerSite1.cloudapp.net
- An API in API management on Site1 is configured with an HTTPS URL scheme and has https://webServerSite1.mydomain.com/service set as the web service URL.
- The IIS web site on the back end server has a HTTPS binding configured using the *.mydomain.com certificate
I'm not sure if this will work, and I have to get a number of people to configure stuff on their end to POC it so would prefer to have it right at the start. Does anyone have suggestions or links to good sources on the subject?I found the Custom Domain settings under Configuration for the API Management service. Will close this thread if all works out ok. I hope having traffic manager in front of it doesn't cause any issues.
-
Integrating a PHP Web App with an Existing Azure Mobile Services and Mobile App
I've got an existing mobile app that is integrated with Azure's mobile services. The mobile services are currently connected to Azure Active Directory with MFA enabled. I'd like to build a separate PHP-based web application (Azure VM) that uses this existing
mobile service and authentication.
I reviewed the Azure PHP SDK, but didn't see any tie-ins to the Mobile Service. Additionally, Azure has some great tutorials, but for mobile services they all seem to focus on iOS, Android, and Windows phone. Any insight into how to tie a PHP-app into this
backend would be much appreciated!Although there isn't any client library for PHP, you can still access Mobile Service using the
Azure Mobile Service REST API.
Abdulwahab Suleiman -
Sorted dynamic list problem - Azure Search Index
Hello Everyone,
Let's consider following problem: Vote app - we have 1000 NBA players and we want to create an app which first: let user vote for a player he wants to see in the All Star Game, second: user gets current rank list (example: Michael Jordan 1st - 1M votes,
Derrick Rose 2nd - 0,9M votes, .. , Freddy Kruger - 999th - 0 votes and so on).
Question: what is the best structure that can be implemented here to keep this data sorted? I would like to query this data source already sorted - it is not allowed to get the list of 1000 and sort locally in app. For example: 800 players can have 0 votes
and I do not want to download their names just to display '0 votes' next to their names. I would like to get only 50 with highest score at the moment. Index should be refreshed-rebuild after each new POST-vote request.
Can Azure Search service and its Index help me to solve this problem? The perfect .NET SortedList synchronized structure would look like this [votes][name]:
SortedList[99982]['Michael Jordan']
SortedList[89921]['Derrick Rose']
SortedList[0]['Freddy Kruger']
SortedList[0]['Ace Ventura'] -> but SortedList does not allow the 0 KEY to appear twice.
Regards,Hi pr0t,
It should be straightforward to get the data you want using the $orderby, $filter, and $top options. For example, if you have a field named vote, you could include this in your search request:
/indexes/players/docs?$orderby=vote desc&$filter=vote gt 0&$top=50
This will give the top 50 players by vote in descending order by vote. You can then put the data in whatever data structure you like on the client.
One thing to be aware of though is the way you update votes in the index. We highly recommend batching index updates as much as possible rather than updating one document at a time. You can have up to 1000 documents in a single batch when indexing. This
reduces overhead and indexing pressure on your search service.
Hope this helps,
-Bruce -
Exposing rest services in custom managed server
Hi everybody,
I want to know how can expose the rest sevices for custom managed server which is created from webcenter custom portal template ????
Thanks.I mean that once i deployed my custom webcenter portal (including web 2.0 services) into managed server. it is possible or not to manage potal services (documents, discussions ..) through rest api using thz following URL: http://myManagedServer:myPort/rest/api/resourceIndex ????
-
Azure API Management - external endpoints
Hi,
I'm trying to implement the following scenario by using the preview Azure API management.
I have a Web API, hosted in an OnPrem IIS. I want to expose this API via the Azure API Management.
How can I manage exposing an OnPrem endpoint? Must I first be sure that my existing OnPrem API is published on the Internet? Or can I use a Service Bus Relay endpoint?
Thanks.Hi David,
Thanks for posting!
Base on my understanding, If your website is hosted on-permission( Intranet), you need expose the endpoints for Azure API management , and you need use the http or https endpoints for this feature. You could use azure service bus service to expose
your endpoints like this blog (http://blogs.msdn.com/b/paolos/archive/2013/10/24/how-to-integrate-a-windows-azure-web-site-with-a-lob-app-via-a-service-bus-relay-service.aspx
) and this thread (http://stackoverflow.com/questions/9626386/relay-webhttprelaybinding-to-webapi-service ), Also, you could publish the site on internet
and use the API url (http://blogs.iis.net/tomkmvp/archive/2010/02/03/how-do-you-access-iis-behind-a-nat-router.aspx ).If I am misunderstanding , please
let me know free.
Regards,
Will
We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
Click
HERE to participate the survey. -
How to setup Traffic Manager with Azure API Management
Hello-
I have been trying to configure traffic manager as a Failover mechanism for Azure API Management (not sure if this is the correct terminology).
The gist is this: I have configured Azure API management to point to a set of Web API's hosted in a Cloud Service. I would like to use Traffic Manager as a Failover mechanism to route requests to a different data center, should the primary service becomes
unresponsive or goes into a degraded state.
When going through the portal, there is no selection that is available to configure API Management/Web API: the selections are Cloud Service and Web apps.
I've also looked into th Powershell Add-AzureTrafficManagerProfile using the -Type ["Any"] option with same result - it adds the endpoint but it is in a "Degraded" state.
I need to understand the correct way to accomplish this - I'm pretty sure I'm doing something wrong.
gigabitHi Shaun,
For most Traffic Manager applications, endpoint health is probed in the same way on each endpoint. That's why Traffic Manager profiles have endpoint monitoring settings configured at the profile level, not the endpoint level.
It appears your case is an exception--you need to configure a different monitoring path for each of your endpoints. To do this, you should use
'nested' Traffic Manager profiles. Create a child profile for each endpoint (with endpoint monitoring settings particular to that endpoint) and then join them in a parent profile. Endpoint health will propagate up from child to parent and should
give the behaviour you're looking for.
There's no downside: We bill only for the actual monitored endpoints and actual queries received (so no extra costs), and the parent-child link will be unwound within the Traffic Manager name servers (so no extra latency).
Regards,
Jonathan Tuliani
Program Manager
Azure Networking - DNS and Traffic Manager -
Welcome to the Azure App Service API Apps Preview Forum!
Welcome to the forum! This forum is for support of our customers who are using API Apps. Feel free to post any questions you have related to API Apps.
The Azure App Service API Apps Team
Jim Cheshire | MicrosoftHey Mikael!
I actually was struggling through pretty much the same things at the same time that you were.
The EventTriggered extension is actually in the Microsoft.Azure.AppService.ApiApps.Service namespace, so without a using directive for that it will not be happy.
I created a library to help with the metadata generation required for Triggers, and did a write-up on exactly what it takes to create both a polling and push trigger (with a few more samples) here: https://github.com/nihaue/TRex#building-a-polling-trigger-api-app
Hopefully having that combined with
the official docs, and also
Sameer's sample can get you on the right track.
Hope that helps!
Maybe you are looking for
-
Problem with lm_sensors.
My system is core i7 860 / asus p7p55d Archlinux kernel 2.6.30 I'm install lm_sensors 3.1.1 but its seem doesn't work. When I run sensors-detect, the result is Driver `max6650': * Bus `NVIDIA i2c adapter ' Busdriver `nvidia', I2C address 0x4b
-
Anyone successfully connect iPhone or iPad to an interactive white board?
I'd love to be able to project on my classroom SMART Board. Any suggestions? I might try through blue tooth tomorrow at school. I'll keep attempting . I've tried searching the app store too but no luck. Anyone feel like writing a comparability ap
-
How can I access BBC i player, ITV player, 4OD and other on demand catch-up services in the UK using my new Apple TV?
-
IWork 06 can't open iWork 08 files
Please do not tell me that iWork 08 files cannot be opened in iWork 06... please! I haven;t tried this yet, but what about the other way around. We have two Macbook Pros in the office. Mine has iWork 08 and the other still has iWork 06. We do not hav
-
Any STD PGM To Trigger SapScript to E-Mail
Hi All, Is There Any STD Pgm is There to Trigger Sapscript to E-Mail, Letme Know . Thanks in Advance.