Generates a new query key for the specified search service. You can create up to 50 query keys per service.
POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/createQueryKey/{name}?api-version=2024-03-01-preview
URI Parameters
Name |
In |
Required |
Type |
Description |
name
|
path |
True
|
string
|
The name of the new query API key.
|
resourceGroupName
|
path |
True
|
string
|
The name of the resource group within the current subscription. You can obtain this value from the Azure Resource Manager API or the portal.
|
searchServiceName
|
path |
True
|
string
|
The name of the Azure AI Search service associated with the specified resource group.
Regex pattern: ^(?=.{2,60}$)[a-z0-9][a-z0-9]+(-[a-z0-9]+)*$
|
subscriptionId
|
path |
True
|
string
|
The unique identifier for a Microsoft Azure subscription. You can obtain this value from the Azure Resource Manager API or the portal.
|
api-version
|
query |
True
|
string
|
The API version to use for each request.
|
Name |
Required |
Type |
Description |
x-ms-client-request-id
|
|
string
uuid
|
A client-generated GUID value that identifies this request. If specified, this will be included in response information as a way to track the request.
|
Responses
Name |
Type |
Description |
200 OK
|
QueryKey
|
The query key was successfully created and is in the response. You can use the query key as the value of the 'api-key' parameter in the Azure AI Search service REST API or SDK to perform read-only operations on your search indexes such as querying and looking up documents by ID.
|
Other Status Codes
|
CloudError
|
HTTP 404 (Not Found): The subscription, resource group, or search service could not be found. HTTP 409 (Conflict): The specified subscription is disabled.
|
Security
azure_auth
Specifies an implicit grant flow, as supported on the Microsoft Identity platform.
Type:
oauth2
Flow:
implicit
Authorization URL:
https://login.microsoftonline.com/common/oauth2/authorize
Scopes
Name |
Description |
user_impersonation
|
impersonate your user account
|
Examples
SearchCreateQueryKey
Sample request
POST https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/createQueryKey/An API key granting read-only access to the documents collection of an index.?api-version=2024-03-01-preview
from azure.identity import DefaultAzureCredential
from azure.mgmt.search import SearchManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-search
# USAGE
python search_create_query_key.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = SearchManagementClient(
credential=DefaultAzureCredential(),
subscription_id="subid",
)
response = client.query_keys.create(
resource_group_name="rg1",
search_service_name="mysearchservice",
name="An API key granting read-only access to the documents collection of an index.",
)
print(response)
# x-ms-original-file: specification/search/resource-manager/Microsoft.Search/preview/2024-03-01-preview/examples/SearchCreateQueryKey.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armsearch_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/search/armsearch"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/cf5ad1932d00c7d15497705ad6b71171d3d68b1e/specification/search/resource-manager/Microsoft.Search/preview/2024-03-01-preview/examples/SearchCreateQueryKey.json
func ExampleQueryKeysClient_Create() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsearch.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewQueryKeysClient().Create(ctx, "rg1", "mysearchservice", "An API key granting read-only access to the documents collection of an index.", &armsearch.SearchManagementRequestOptions{ClientRequestID: nil}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.QueryKey = armsearch.QueryKey{
// Name: to.Ptr("An API key granting read-only access to the documents collection of an index."),
// Key: to.Ptr("<a query API key>"),
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { SearchManagementClient } = require("@azure/arm-search");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to Generates a new query key for the specified search service. You can create up to 50 query keys per service.
*
* @summary Generates a new query key for the specified search service. You can create up to 50 query keys per service.
* x-ms-original-file: specification/search/resource-manager/Microsoft.Search/preview/2024-03-01-preview/examples/SearchCreateQueryKey.json
*/
async function searchCreateQueryKey() {
const subscriptionId = process.env["SEARCH_SUBSCRIPTION_ID"] || "subid";
const resourceGroupName = process.env["SEARCH_RESOURCE_GROUP"] || "rg1";
const searchServiceName = "mysearchservice";
const name = "An API key granting read-only access to the documents collection of an index.";
const credential = new DefaultAzureCredential();
const client = new SearchManagementClient(credential, subscriptionId);
const result = await client.queryKeys.create(resourceGroupName, searchServiceName, name);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
using Azure;
using Azure.ResourceManager;
using System;
using System.Threading.Tasks;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager.Models;
using Azure.ResourceManager.Resources;
using Azure.ResourceManager.Search.Models;
using Azure.ResourceManager.Search;
// Generated from example definition: specification/search/resource-manager/Microsoft.Search/preview/2024-03-01-preview/examples/SearchCreateQueryKey.json
// this example is just showing the usage of "QueryKeys_Create" operation, for the dependent resources, they will have to be created separately.
// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this SearchServiceResource created on azure
// for more information of creating SearchServiceResource, please refer to the document of SearchServiceResource
string subscriptionId = "subid";
string resourceGroupName = "rg1";
string searchServiceName = "mysearchservice";
ResourceIdentifier searchServiceResourceId = SearchServiceResource.CreateResourceIdentifier(subscriptionId, resourceGroupName, searchServiceName);
SearchServiceResource searchService = client.GetSearchServiceResource(searchServiceResourceId);
// invoke the operation
string name = "An API key granting read-only access to the documents collection of an index.";
SearchServiceQueryKey result = await searchService.CreateQueryKeyAsync(name);
Console.WriteLine($"Succeeded: {result}");
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Sample response
{
"name": "An API key granting read-only access to the documents collection of an index.",
"key": "<a query API key>"
}
Definitions
Name |
Description |
CloudError
|
Contains information about an API error.
|
CloudErrorBody
|
Describes a particular API error with an error code and a message.
|
QueryKey
|
Describes an API key for a given Azure AI Search service that conveys read-only permissions on the docs collection of an index.
|
CloudError
Object
Contains information about an API error.
Name |
Type |
Description |
error
|
CloudErrorBody
|
Describes a particular API error with an error code and a message.
|
message
|
string
|
A brief description of the error that hints at what went wrong (for details/debugging information refer to the 'error.message' property).
|
CloudErrorBody
Object
Describes a particular API error with an error code and a message.
Name |
Type |
Description |
code
|
string
|
An error code that describes the error condition more precisely than an HTTP status code. Can be used to programmatically handle specific error cases.
|
details
|
CloudErrorBody[]
|
Contains nested errors that are related to this error.
|
message
|
string
|
A message that describes the error in detail and provides debugging information.
|
target
|
string
|
The target of the particular error (for example, the name of the property in error).
|
QueryKey
Object
Describes an API key for a given Azure AI Search service that conveys read-only permissions on the docs collection of an index.
Name |
Type |
Description |
key
|
string
|
The value of the query API key.
|
name
|
string
|
The name of the query API key. Query names are optional, but assigning a name can help you remember how it's used.
|