Обновляет существующую службу поиска в данной группе ресурсов.
PATCH https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}?api-version=2024-03-01-preview
Параметры URI
Имя |
В |
Обязательно |
Тип |
Описание |
resourceGroupName
|
path |
True
|
string
|
Имя группы ресурсов в текущей подписке. Это значение можно получить из API Azure Resource Manager или портала.
|
searchServiceName
|
path |
True
|
string
|
Имя службы поиска ИИ Azure для обновления.
|
subscriptionId
|
path |
True
|
string
|
Уникальный идентификатор подписки Microsoft Azure. Это значение можно получить из API Azure Resource Manager или портала.
|
api-version
|
query |
True
|
string
|
Версия API, используемая для каждого запроса.
|
Имя |
Обязательно |
Тип |
Описание |
x-ms-client-request-id
|
|
string
(uuid)
|
Значение GUID, созданное клиентом, идентифицирующее этот запрос. Если этот параметр указан, он будет включен в сведения о ответе в качестве способа отслеживания запроса.
|
Текст запроса
Имя |
Тип |
Описание |
identity
|
Identity
|
Сведения об удостоверении службы поиска. Значение NULL указывает, что служба поиска не назначена удостоверению.
|
location
|
string
|
Географическое расположение ресурса. Это должен быть один из поддерживаемых и зарегистрированных географических регионов Azure (например, западная часть США, восточная часть США, юго-восточная Азия и т. д.). Это свойство необходимо при создании нового ресурса.
|
properties.authOptions
|
DataPlaneAuthOptions
|
Определяет параметры того, как API плоскости данных службы поиска выполняет проверку подлинности запросов. Это невозможно задать, если параметр disableLocalAuth имеет значение true.
|
properties.disableLocalAuth
|
boolean
|
Если задано значение true, вызовы службы поиска не будут разрешены использовать ключи API для проверки подлинности. Это не может быть задано значение true, если определен параметр dataPlaneAuthOptions.
|
properties.disabledDataExfiltrationOptions
|
SearchDisabledDataExfiltrationOption[]
|
Список сценариев кражи данных, которые явно запрещены для службы поиска. В настоящее время единственным поддерживаемым значением является "Все", чтобы отключить все возможные сценарии экспорта данных с более точными элементами управления, запланированными в будущем.
|
properties.encryptionWithCmk
|
EncryptionWithCmk
|
Указывает любую политику шифрования ресурсов (таких как индексы) с помощью ключей диспетчера клиентов в службе поиска.
|
properties.hostingMode
|
HostingMode
|
Применимо только для номера SKU standard3. Это свойство можно настроить для включения до 3 секций высокой плотности, которые позволяют до 1000 индексов, что гораздо выше, чем максимальные индексы, разрешенные для любого другого номера SKU. Для номера SKU уровня "стандартный" значение равно "default" или "highDensity". Для всех остальных номеров SKU это значение должно иметь значение по умолчанию.
|
properties.networkRuleSet
|
NetworkRuleSet
|
Правила конкретной сети, определяющие, как может быть достигнута служба поиска ИИ Azure.
|
properties.partitionCount
|
integer
(int32)
minimum: 1 maximum: 12
|
Количество секций в службе поиска; Значение 1, 2, 3, 4, 6 или 12. Значения, превышающие 1, допустимы только для стандартных номеров SKU. Для служб "standard3" с параметром hostingMode задано значение highDensity, допустимые значения имеют значение от 1 до 3.
|
properties.publicNetworkAccess
|
PublicNetworkAccess
|
Это значение можно задать как "включено", чтобы избежать критических изменений в существующих ресурсах и шаблонах клиентов. Если задано значение "отключено", трафик через общедоступный интерфейс не разрешен, а подключения к частной конечной точке — это монопольный метод доступа.
|
properties.replicaCount
|
integer
(int32)
minimum: 1 maximum: 12
|
Количество реплик в службе поиска. Если задано, оно должно быть значением от 1 до 12 включительно для стандартных номеров SKU или от 1 до 3 включительно для базового номера SKU.
|
properties.semanticSearch
|
SearchSemanticSearch
|
Задает параметры, управляющие доступностью семантического поиска. Эта конфигурация возможна только для определенных номеров SKU поиска ИИ Azure в определенных расположениях.
|
sku
|
Sku
|
SKU службы поиска, которая определяет ценовую категорию и ограничения емкости. Это свойство необходимо при создании новой службы поиска.
|
tags
|
object
|
Теги, помогающие классифицировать ресурс на портале Azure.
|
Ответы
Имя |
Тип |
Описание |
200 OK
|
SearchService
|
Существующее определение службы было успешно обновлено. Если вы изменили количество реплик или секций, операция масштабирования будет выполняться асинхронно. Состояние операции масштабирования можно проверить с помощью свойства provisioningState запроса get Service.
|
Other Status Codes
|
CloudError
|
HTTP 400 (недопустимый запрос): указанное определение службы недопустимо или вы попытаелись изменить свойство, которое является неизменяемым. Дополнительные сведения см. в коде ошибки и сообщении в ответе. HTTP 404 (не найдено): не удалось найти подписку или группу ресурсов. HTTP 409 (конфликт): указанная подписка отключена.
|
Безопасность
azure_auth
Указывает неявный поток предоставления, как поддерживается на платформе удостоверений Майкрософт.
Тип:
oauth2
Flow:
implicit
URL-адрес авторизации:
https://login.microsoftonline.com/common/oauth2/authorize
Области
Имя |
Описание |
user_impersonation
|
олицетворения учетной записи пользователя
|
Примеры
SearchUpdateService
Образец запроса
PATCH https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice?api-version=2024-03-01-preview
{
"tags": {
"app-name": "My e-commerce app",
"new-tag": "Adding a new tag"
},
"properties": {
"replicaCount": 2
}
}
from azure.identity import DefaultAzureCredential
from azure.mgmt.search import SearchManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-search
# USAGE
python search_update_service.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.services.update(
resource_group_name="rg1",
search_service_name="mysearchservice",
service={
"properties": {"replicaCount": 2},
"tags": {"app-name": "My e-commerce app", "new-tag": "Adding a new tag"},
},
)
print(response)
# x-ms-original-file: specification/search/resource-manager/Microsoft.Search/preview/2024-03-01-preview/examples/SearchUpdateService.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/azcore/to"
"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/SearchUpdateService.json
func ExampleServicesClient_Update_searchUpdateService() {
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.NewServicesClient().Update(ctx, "rg1", "mysearchservice", armsearch.ServiceUpdate{
Properties: &armsearch.ServiceProperties{
ReplicaCount: to.Ptr[int32](2),
},
Tags: map[string]*string{
"app-name": to.Ptr("My e-commerce app"),
"new-tag": to.Ptr("Adding a new tag"),
},
}, &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.Service = armsearch.Service{
// Name: to.Ptr("mysearchservice"),
// Type: to.Ptr("Microsoft.Search/searchServices"),
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice"),
// Location: to.Ptr("westus"),
// Tags: map[string]*string{
// "app-name": to.Ptr("My e-commerce app"),
// "new-tag": to.Ptr("Adding a new tag"),
// },
// Properties: &armsearch.ServiceProperties{
// AuthOptions: &armsearch.DataPlaneAuthOptions{
// APIKeyOnly: map[string]any{
// },
// },
// DisableLocalAuth: to.Ptr(false),
// DisabledDataExfiltrationOptions: []*armsearch.SearchDisabledDataExfiltrationOption{
// },
// EncryptionWithCmk: &armsearch.EncryptionWithCmk{
// EncryptionComplianceStatus: to.Ptr(armsearch.SearchEncryptionComplianceStatusCompliant),
// Enforcement: to.Ptr(armsearch.SearchEncryptionWithCmkUnspecified),
// },
// HostingMode: to.Ptr(armsearch.HostingModeDefault),
// NetworkRuleSet: &armsearch.NetworkRuleSet{
// Bypass: to.Ptr(armsearch.SearchBypassNone),
// IPRules: []*armsearch.IPRule{
// },
// },
// PartitionCount: to.Ptr[int32](1),
// PrivateEndpointConnections: []*armsearch.PrivateEndpointConnection{
// },
// ProvisioningState: to.Ptr(armsearch.ProvisioningStateSucceeded),
// PublicNetworkAccess: to.Ptr(armsearch.PublicNetworkAccessEnabled),
// ReplicaCount: to.Ptr[int32](2),
// SharedPrivateLinkResources: []*armsearch.SharedPrivateLinkResource{
// },
// Status: to.Ptr(armsearch.SearchServiceStatusProvisioning),
// StatusDetails: to.Ptr(""),
// },
// SKU: &armsearch.SKU{
// Name: to.Ptr(armsearch.SKUNameStandard),
// },
// }
}
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 Updates an existing search service in the given resource group.
*
* @summary Updates an existing search service in the given resource group.
* x-ms-original-file: specification/search/resource-manager/Microsoft.Search/preview/2024-03-01-preview/examples/SearchUpdateService.json
*/
async function searchUpdateService() {
const subscriptionId = process.env["SEARCH_SUBSCRIPTION_ID"] || "subid";
const resourceGroupName = process.env["SEARCH_RESOURCE_GROUP"] || "rg1";
const searchServiceName = "mysearchservice";
const service = {
replicaCount: 2,
tags: { appName: "My e-commerce app", newTag: "Adding a new tag" },
};
const credential = new DefaultAzureCredential();
const client = new SearchManagementClient(credential, subscriptionId);
const result = await client.services.update(resourceGroupName, searchServiceName, service);
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/SearchUpdateService.json
// this example is just showing the usage of "Services_Update" 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
SearchServicePatch patch = new SearchServicePatch(new AzureLocation("placeholder"))
{
ReplicaCount = 2,
Tags =
{
["app-name"] = "My e-commerce app",
["new-tag"] = "Adding a new tag",
},
};
SearchServiceResource result = await searchService.UpdateAsync(patch);
// the variable result is a resource, you could call other operations on this instance as well
// but just for demo, we get its data from this resource instance
SearchServiceData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Пример ответа
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice",
"name": "mysearchservice",
"location": "westus",
"type": "Microsoft.Search/searchServices",
"tags": {
"app-name": "My e-commerce app",
"new-tag": "Adding a new tag"
},
"sku": {
"name": "standard"
},
"properties": {
"replicaCount": 2,
"partitionCount": 1,
"status": "provisioning",
"statusDetails": "",
"hostingMode": "default",
"provisioningState": "provisioning",
"publicNetworkAccess": "enabled",
"networkRuleSet": {
"ipRules": [],
"bypass": "None"
},
"privateEndpointConnections": [],
"sharedPrivateLinkResources": [],
"encryptionWithCmk": {
"enforcement": "Unspecified",
"encryptionComplianceStatus": "Compliant"
},
"disableLocalAuth": false,
"authOptions": {
"apiKeyOnly": {}
},
"disabledDataExfiltrationOptions": []
}
}
SearchUpdateServiceAuthOptions
Образец запроса
PATCH https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice?api-version=2024-03-01-preview
{
"tags": {
"app-name": "My e-commerce app",
"new-tag": "Adding a new tag"
},
"properties": {
"replicaCount": 2,
"authOptions": {
"aadOrApiKey": {
"aadAuthFailureMode": "http401WithBearerChallenge"
}
}
}
}
from azure.identity import DefaultAzureCredential
from azure.mgmt.search import SearchManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-search
# USAGE
python search_update_service_auth_options.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.services.update(
resource_group_name="rg1",
search_service_name="mysearchservice",
service={
"properties": {
"authOptions": {"aadOrApiKey": {"aadAuthFailureMode": "http401WithBearerChallenge"}},
"replicaCount": 2,
},
"tags": {"app-name": "My e-commerce app", "new-tag": "Adding a new tag"},
},
)
print(response)
# x-ms-original-file: specification/search/resource-manager/Microsoft.Search/preview/2024-03-01-preview/examples/SearchUpdateServiceAuthOptions.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/azcore/to"
"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/SearchUpdateServiceAuthOptions.json
func ExampleServicesClient_Update_searchUpdateServiceAuthOptions() {
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.NewServicesClient().Update(ctx, "rg1", "mysearchservice", armsearch.ServiceUpdate{
Properties: &armsearch.ServiceProperties{
AuthOptions: &armsearch.DataPlaneAuthOptions{
AADOrAPIKey: &armsearch.DataPlaneAADOrAPIKeyAuthOption{
AADAuthFailureMode: to.Ptr(armsearch.AADAuthFailureModeHttp401WithBearerChallenge),
},
},
ReplicaCount: to.Ptr[int32](2),
},
Tags: map[string]*string{
"app-name": to.Ptr("My e-commerce app"),
"new-tag": to.Ptr("Adding a new tag"),
},
}, &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.Service = armsearch.Service{
// Name: to.Ptr("mysearchservice"),
// Type: to.Ptr("Microsoft.Search/searchServices"),
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice"),
// Location: to.Ptr("westus"),
// Tags: map[string]*string{
// "app-name": to.Ptr("My e-commerce app"),
// "new-tag": to.Ptr("Adding a new tag"),
// },
// Properties: &armsearch.ServiceProperties{
// AuthOptions: &armsearch.DataPlaneAuthOptions{
// AADOrAPIKey: &armsearch.DataPlaneAADOrAPIKeyAuthOption{
// AADAuthFailureMode: to.Ptr(armsearch.AADAuthFailureModeHttp401WithBearerChallenge),
// },
// },
// DisabledDataExfiltrationOptions: []*armsearch.SearchDisabledDataExfiltrationOption{
// },
// EncryptionWithCmk: &armsearch.EncryptionWithCmk{
// EncryptionComplianceStatus: to.Ptr(armsearch.SearchEncryptionComplianceStatusCompliant),
// Enforcement: to.Ptr(armsearch.SearchEncryptionWithCmkUnspecified),
// },
// HostingMode: to.Ptr(armsearch.HostingModeDefault),
// NetworkRuleSet: &armsearch.NetworkRuleSet{
// Bypass: to.Ptr(armsearch.SearchBypassNone),
// IPRules: []*armsearch.IPRule{
// },
// },
// PartitionCount: to.Ptr[int32](1),
// PrivateEndpointConnections: []*armsearch.PrivateEndpointConnection{
// },
// ProvisioningState: to.Ptr(armsearch.ProvisioningStateSucceeded),
// PublicNetworkAccess: to.Ptr(armsearch.PublicNetworkAccessEnabled),
// ReplicaCount: to.Ptr[int32](2),
// SharedPrivateLinkResources: []*armsearch.SharedPrivateLinkResource{
// },
// Status: to.Ptr(armsearch.SearchServiceStatusProvisioning),
// StatusDetails: to.Ptr(""),
// },
// SKU: &armsearch.SKU{
// Name: to.Ptr(armsearch.SKUNameStandard),
// },
// }
}
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 Updates an existing search service in the given resource group.
*
* @summary Updates an existing search service in the given resource group.
* x-ms-original-file: specification/search/resource-manager/Microsoft.Search/preview/2024-03-01-preview/examples/SearchUpdateServiceAuthOptions.json
*/
async function searchUpdateServiceAuthOptions() {
const subscriptionId = process.env["SEARCH_SUBSCRIPTION_ID"] || "subid";
const resourceGroupName = process.env["SEARCH_RESOURCE_GROUP"] || "rg1";
const searchServiceName = "mysearchservice";
const service = {
authOptions: {
aadOrApiKey: { aadAuthFailureMode: "http401WithBearerChallenge" },
},
replicaCount: 2,
tags: { appName: "My e-commerce app", newTag: "Adding a new tag" },
};
const credential = new DefaultAzureCredential();
const client = new SearchManagementClient(credential, subscriptionId);
const result = await client.services.update(resourceGroupName, searchServiceName, service);
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/SearchUpdateServiceAuthOptions.json
// this example is just showing the usage of "Services_Update" 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
SearchServicePatch patch = new SearchServicePatch(new AzureLocation("placeholder"))
{
ReplicaCount = 2,
AuthOptions = new SearchAadAuthDataPlaneAuthOptions()
{
AadAuthFailureMode = SearchAadAuthFailureMode.Http401WithBearerChallenge,
},
Tags =
{
["app-name"] = "My e-commerce app",
["new-tag"] = "Adding a new tag",
},
};
SearchServiceResource result = await searchService.UpdateAsync(patch);
// the variable result is a resource, you could call other operations on this instance as well
// but just for demo, we get its data from this resource instance
SearchServiceData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Пример ответа
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice",
"name": "mysearchservice",
"location": "westus",
"type": "Microsoft.Search/searchServices",
"tags": {
"app-name": "My e-commerce app",
"new-tag": "Adding a new tag"
},
"sku": {
"name": "standard"
},
"properties": {
"replicaCount": 2,
"partitionCount": 1,
"status": "provisioning",
"statusDetails": "",
"hostingMode": "default",
"provisioningState": "provisioning",
"publicNetworkAccess": "enabled",
"networkRuleSet": {
"ipRules": [],
"bypass": "None"
},
"privateEndpointConnections": [],
"sharedPrivateLinkResources": [],
"encryptionWithCmk": {
"enforcement": "Unspecified",
"encryptionComplianceStatus": "Compliant"
},
"authOptions": {
"aadOrApiKey": {
"aadAuthFailureMode": "http401WithBearerChallenge"
}
},
"disabledDataExfiltrationOptions": []
}
}
SearchUpdateServiceDisableLocalAuth
Образец запроса
PATCH https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice?api-version=2024-03-01-preview
{
"tags": {
"app-name": "My e-commerce app",
"new-tag": "Adding a new tag"
},
"properties": {
"replicaCount": 2,
"disableLocalAuth": true
}
}
from azure.identity import DefaultAzureCredential
from azure.mgmt.search import SearchManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-search
# USAGE
python search_update_service_disable_local_auth.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.services.update(
resource_group_name="rg1",
search_service_name="mysearchservice",
service={
"properties": {"disableLocalAuth": True, "replicaCount": 2},
"tags": {"app-name": "My e-commerce app", "new-tag": "Adding a new tag"},
},
)
print(response)
# x-ms-original-file: specification/search/resource-manager/Microsoft.Search/preview/2024-03-01-preview/examples/SearchUpdateServiceDisableLocalAuth.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/azcore/to"
"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/SearchUpdateServiceDisableLocalAuth.json
func ExampleServicesClient_Update_searchUpdateServiceDisableLocalAuth() {
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.NewServicesClient().Update(ctx, "rg1", "mysearchservice", armsearch.ServiceUpdate{
Properties: &armsearch.ServiceProperties{
DisableLocalAuth: to.Ptr(true),
ReplicaCount: to.Ptr[int32](2),
},
Tags: map[string]*string{
"app-name": to.Ptr("My e-commerce app"),
"new-tag": to.Ptr("Adding a new tag"),
},
}, &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.Service = armsearch.Service{
// Name: to.Ptr("mysearchservice"),
// Type: to.Ptr("Microsoft.Search/searchServices"),
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice"),
// Location: to.Ptr("westus"),
// Tags: map[string]*string{
// "app-name": to.Ptr("My e-commerce app"),
// "new-tag": to.Ptr("Adding a new tag"),
// },
// Properties: &armsearch.ServiceProperties{
// DisableLocalAuth: to.Ptr(true),
// DisabledDataExfiltrationOptions: []*armsearch.SearchDisabledDataExfiltrationOption{
// },
// EncryptionWithCmk: &armsearch.EncryptionWithCmk{
// EncryptionComplianceStatus: to.Ptr(armsearch.SearchEncryptionComplianceStatusCompliant),
// Enforcement: to.Ptr(armsearch.SearchEncryptionWithCmkUnspecified),
// },
// HostingMode: to.Ptr(armsearch.HostingModeDefault),
// NetworkRuleSet: &armsearch.NetworkRuleSet{
// Bypass: to.Ptr(armsearch.SearchBypassNone),
// IPRules: []*armsearch.IPRule{
// },
// },
// PartitionCount: to.Ptr[int32](1),
// PrivateEndpointConnections: []*armsearch.PrivateEndpointConnection{
// },
// ProvisioningState: to.Ptr(armsearch.ProvisioningStateSucceeded),
// PublicNetworkAccess: to.Ptr(armsearch.PublicNetworkAccessEnabled),
// ReplicaCount: to.Ptr[int32](2),
// SharedPrivateLinkResources: []*armsearch.SharedPrivateLinkResource{
// },
// Status: to.Ptr(armsearch.SearchServiceStatusProvisioning),
// StatusDetails: to.Ptr(""),
// },
// SKU: &armsearch.SKU{
// Name: to.Ptr(armsearch.SKUNameStandard),
// },
// }
}
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 Updates an existing search service in the given resource group.
*
* @summary Updates an existing search service in the given resource group.
* x-ms-original-file: specification/search/resource-manager/Microsoft.Search/preview/2024-03-01-preview/examples/SearchUpdateServiceDisableLocalAuth.json
*/
async function searchUpdateServiceDisableLocalAuth() {
const subscriptionId = process.env["SEARCH_SUBSCRIPTION_ID"] || "subid";
const resourceGroupName = process.env["SEARCH_RESOURCE_GROUP"] || "rg1";
const searchServiceName = "mysearchservice";
const service = {
disableLocalAuth: true,
replicaCount: 2,
tags: { appName: "My e-commerce app", newTag: "Adding a new tag" },
};
const credential = new DefaultAzureCredential();
const client = new SearchManagementClient(credential, subscriptionId);
const result = await client.services.update(resourceGroupName, searchServiceName, service);
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/SearchUpdateServiceDisableLocalAuth.json
// this example is just showing the usage of "Services_Update" 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
SearchServicePatch patch = new SearchServicePatch(new AzureLocation("placeholder"))
{
ReplicaCount = 2,
IsLocalAuthDisabled = true,
Tags =
{
["app-name"] = "My e-commerce app",
["new-tag"] = "Adding a new tag",
},
};
SearchServiceResource result = await searchService.UpdateAsync(patch);
// the variable result is a resource, you could call other operations on this instance as well
// but just for demo, we get its data from this resource instance
SearchServiceData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Пример ответа
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice",
"name": "mysearchservice",
"location": "westus",
"type": "Microsoft.Search/searchServices",
"tags": {
"app-name": "My e-commerce app",
"new-tag": "Adding a new tag"
},
"sku": {
"name": "standard"
},
"properties": {
"replicaCount": 2,
"partitionCount": 1,
"status": "provisioning",
"statusDetails": "",
"hostingMode": "default",
"provisioningState": "provisioning",
"publicNetworkAccess": "enabled",
"networkRuleSet": {
"ipRules": [],
"bypass": "None"
},
"privateEndpointConnections": [],
"sharedPrivateLinkResources": [],
"encryptionWithCmk": {
"enforcement": "Unspecified",
"encryptionComplianceStatus": "Compliant"
},
"disableLocalAuth": true,
"authOptions": null,
"disabledDataExfiltrationOptions": []
}
}
SearchUpdateServiceToAllowAccessFromPrivateEndpoints
Образец запроса
PATCH https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice?api-version=2024-03-01-preview
{
"properties": {
"replicaCount": 1,
"partitionCount": 1,
"publicNetworkAccess": "disabled"
}
}
from azure.identity import DefaultAzureCredential
from azure.mgmt.search import SearchManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-search
# USAGE
python search_update_service_to_allow_access_from_private_endpoints.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.services.update(
resource_group_name="rg1",
search_service_name="mysearchservice",
service={"properties": {"partitionCount": 1, "publicNetworkAccess": "disabled", "replicaCount": 1}},
)
print(response)
# x-ms-original-file: specification/search/resource-manager/Microsoft.Search/preview/2024-03-01-preview/examples/SearchUpdateServiceToAllowAccessFromPrivateEndpoints.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/azcore/to"
"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/SearchUpdateServiceToAllowAccessFromPrivateEndpoints.json
func ExampleServicesClient_Update_searchUpdateServiceToAllowAccessFromPrivateEndpoints() {
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.NewServicesClient().Update(ctx, "rg1", "mysearchservice", armsearch.ServiceUpdate{
Properties: &armsearch.ServiceProperties{
PartitionCount: to.Ptr[int32](1),
PublicNetworkAccess: to.Ptr(armsearch.PublicNetworkAccessDisabled),
ReplicaCount: to.Ptr[int32](1),
},
}, &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.Service = armsearch.Service{
// Name: to.Ptr("mysearchservice"),
// Type: to.Ptr("Microsoft.Search/searchServices"),
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice"),
// Location: to.Ptr("westus"),
// Tags: map[string]*string{
// "app-name": to.Ptr("My e-commerce app"),
// "new-tag": to.Ptr("Adding a new tag"),
// },
// Properties: &armsearch.ServiceProperties{
// AuthOptions: &armsearch.DataPlaneAuthOptions{
// APIKeyOnly: map[string]any{
// },
// },
// DisableLocalAuth: to.Ptr(false),
// DisabledDataExfiltrationOptions: []*armsearch.SearchDisabledDataExfiltrationOption{
// },
// EncryptionWithCmk: &armsearch.EncryptionWithCmk{
// EncryptionComplianceStatus: to.Ptr(armsearch.SearchEncryptionComplianceStatusCompliant),
// Enforcement: to.Ptr(armsearch.SearchEncryptionWithCmkUnspecified),
// },
// HostingMode: to.Ptr(armsearch.HostingModeDefault),
// NetworkRuleSet: &armsearch.NetworkRuleSet{
// Bypass: to.Ptr(armsearch.SearchBypassNone),
// IPRules: []*armsearch.IPRule{
// },
// },
// PartitionCount: to.Ptr[int32](1),
// PrivateEndpointConnections: []*armsearch.PrivateEndpointConnection{
// },
// ProvisioningState: to.Ptr(armsearch.ProvisioningStateSucceeded),
// PublicNetworkAccess: to.Ptr(armsearch.PublicNetworkAccessDisabled),
// ReplicaCount: to.Ptr[int32](1),
// SharedPrivateLinkResources: []*armsearch.SharedPrivateLinkResource{
// },
// Status: to.Ptr(armsearch.SearchServiceStatusRunning),
// StatusDetails: to.Ptr(""),
// },
// SKU: &armsearch.SKU{
// Name: to.Ptr(armsearch.SKUNameBasic),
// },
// }
}
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 Updates an existing search service in the given resource group.
*
* @summary Updates an existing search service in the given resource group.
* x-ms-original-file: specification/search/resource-manager/Microsoft.Search/preview/2024-03-01-preview/examples/SearchUpdateServiceToAllowAccessFromPrivateEndpoints.json
*/
async function searchUpdateServiceToAllowAccessFromPrivateEndpoints() {
const subscriptionId = process.env["SEARCH_SUBSCRIPTION_ID"] || "subid";
const resourceGroupName = process.env["SEARCH_RESOURCE_GROUP"] || "rg1";
const searchServiceName = "mysearchservice";
const service = {
partitionCount: 1,
publicNetworkAccess: "disabled",
replicaCount: 1,
};
const credential = new DefaultAzureCredential();
const client = new SearchManagementClient(credential, subscriptionId);
const result = await client.services.update(resourceGroupName, searchServiceName, service);
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/SearchUpdateServiceToAllowAccessFromPrivateEndpoints.json
// this example is just showing the usage of "Services_Update" 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
SearchServicePatch patch = new SearchServicePatch(new AzureLocation("placeholder"))
{
ReplicaCount = 1,
PartitionCount = 1,
PublicInternetAccess = SearchServicePublicInternetAccess.Disabled,
};
SearchServiceResource result = await searchService.UpdateAsync(patch);
// the variable result is a resource, you could call other operations on this instance as well
// but just for demo, we get its data from this resource instance
SearchServiceData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Пример ответа
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice",
"name": "mysearchservice",
"location": "westus",
"type": "Microsoft.Search/searchServices",
"tags": {
"app-name": "My e-commerce app",
"new-tag": "Adding a new tag"
},
"sku": {
"name": "basic"
},
"properties": {
"replicaCount": 1,
"partitionCount": 1,
"status": "running",
"statusDetails": "",
"hostingMode": "default",
"provisioningState": "succeeded",
"publicNetworkAccess": "disabled",
"networkRuleSet": {
"ipRules": [],
"bypass": "None"
},
"privateEndpointConnections": [],
"sharedPrivateLinkResources": [],
"encryptionWithCmk": {
"enforcement": "Unspecified",
"encryptionComplianceStatus": "Compliant"
},
"disableLocalAuth": false,
"authOptions": {
"apiKeyOnly": {}
},
"disabledDataExfiltrationOptions": []
}
}
SearchUpdateServiceToAllowAccessFromPublicCustomIPs
Образец запроса
PATCH https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice?api-version=2024-03-01-preview
{
"properties": {
"replicaCount": 3,
"partitionCount": 1,
"publicNetworkAccess": "enabled",
"networkRuleSet": {
"ipRules": [
{
"value": "123.4.5.6"
},
{
"value": "123.4.6.0/18"
}
]
}
}
}
from azure.identity import DefaultAzureCredential
from azure.mgmt.search import SearchManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-search
# USAGE
python search_update_service_to_allow_access_from_public_custom_ips.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.services.update(
resource_group_name="rg1",
search_service_name="mysearchservice",
service={
"properties": {
"networkRuleSet": {"ipRules": [{"value": "123.4.5.6"}, {"value": "123.4.6.0/18"}]},
"partitionCount": 1,
"publicNetworkAccess": "enabled",
"replicaCount": 3,
}
},
)
print(response)
# x-ms-original-file: specification/search/resource-manager/Microsoft.Search/preview/2024-03-01-preview/examples/SearchUpdateServiceToAllowAccessFromPublicCustomIPs.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/azcore/to"
"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/SearchUpdateServiceToAllowAccessFromPublicCustomIPs.json
func ExampleServicesClient_Update_searchUpdateServiceToAllowAccessFromPublicCustomIPs() {
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.NewServicesClient().Update(ctx, "rg1", "mysearchservice", armsearch.ServiceUpdate{
Properties: &armsearch.ServiceProperties{
NetworkRuleSet: &armsearch.NetworkRuleSet{
IPRules: []*armsearch.IPRule{
{
Value: to.Ptr("123.4.5.6"),
},
{
Value: to.Ptr("123.4.6.0/18"),
}},
},
PartitionCount: to.Ptr[int32](1),
PublicNetworkAccess: to.Ptr(armsearch.PublicNetworkAccessEnabled),
ReplicaCount: to.Ptr[int32](3),
},
}, &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.Service = armsearch.Service{
// Name: to.Ptr("mysearchservice"),
// Type: to.Ptr("Microsoft.Search/searchServices"),
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice"),
// Location: to.Ptr("westus"),
// Tags: map[string]*string{
// "app-name": to.Ptr("My e-commerce app"),
// "new-tag": to.Ptr("Adding a new tag"),
// },
// Properties: &armsearch.ServiceProperties{
// AuthOptions: &armsearch.DataPlaneAuthOptions{
// APIKeyOnly: map[string]any{
// },
// },
// DisableLocalAuth: to.Ptr(false),
// DisabledDataExfiltrationOptions: []*armsearch.SearchDisabledDataExfiltrationOption{
// },
// EncryptionWithCmk: &armsearch.EncryptionWithCmk{
// EncryptionComplianceStatus: to.Ptr(armsearch.SearchEncryptionComplianceStatusCompliant),
// Enforcement: to.Ptr(armsearch.SearchEncryptionWithCmkUnspecified),
// },
// HostingMode: to.Ptr(armsearch.HostingModeDefault),
// NetworkRuleSet: &armsearch.NetworkRuleSet{
// IPRules: []*armsearch.IPRule{
// {
// Value: to.Ptr("10.2.3.4"),
// }},
// },
// PartitionCount: to.Ptr[int32](1),
// PrivateEndpointConnections: []*armsearch.PrivateEndpointConnection{
// },
// ProvisioningState: to.Ptr(armsearch.ProvisioningStateSucceeded),
// PublicNetworkAccess: to.Ptr(armsearch.PublicNetworkAccessEnabled),
// ReplicaCount: to.Ptr[int32](3),
// SharedPrivateLinkResources: []*armsearch.SharedPrivateLinkResource{
// },
// Status: to.Ptr(armsearch.SearchServiceStatusRunning),
// StatusDetails: to.Ptr(""),
// },
// SKU: &armsearch.SKU{
// Name: to.Ptr(armsearch.SKUNameStandard),
// },
// }
}
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 Updates an existing search service in the given resource group.
*
* @summary Updates an existing search service in the given resource group.
* x-ms-original-file: specification/search/resource-manager/Microsoft.Search/preview/2024-03-01-preview/examples/SearchUpdateServiceToAllowAccessFromPublicCustomIPs.json
*/
async function searchUpdateServiceToAllowAccessFromPublicCustomIPs() {
const subscriptionId = process.env["SEARCH_SUBSCRIPTION_ID"] || "subid";
const resourceGroupName = process.env["SEARCH_RESOURCE_GROUP"] || "rg1";
const searchServiceName = "mysearchservice";
const service = {
networkRuleSet: {
ipRules: [{ value: "123.4.5.6" }, { value: "123.4.6.0/18" }],
},
partitionCount: 1,
publicNetworkAccess: "enabled",
replicaCount: 3,
};
const credential = new DefaultAzureCredential();
const client = new SearchManagementClient(credential, subscriptionId);
const result = await client.services.update(resourceGroupName, searchServiceName, service);
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/SearchUpdateServiceToAllowAccessFromPublicCustomIPs.json
// this example is just showing the usage of "Services_Update" 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
SearchServicePatch patch = new SearchServicePatch(new AzureLocation("placeholder"))
{
ReplicaCount = 3,
PartitionCount = 1,
PublicInternetAccess = SearchServicePublicInternetAccess.Enabled,
NetworkRuleSet = new SearchServiceNetworkRuleSet()
{
IPRules =
{
new SearchServiceIPRule()
{
Value = "123.4.5.6",
},new SearchServiceIPRule()
{
Value = "123.4.6.0/18",
}
},
},
};
SearchServiceResource result = await searchService.UpdateAsync(patch);
// the variable result is a resource, you could call other operations on this instance as well
// but just for demo, we get its data from this resource instance
SearchServiceData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Пример ответа
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice",
"name": "mysearchservice",
"location": "westus",
"type": "Microsoft.Search/searchServices",
"tags": {
"app-name": "My e-commerce app",
"new-tag": "Adding a new tag"
},
"sku": {
"name": "standard"
},
"properties": {
"replicaCount": 3,
"partitionCount": 1,
"status": "running",
"statusDetails": "",
"hostingMode": "default",
"provisioningState": "succeeded",
"publicNetworkAccess": "enabled",
"networkRuleSet": {
"ipRules": [
{
"value": "10.2.3.4"
}
]
},
"privateEndpointConnections": [],
"sharedPrivateLinkResources": [],
"encryptionWithCmk": {
"enforcement": "Unspecified",
"encryptionComplianceStatus": "Compliant"
},
"disableLocalAuth": false,
"authOptions": {
"apiKeyOnly": {}
},
"disabledDataExfiltrationOptions": []
}
}
SearchUpdateServiceToAllowAccessFromPublicCustomIPsAndBypass
Образец запроса
PATCH https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice?api-version=2024-03-01-preview
{
"properties": {
"replicaCount": 3,
"partitionCount": 1,
"publicNetworkAccess": "enabled",
"networkRuleSet": {
"ipRules": [
{
"value": "123.4.5.6"
},
{
"value": "123.4.6.0/18"
}
],
"bypass": "AzurePortal"
}
}
}
from azure.identity import DefaultAzureCredential
from azure.mgmt.search import SearchManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-search
# USAGE
python search_update_service_to_allow_access_from_public_custom_ips_and_bypass.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.services.update(
resource_group_name="rg1",
search_service_name="mysearchservice",
service={
"properties": {
"networkRuleSet": {
"bypass": "AzurePortal",
"ipRules": [{"value": "123.4.5.6"}, {"value": "123.4.6.0/18"}],
},
"partitionCount": 1,
"publicNetworkAccess": "enabled",
"replicaCount": 3,
}
},
)
print(response)
# x-ms-original-file: specification/search/resource-manager/Microsoft.Search/preview/2024-03-01-preview/examples/SearchUpdateServiceToAllowAccessFromPublicCustomIPsAndBypass.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/azcore/to"
"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/SearchUpdateServiceToAllowAccessFromPublicCustomIPsAndBypass.json
func ExampleServicesClient_Update_searchUpdateServiceToAllowAccessFromPublicCustomIPsAndBypass() {
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.NewServicesClient().Update(ctx, "rg1", "mysearchservice", armsearch.ServiceUpdate{
Properties: &armsearch.ServiceProperties{
NetworkRuleSet: &armsearch.NetworkRuleSet{
Bypass: to.Ptr(armsearch.SearchBypassAzurePortal),
IPRules: []*armsearch.IPRule{
{
Value: to.Ptr("123.4.5.6"),
},
{
Value: to.Ptr("123.4.6.0/18"),
}},
},
PartitionCount: to.Ptr[int32](1),
PublicNetworkAccess: to.Ptr(armsearch.PublicNetworkAccessEnabled),
ReplicaCount: to.Ptr[int32](3),
},
}, &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.Service = armsearch.Service{
// Name: to.Ptr("mysearchservice"),
// Type: to.Ptr("Microsoft.Search/searchServices"),
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice"),
// Location: to.Ptr("westus"),
// Tags: map[string]*string{
// "app-name": to.Ptr("My e-commerce app"),
// "new-tag": to.Ptr("Adding a new tag"),
// },
// Properties: &armsearch.ServiceProperties{
// AuthOptions: &armsearch.DataPlaneAuthOptions{
// APIKeyOnly: map[string]any{
// },
// },
// DisableLocalAuth: to.Ptr(false),
// DisabledDataExfiltrationOptions: []*armsearch.SearchDisabledDataExfiltrationOption{
// },
// EncryptionWithCmk: &armsearch.EncryptionWithCmk{
// EncryptionComplianceStatus: to.Ptr(armsearch.SearchEncryptionComplianceStatusCompliant),
// Enforcement: to.Ptr(armsearch.SearchEncryptionWithCmkUnspecified),
// },
// HostingMode: to.Ptr(armsearch.HostingModeDefault),
// NetworkRuleSet: &armsearch.NetworkRuleSet{
// Bypass: to.Ptr(armsearch.SearchBypassAzurePortal),
// IPRules: []*armsearch.IPRule{
// {
// Value: to.Ptr("10.2.3.4"),
// }},
// },
// PartitionCount: to.Ptr[int32](1),
// PrivateEndpointConnections: []*armsearch.PrivateEndpointConnection{
// },
// ProvisioningState: to.Ptr(armsearch.ProvisioningStateSucceeded),
// PublicNetworkAccess: to.Ptr(armsearch.PublicNetworkAccessEnabled),
// ReplicaCount: to.Ptr[int32](3),
// SharedPrivateLinkResources: []*armsearch.SharedPrivateLinkResource{
// },
// Status: to.Ptr(armsearch.SearchServiceStatusRunning),
// StatusDetails: to.Ptr(""),
// },
// SKU: &armsearch.SKU{
// Name: to.Ptr(armsearch.SKUNameStandard),
// },
// }
}
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 Updates an existing search service in the given resource group.
*
* @summary Updates an existing search service in the given resource group.
* x-ms-original-file: specification/search/resource-manager/Microsoft.Search/preview/2024-03-01-preview/examples/SearchUpdateServiceToAllowAccessFromPublicCustomIPsAndBypass.json
*/
async function searchUpdateServiceToAllowAccessFromPublicCustomIPsAndBypass() {
const subscriptionId = process.env["SEARCH_SUBSCRIPTION_ID"] || "subid";
const resourceGroupName = process.env["SEARCH_RESOURCE_GROUP"] || "rg1";
const searchServiceName = "mysearchservice";
const service = {
networkRuleSet: {
bypass: "AzurePortal",
ipRules: [{ value: "123.4.5.6" }, { value: "123.4.6.0/18" }],
},
partitionCount: 1,
publicNetworkAccess: "enabled",
replicaCount: 3,
};
const credential = new DefaultAzureCredential();
const client = new SearchManagementClient(credential, subscriptionId);
const result = await client.services.update(resourceGroupName, searchServiceName, service);
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/SearchUpdateServiceToAllowAccessFromPublicCustomIPsAndBypass.json
// this example is just showing the usage of "Services_Update" 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
SearchServicePatch patch = new SearchServicePatch(new AzureLocation("placeholder"))
{
ReplicaCount = 3,
PartitionCount = 1,
PublicInternetAccess = SearchServicePublicInternetAccess.Enabled,
NetworkRuleSet = new SearchServiceNetworkRuleSet()
{
IPRules =
{
new SearchServiceIPRule()
{
Value = "123.4.5.6",
},new SearchServiceIPRule()
{
Value = "123.4.6.0/18",
}
},
Bypass = SearchBypass.AzurePortal,
},
};
SearchServiceResource result = await searchService.UpdateAsync(patch);
// the variable result is a resource, you could call other operations on this instance as well
// but just for demo, we get its data from this resource instance
SearchServiceData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Пример ответа
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice",
"name": "mysearchservice",
"location": "westus",
"type": "Microsoft.Search/searchServices",
"tags": {
"app-name": "My e-commerce app",
"new-tag": "Adding a new tag"
},
"sku": {
"name": "standard"
},
"properties": {
"replicaCount": 3,
"partitionCount": 1,
"status": "running",
"statusDetails": "",
"hostingMode": "default",
"provisioningState": "succeeded",
"publicNetworkAccess": "enabled",
"networkRuleSet": {
"ipRules": [
{
"value": "10.2.3.4"
}
],
"bypass": "AzurePortal"
},
"privateEndpointConnections": [],
"sharedPrivateLinkResources": [],
"encryptionWithCmk": {
"enforcement": "Unspecified",
"encryptionComplianceStatus": "Compliant"
},
"disableLocalAuth": false,
"authOptions": {
"apiKeyOnly": {}
},
"disabledDataExfiltrationOptions": []
}
}
SearchUpdateServiceToRemoveIdentity
Образец запроса
PATCH https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice?api-version=2024-03-01-preview
{
"sku": {
"name": "standard"
},
"identity": {
"type": "None"
}
}
from azure.identity import DefaultAzureCredential
from azure.mgmt.search import SearchManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-search
# USAGE
python search_update_service_to_remove_identity.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.services.update(
resource_group_name="rg1",
search_service_name="mysearchservice",
service={"identity": {"type": "None"}, "sku": {"name": "standard"}},
)
print(response)
# x-ms-original-file: specification/search/resource-manager/Microsoft.Search/preview/2024-03-01-preview/examples/SearchUpdateServiceToRemoveIdentity.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/azcore/to"
"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/SearchUpdateServiceToRemoveIdentity.json
func ExampleServicesClient_Update_searchUpdateServiceToRemoveIdentity() {
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.NewServicesClient().Update(ctx, "rg1", "mysearchservice", armsearch.ServiceUpdate{
Identity: &armsearch.Identity{
Type: to.Ptr(armsearch.IdentityTypeNone),
},
SKU: &armsearch.SKU{
Name: to.Ptr(armsearch.SKUNameStandard),
},
}, &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.Service = armsearch.Service{
// Name: to.Ptr("mysearchservice"),
// Type: to.Ptr("Microsoft.Search/searchServices"),
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice"),
// Location: to.Ptr("westus"),
// Tags: map[string]*string{
// },
// Properties: &armsearch.ServiceProperties{
// AuthOptions: &armsearch.DataPlaneAuthOptions{
// APIKeyOnly: map[string]any{
// },
// },
// DisableLocalAuth: to.Ptr(false),
// DisabledDataExfiltrationOptions: []*armsearch.SearchDisabledDataExfiltrationOption{
// },
// EncryptionWithCmk: &armsearch.EncryptionWithCmk{
// EncryptionComplianceStatus: to.Ptr(armsearch.SearchEncryptionComplianceStatusCompliant),
// Enforcement: to.Ptr(armsearch.SearchEncryptionWithCmkUnspecified),
// },
// HostingMode: to.Ptr(armsearch.HostingModeDefault),
// NetworkRuleSet: &armsearch.NetworkRuleSet{
// Bypass: to.Ptr(armsearch.SearchBypassNone),
// IPRules: []*armsearch.IPRule{
// },
// },
// PartitionCount: to.Ptr[int32](1),
// PrivateEndpointConnections: []*armsearch.PrivateEndpointConnection{
// },
// ProvisioningState: to.Ptr(armsearch.ProvisioningStateSucceeded),
// PublicNetworkAccess: to.Ptr(armsearch.PublicNetworkAccessEnabled),
// ReplicaCount: to.Ptr[int32](3),
// SharedPrivateLinkResources: []*armsearch.SharedPrivateLinkResource{
// },
// Status: to.Ptr(armsearch.SearchServiceStatusRunning),
// StatusDetails: to.Ptr(""),
// },
// SKU: &armsearch.SKU{
// Name: to.Ptr(armsearch.SKUNameStandard),
// },
// }
}
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 Updates an existing search service in the given resource group.
*
* @summary Updates an existing search service in the given resource group.
* x-ms-original-file: specification/search/resource-manager/Microsoft.Search/preview/2024-03-01-preview/examples/SearchUpdateServiceToRemoveIdentity.json
*/
async function searchUpdateServiceToRemoveIdentity() {
const subscriptionId = process.env["SEARCH_SUBSCRIPTION_ID"] || "subid";
const resourceGroupName = process.env["SEARCH_RESOURCE_GROUP"] || "rg1";
const searchServiceName = "mysearchservice";
const service = {
identity: { type: "None" },
sku: { name: "standard" },
};
const credential = new DefaultAzureCredential();
const client = new SearchManagementClient(credential, subscriptionId);
const result = await client.services.update(resourceGroupName, searchServiceName, service);
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/SearchUpdateServiceToRemoveIdentity.json
// this example is just showing the usage of "Services_Update" 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
SearchServicePatch patch = new SearchServicePatch(new AzureLocation("placeholder"))
{
SearchSkuName = SearchServiceSkuName.Standard,
Identity = new ManagedServiceIdentity("None"),
};
SearchServiceResource result = await searchService.UpdateAsync(patch);
// the variable result is a resource, you could call other operations on this instance as well
// but just for demo, we get its data from this resource instance
SearchServiceData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Пример ответа
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice",
"name": "mysearchservice",
"location": "westus",
"type": "Microsoft.Search/searchServices",
"tags": {},
"sku": {
"name": "standard"
},
"properties": {
"replicaCount": 3,
"partitionCount": 1,
"status": "running",
"statusDetails": "",
"hostingMode": "default",
"provisioningState": "succeeded",
"publicNetworkAccess": "enabled",
"networkRuleSet": {
"ipRules": [],
"bypass": "None"
},
"privateEndpointConnections": [],
"sharedPrivateLinkResources": [],
"encryptionWithCmk": {
"enforcement": "Unspecified",
"encryptionComplianceStatus": "Compliant"
},
"disableLocalAuth": false,
"authOptions": {
"apiKeyOnly": {}
},
"disabledDataExfiltrationOptions": []
}
}
SearchUpdateServiceWithCmkEnforcement
Образец запроса
PATCH https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice?api-version=2024-03-01-preview
{
"tags": {
"app-name": "My e-commerce app",
"new-tag": "Adding a new tag"
},
"properties": {
"replicaCount": 2,
"encryptionWithCmk": {
"enforcement": "Enabled"
}
}
}
from azure.identity import DefaultAzureCredential
from azure.mgmt.search import SearchManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-search
# USAGE
python search_update_service_with_cmk_enforcement.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.services.update(
resource_group_name="rg1",
search_service_name="mysearchservice",
service={
"properties": {"encryptionWithCmk": {"enforcement": "Enabled"}, "replicaCount": 2},
"tags": {"app-name": "My e-commerce app", "new-tag": "Adding a new tag"},
},
)
print(response)
# x-ms-original-file: specification/search/resource-manager/Microsoft.Search/preview/2024-03-01-preview/examples/SearchUpdateServiceWithCmkEnforcement.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/azcore/to"
"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/SearchUpdateServiceWithCmkEnforcement.json
func ExampleServicesClient_Update_searchUpdateServiceWithCmkEnforcement() {
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.NewServicesClient().Update(ctx, "rg1", "mysearchservice", armsearch.ServiceUpdate{
Properties: &armsearch.ServiceProperties{
EncryptionWithCmk: &armsearch.EncryptionWithCmk{
Enforcement: to.Ptr(armsearch.SearchEncryptionWithCmkEnabled),
},
ReplicaCount: to.Ptr[int32](2),
},
Tags: map[string]*string{
"app-name": to.Ptr("My e-commerce app"),
"new-tag": to.Ptr("Adding a new tag"),
},
}, &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.Service = armsearch.Service{
// Name: to.Ptr("mysearchservice"),
// Type: to.Ptr("Microsoft.Search/searchServices"),
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice"),
// Location: to.Ptr("westus"),
// Tags: map[string]*string{
// "app-name": to.Ptr("My e-commerce app"),
// "new-tag": to.Ptr("Adding a new tag"),
// },
// Properties: &armsearch.ServiceProperties{
// AuthOptions: &armsearch.DataPlaneAuthOptions{
// APIKeyOnly: map[string]any{
// },
// },
// DisableLocalAuth: to.Ptr(false),
// DisabledDataExfiltrationOptions: []*armsearch.SearchDisabledDataExfiltrationOption{
// },
// EncryptionWithCmk: &armsearch.EncryptionWithCmk{
// EncryptionComplianceStatus: to.Ptr(armsearch.SearchEncryptionComplianceStatusCompliant),
// Enforcement: to.Ptr(armsearch.SearchEncryptionWithCmkEnabled),
// },
// HostingMode: to.Ptr(armsearch.HostingModeDefault),
// NetworkRuleSet: &armsearch.NetworkRuleSet{
// Bypass: to.Ptr(armsearch.SearchBypassNone),
// IPRules: []*armsearch.IPRule{
// },
// },
// PartitionCount: to.Ptr[int32](1),
// PrivateEndpointConnections: []*armsearch.PrivateEndpointConnection{
// },
// ProvisioningState: to.Ptr(armsearch.ProvisioningStateSucceeded),
// PublicNetworkAccess: to.Ptr(armsearch.PublicNetworkAccessEnabled),
// ReplicaCount: to.Ptr[int32](2),
// SharedPrivateLinkResources: []*armsearch.SharedPrivateLinkResource{
// },
// Status: to.Ptr(armsearch.SearchServiceStatusProvisioning),
// StatusDetails: to.Ptr(""),
// },
// SKU: &armsearch.SKU{
// Name: to.Ptr(armsearch.SKUNameStandard),
// },
// }
}
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 Updates an existing search service in the given resource group.
*
* @summary Updates an existing search service in the given resource group.
* x-ms-original-file: specification/search/resource-manager/Microsoft.Search/preview/2024-03-01-preview/examples/SearchUpdateServiceWithCmkEnforcement.json
*/
async function searchUpdateServiceWithCmkEnforcement() {
const subscriptionId = process.env["SEARCH_SUBSCRIPTION_ID"] || "subid";
const resourceGroupName = process.env["SEARCH_RESOURCE_GROUP"] || "rg1";
const searchServiceName = "mysearchservice";
const service = {
encryptionWithCmk: { enforcement: "Enabled" },
replicaCount: 2,
tags: { appName: "My e-commerce app", newTag: "Adding a new tag" },
};
const credential = new DefaultAzureCredential();
const client = new SearchManagementClient(credential, subscriptionId);
const result = await client.services.update(resourceGroupName, searchServiceName, service);
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/SearchUpdateServiceWithCmkEnforcement.json
// this example is just showing the usage of "Services_Update" 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
SearchServicePatch patch = new SearchServicePatch(new AzureLocation("placeholder"))
{
ReplicaCount = 2,
EncryptionWithCmk = new SearchEncryptionWithCmk()
{
Enforcement = SearchEncryptionWithCmkEnforcement.Enabled,
},
Tags =
{
["app-name"] = "My e-commerce app",
["new-tag"] = "Adding a new tag",
},
};
SearchServiceResource result = await searchService.UpdateAsync(patch);
// the variable result is a resource, you could call other operations on this instance as well
// but just for demo, we get its data from this resource instance
SearchServiceData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Пример ответа
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice",
"name": "mysearchservice",
"location": "westus",
"type": "Microsoft.Search/searchServices",
"tags": {
"app-name": "My e-commerce app",
"new-tag": "Adding a new tag"
},
"sku": {
"name": "standard"
},
"properties": {
"replicaCount": 2,
"partitionCount": 1,
"status": "provisioning",
"statusDetails": "",
"hostingMode": "default",
"provisioningState": "provisioning",
"publicNetworkAccess": "enabled",
"networkRuleSet": {
"ipRules": [],
"bypass": "None"
},
"privateEndpointConnections": [],
"sharedPrivateLinkResources": [],
"encryptionWithCmk": {
"enforcement": "Enabled",
"encryptionComplianceStatus": "Compliant"
},
"disableLocalAuth": false,
"authOptions": {
"apiKeyOnly": {}
},
"disabledDataExfiltrationOptions": []
}
}
SearchUpdateServiceWithDataExfiltration
Образец запроса
PATCH https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice?api-version=2024-03-01-preview
{
"tags": {
"app-name": "My e-commerce app",
"new-tag": "Adding a new tag"
},
"properties": {
"replicaCount": 2,
"disabledDataExfiltrationOptions": [
"All"
]
}
}
from azure.identity import DefaultAzureCredential
from azure.mgmt.search import SearchManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-search
# USAGE
python search_update_service_with_data_exfiltration.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.services.update(
resource_group_name="rg1",
search_service_name="mysearchservice",
service={
"properties": {"disabledDataExfiltrationOptions": ["All"], "replicaCount": 2},
"tags": {"app-name": "My e-commerce app", "new-tag": "Adding a new tag"},
},
)
print(response)
# x-ms-original-file: specification/search/resource-manager/Microsoft.Search/preview/2024-03-01-preview/examples/SearchUpdateServiceWithDataExfiltration.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/azcore/to"
"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/SearchUpdateServiceWithDataExfiltration.json
func ExampleServicesClient_Update_searchUpdateServiceWithDataExfiltration() {
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.NewServicesClient().Update(ctx, "rg1", "mysearchservice", armsearch.ServiceUpdate{
Properties: &armsearch.ServiceProperties{
DisabledDataExfiltrationOptions: []*armsearch.SearchDisabledDataExfiltrationOption{
to.Ptr(armsearch.SearchDisabledDataExfiltrationOptionAll)},
ReplicaCount: to.Ptr[int32](2),
},
Tags: map[string]*string{
"app-name": to.Ptr("My e-commerce app"),
"new-tag": to.Ptr("Adding a new tag"),
},
}, &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.Service = armsearch.Service{
// Name: to.Ptr("mysearchservice"),
// Type: to.Ptr("Microsoft.Search/searchServices"),
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice"),
// Location: to.Ptr("westus"),
// Tags: map[string]*string{
// "app-name": to.Ptr("My e-commerce app"),
// "new-tag": to.Ptr("Adding a new tag"),
// },
// Properties: &armsearch.ServiceProperties{
// AuthOptions: &armsearch.DataPlaneAuthOptions{
// APIKeyOnly: map[string]any{
// },
// },
// DisableLocalAuth: to.Ptr(false),
// DisabledDataExfiltrationOptions: []*armsearch.SearchDisabledDataExfiltrationOption{
// to.Ptr(armsearch.SearchDisabledDataExfiltrationOptionAll)},
// EncryptionWithCmk: &armsearch.EncryptionWithCmk{
// EncryptionComplianceStatus: to.Ptr(armsearch.SearchEncryptionComplianceStatusCompliant),
// Enforcement: to.Ptr(armsearch.SearchEncryptionWithCmkUnspecified),
// },
// HostingMode: to.Ptr(armsearch.HostingModeDefault),
// NetworkRuleSet: &armsearch.NetworkRuleSet{
// Bypass: to.Ptr(armsearch.SearchBypassNone),
// IPRules: []*armsearch.IPRule{
// },
// },
// PartitionCount: to.Ptr[int32](1),
// PrivateEndpointConnections: []*armsearch.PrivateEndpointConnection{
// },
// ProvisioningState: to.Ptr(armsearch.ProvisioningStateSucceeded),
// PublicNetworkAccess: to.Ptr(armsearch.PublicNetworkAccessEnabled),
// ReplicaCount: to.Ptr[int32](2),
// SharedPrivateLinkResources: []*armsearch.SharedPrivateLinkResource{
// },
// Status: to.Ptr(armsearch.SearchServiceStatusProvisioning),
// StatusDetails: to.Ptr(""),
// },
// SKU: &armsearch.SKU{
// Name: to.Ptr(armsearch.SKUNameStandard),
// },
// }
}
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 Updates an existing search service in the given resource group.
*
* @summary Updates an existing search service in the given resource group.
* x-ms-original-file: specification/search/resource-manager/Microsoft.Search/preview/2024-03-01-preview/examples/SearchUpdateServiceWithDataExfiltration.json
*/
async function searchUpdateServiceWithDataExfiltration() {
const subscriptionId = process.env["SEARCH_SUBSCRIPTION_ID"] || "subid";
const resourceGroupName = process.env["SEARCH_RESOURCE_GROUP"] || "rg1";
const searchServiceName = "mysearchservice";
const service = {
disabledDataExfiltrationOptions: ["All"],
replicaCount: 2,
tags: { appName: "My e-commerce app", newTag: "Adding a new tag" },
};
const credential = new DefaultAzureCredential();
const client = new SearchManagementClient(credential, subscriptionId);
const result = await client.services.update(resourceGroupName, searchServiceName, service);
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/SearchUpdateServiceWithDataExfiltration.json
// this example is just showing the usage of "Services_Update" 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
SearchServicePatch patch = new SearchServicePatch(new AzureLocation("placeholder"))
{
ReplicaCount = 2,
DisabledDataExfiltrationOptions =
{
SearchDisabledDataExfiltrationOption.All
},
Tags =
{
["app-name"] = "My e-commerce app",
["new-tag"] = "Adding a new tag",
},
};
SearchServiceResource result = await searchService.UpdateAsync(patch);
// the variable result is a resource, you could call other operations on this instance as well
// but just for demo, we get its data from this resource instance
SearchServiceData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Пример ответа
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice",
"name": "mysearchservice",
"location": "westus",
"type": "Microsoft.Search/searchServices",
"tags": {
"app-name": "My e-commerce app",
"new-tag": "Adding a new tag"
},
"sku": {
"name": "standard"
},
"properties": {
"replicaCount": 2,
"partitionCount": 1,
"status": "provisioning",
"statusDetails": "",
"hostingMode": "default",
"provisioningState": "provisioning",
"publicNetworkAccess": "enabled",
"networkRuleSet": {
"ipRules": [],
"bypass": "None"
},
"privateEndpointConnections": [],
"sharedPrivateLinkResources": [],
"encryptionWithCmk": {
"enforcement": "Unspecified",
"encryptionComplianceStatus": "Compliant"
},
"disableLocalAuth": false,
"authOptions": {
"apiKeyOnly": {}
},
"disabledDataExfiltrationOptions": [
"All"
]
}
}
SearchUpdateServiceWithSemanticSearch
Образец запроса
PATCH https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice?api-version=2024-03-01-preview
{
"tags": {
"app-name": "My e-commerce app",
"new-tag": "Adding a new tag"
},
"properties": {
"replicaCount": 2,
"semanticSearch": "standard"
}
}
from azure.identity import DefaultAzureCredential
from azure.mgmt.search import SearchManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-search
# USAGE
python search_update_service_with_semantic_search.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.services.update(
resource_group_name="rg1",
search_service_name="mysearchservice",
service={
"properties": {"replicaCount": 2, "semanticSearch": "standard"},
"tags": {"app-name": "My e-commerce app", "new-tag": "Adding a new tag"},
},
)
print(response)
# x-ms-original-file: specification/search/resource-manager/Microsoft.Search/preview/2024-03-01-preview/examples/SearchUpdateServiceWithSemanticSearch.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/azcore/to"
"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/SearchUpdateServiceWithSemanticSearch.json
func ExampleServicesClient_Update_searchUpdateServiceWithSemanticSearch() {
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.NewServicesClient().Update(ctx, "rg1", "mysearchservice", armsearch.ServiceUpdate{
Properties: &armsearch.ServiceProperties{
ReplicaCount: to.Ptr[int32](2),
SemanticSearch: to.Ptr(armsearch.SearchSemanticSearchStandard),
},
Tags: map[string]*string{
"app-name": to.Ptr("My e-commerce app"),
"new-tag": to.Ptr("Adding a new tag"),
},
}, &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.Service = armsearch.Service{
// Name: to.Ptr("mysearchservice"),
// Type: to.Ptr("Microsoft.Search/searchServices"),
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice"),
// Location: to.Ptr("westus"),
// Tags: map[string]*string{
// "app-name": to.Ptr("My e-commerce app"),
// "new-tag": to.Ptr("Adding a new tag"),
// },
// Properties: &armsearch.ServiceProperties{
// AuthOptions: &armsearch.DataPlaneAuthOptions{
// APIKeyOnly: map[string]any{
// },
// },
// DisableLocalAuth: to.Ptr(false),
// DisabledDataExfiltrationOptions: []*armsearch.SearchDisabledDataExfiltrationOption{
// },
// EncryptionWithCmk: &armsearch.EncryptionWithCmk{
// EncryptionComplianceStatus: to.Ptr(armsearch.SearchEncryptionComplianceStatusCompliant),
// Enforcement: to.Ptr(armsearch.SearchEncryptionWithCmkUnspecified),
// },
// HostingMode: to.Ptr(armsearch.HostingModeDefault),
// NetworkRuleSet: &armsearch.NetworkRuleSet{
// Bypass: to.Ptr(armsearch.SearchBypassNone),
// IPRules: []*armsearch.IPRule{
// },
// },
// PartitionCount: to.Ptr[int32](1),
// PrivateEndpointConnections: []*armsearch.PrivateEndpointConnection{
// },
// ProvisioningState: to.Ptr(armsearch.ProvisioningStateSucceeded),
// PublicNetworkAccess: to.Ptr(armsearch.PublicNetworkAccessEnabled),
// ReplicaCount: to.Ptr[int32](2),
// SemanticSearch: to.Ptr(armsearch.SearchSemanticSearchStandard),
// SharedPrivateLinkResources: []*armsearch.SharedPrivateLinkResource{
// },
// Status: to.Ptr(armsearch.SearchServiceStatusProvisioning),
// StatusDetails: to.Ptr(""),
// },
// SKU: &armsearch.SKU{
// Name: to.Ptr(armsearch.SKUNameStandard),
// },
// }
}
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 Updates an existing search service in the given resource group.
*
* @summary Updates an existing search service in the given resource group.
* x-ms-original-file: specification/search/resource-manager/Microsoft.Search/preview/2024-03-01-preview/examples/SearchUpdateServiceWithSemanticSearch.json
*/
async function searchUpdateServiceWithSemanticSearch() {
const subscriptionId = process.env["SEARCH_SUBSCRIPTION_ID"] || "subid";
const resourceGroupName = process.env["SEARCH_RESOURCE_GROUP"] || "rg1";
const searchServiceName = "mysearchservice";
const service = {
replicaCount: 2,
semanticSearch: "standard",
tags: { appName: "My e-commerce app", newTag: "Adding a new tag" },
};
const credential = new DefaultAzureCredential();
const client = new SearchManagementClient(credential, subscriptionId);
const result = await client.services.update(resourceGroupName, searchServiceName, service);
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/SearchUpdateServiceWithSemanticSearch.json
// this example is just showing the usage of "Services_Update" 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
SearchServicePatch patch = new SearchServicePatch(new AzureLocation("placeholder"))
{
ReplicaCount = 2,
SemanticSearch = SearchSemanticSearch.Standard,
Tags =
{
["app-name"] = "My e-commerce app",
["new-tag"] = "Adding a new tag",
},
};
SearchServiceResource result = await searchService.UpdateAsync(patch);
// the variable result is a resource, you could call other operations on this instance as well
// but just for demo, we get its data from this resource instance
SearchServiceData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Пример ответа
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice",
"name": "mysearchservice",
"location": "westus",
"type": "Microsoft.Search/searchServices",
"tags": {
"app-name": "My e-commerce app",
"new-tag": "Adding a new tag"
},
"sku": {
"name": "standard"
},
"properties": {
"replicaCount": 2,
"partitionCount": 1,
"status": "provisioning",
"statusDetails": "",
"hostingMode": "default",
"provisioningState": "provisioning",
"publicNetworkAccess": "enabled",
"networkRuleSet": {
"ipRules": [],
"bypass": "None"
},
"privateEndpointConnections": [],
"sharedPrivateLinkResources": [],
"encryptionWithCmk": {
"enforcement": "Unspecified",
"encryptionComplianceStatus": "Compliant"
},
"disableLocalAuth": false,
"authOptions": {
"apiKeyOnly": {}
},
"disabledDataExfiltrationOptions": [],
"semanticSearch": "standard"
}
}
Определения
Имя |
Описание |
AadAuthFailureMode
|
Описывает, какой ответ БУДЕТ отправлять API плоскости данных службы поиска для запросов, которые не удалось выполнить проверку подлинности.
|
ApiKeyOnly
|
Указывает, что для проверки подлинности можно использовать только ключ API.
|
CloudError
|
Содержит сведения об ошибке API.
|
CloudErrorBody
|
Описывает определенную ошибку API с кодом ошибки и сообщением.
|
DataPlaneAadOrApiKeyAuthOption
|
Указывает, что для проверки подлинности можно использовать ключ API или маркер доступа из клиента идентификатора Microsoft Entra ID.
|
DataPlaneAuthOptions
|
Определяет параметры проверки подлинности запроса плоскости данных службы поиска. Это невозможно задать, если параметр disableLocalAuth имеет значение true.
|
EncryptionWithCmk
|
Описывает политику, которая определяет, как ресурсы в службе поиска должны быть зашифрованы с помощью ключей, управляемых клиентом.
|
HostingMode
|
Применимо только для номера SKU standard3. Это свойство можно настроить для включения до 3 секций высокой плотности, которые позволяют до 1000 индексов, что гораздо выше, чем максимальные индексы, разрешенные для любого другого номера SKU. Для номера SKU уровня "стандартный" значение равно "default" или "highDensity". Для всех остальных номеров SKU это значение должно иметь значение по умолчанию.
|
Identity
|
Сведения об удостоверении службы поиска. Значение NULL указывает, что служба поиска не назначена удостоверению.
|
IdentityType
|
Тип удостоверения, используемого для ресурса. Тип SystemAssigned, UserAssigned включает как удостоверение, созданное системой, так и набор назначенных пользователем удостоверений. Тип "Нет" приведет к удалению всех удостоверений из службы.
|
IpRule
|
Правило ограничения IP-адресов службы поиска ИИ Azure.
|
NetworkRuleSet
|
Правила конкретной сети, определяющие, как может быть достигнута служба поиска ИИ Azure.
|
PrivateEndpoint
|
Ресурс частной конечной точки от поставщика Microsoft.Network.
|
PrivateEndpointConnection
|
Описывает существующее подключение частной конечной точки к службе поиска ИИ Azure.
|
PrivateEndpointConnectionProperties
|
Описывает свойства существующего подключения частной конечной точки к службе поиска.
|
PrivateLinkServiceConnectionProvisioningState
|
Состояние подготовки подключения службы приватного канала. Допустимые значения: "Обновление", "Удаление", "Сбой", "Успешно", "Неполный" или "Отменено".
|
PrivateLinkServiceConnectionState
|
Описывает текущее состояние существующего подключения службы Приватного канала Azure к частной конечной точке.
|
PrivateLinkServiceConnectionStatus
|
Состояние подключения службы приватного канала. Допустимые значения: ожидающие, утвержденные, отклоненные или отключенные.
|
ProvisioningState
|
Состояние последней операции подготовки, выполняемой в службе поиска. Подготовка — это промежуточное состояние, которое происходит во время установки емкости службы. После настройки емкости подготовкаstate изменится на "успешно" или "не удалось". Клиентские приложения могут опрашивать состояние подготовки (рекомендуемый интервал опроса составляет от 30 секунд до одной минуты) с помощью операции Get Search Service, чтобы узнать, когда операция завершена. Если вы используете бесплатную службу, это значение, как правило, возвращается как "успешно" непосредственно в вызове службы поиска. Это связано с тем, что бесплатная служба использует емкость, которая уже настроена.
|
PublicNetworkAccess
|
Это значение можно задать как "включено", чтобы избежать критических изменений в существующих ресурсах и шаблонах клиентов. Если задано значение "отключено", трафик через общедоступный интерфейс не разрешен, а подключения к частной конечной точке — это монопольный метод доступа.
|
SearchBypass
|
Возможные источники входящего трафика, которые могут обойти правила, определенные в разделе ipRules.
|
SearchDisabledDataExfiltrationOption
|
Список сценариев кражи данных, которые явно запрещены для службы поиска. В настоящее время единственным поддерживаемым значением является "Все", чтобы отключить все возможные сценарии экспорта данных с более точными элементами управления, запланированными в будущем.
|
SearchEncryptionComplianceStatus
|
Возвращает состояние соответствия службы поиска требованиям к объектам без шифрования CMK. Если служба имеет несколько незашифрованных объектов и включена принудительное применение, служба помечается как несоответствующая.
|
SearchEncryptionWithCmk
|
Описывает, как служба поиска должна обеспечить соответствие требованиям, если он находит объекты, которые не шифруются с помощью ключа, управляемого клиентом.
|
SearchSemanticSearch
|
Задает параметры, управляющие доступностью семантического поиска. Эта конфигурация возможна только для определенных номеров SKU поиска ИИ Azure в определенных расположениях.
|
SearchService
|
Описывает службу поиска ИИ Azure и ее текущее состояние.
|
SearchServiceStatus
|
Состояние службы поиска. Возможные значения включают: "выполняется": служба поиска выполняется и не выполняется никаких операций подготовки. "подготовка": служба поиска подготавливается или масштабируется вверх или вниз. "удаление": служба поиска удаляется. "понижено": служба поиска снижается. Это может произойти, если базовые единицы поиска не работоспособны. Служба поиска, скорее всего, работает, но производительность может быть медленной, и некоторые запросы могут быть удалены. "отключено": служба поиска отключена. В этом состоянии служба отклонит все запросы API. "error": служба поиска находится в состоянии ошибки. "остановлено": служба поиска находится в подписке, которая отключена. Если служба находится в состояниях пониженной, отключенной или ошибки, это означает, что группа поиска ИИ Azure активно изучает основную проблему. Выделенные службы в этих состояниях по-прежнему оплачиваются на основе количества подготовленных единиц поиска.
|
SearchServiceUpdate
|
Параметры, используемые для обновления службы поиска ИИ Azure.
|
SharedPrivateLinkResource
|
Описывает общий ресурс приватного канала, управляемый службой поиска ИИ Azure.
|
SharedPrivateLinkResourceProperties
|
Описывает свойства существующего ресурса общего приватного канала, управляемого службой поиска ИИ Azure.
|
SharedPrivateLinkResourceProvisioningState
|
Состояние подготовки общего ресурса приватного канала. Допустимые значения: обновление, удаление, сбой, успешное или неполное.
|
SharedPrivateLinkResourceStatus
|
Состояние ресурса общего приватного канала. Допустимые значения: ожидающие, утвержденные, отклоненные или отключенные.
|
Sku
|
Определяет номер SKU службы поиска, который определяет частоту выставления счетов и ограничения емкости.
|
SkuName
|
Номер SKU службы поиска. Допустимые значения: "бесплатный": общая служба. "базовый": выделенная служба с 3 репликами. "Стандартный": выделенная служба с 12 секциями и 12 репликами. "standard2": аналогично стандарту, но с большей емкостью на единицу поиска. "Standard3": наибольшее стандартное предложение с до 12 секций и 12 реплик (или до 3 секций с большим количеством индексов, если свойство hostingMode также имеет значение highDensity). "storage_optimized_l1": поддерживает 1TB на секцию до 12 секций. "storage_optimized_l2": поддерживает 2TB на секцию до 12 секций.
|
UserAssignedManagedIdentity
|
Сведения о назначенном пользователем управляемом удостоверении, назначенном службе поиска.
|
AadAuthFailureMode
Перечисление
Описывает, какой ответ БУДЕТ отправлять API плоскости данных службы поиска для запросов, которые не удалось выполнить проверку подлинности.
Значение |
Описание |
http401WithBearerChallenge
|
Указывает, что запросы, которые не удалось выполнить проверку подлинности, должны быть представлены с кодом состояния HTTP 401 (несанкционированный) и представлять вызов носителя.
|
http403
|
Указывает, что запросы, которые не удалось выполнить проверку подлинности, должны быть представлены с кодом состояния HTTP 403 (запрещено).
|
ApiKeyOnly
Object
Указывает, что для проверки подлинности можно использовать только ключ API.
CloudError
Object
Содержит сведения об ошибке API.
Имя |
Тип |
Описание |
error
|
CloudErrorBody
|
Описывает определенную ошибку API с кодом ошибки и сообщением.
|
message
|
string
|
Краткое описание ошибки, которая указывает на то, что пошло не так (для получения сведений или отладки см. свойство error.message).
|
CloudErrorBody
Object
Описывает определенную ошибку API с кодом ошибки и сообщением.
Имя |
Тип |
Описание |
code
|
string
|
Код ошибки, описывающий условие ошибки точнее, чем код состояния HTTP. Можно использовать для программной обработки конкретных случаев ошибок.
|
details
|
CloudErrorBody[]
|
Содержит вложенные ошибки, связанные с этой ошибкой.
|
message
|
string
|
Сообщение, описывающее ошибку подробно и предоставляющее сведения об отладке.
|
target
|
string
|
Целевой объект конкретной ошибки (например, имя свойства в ошибке).
|
DataPlaneAadOrApiKeyAuthOption
Object
Указывает, что для проверки подлинности можно использовать ключ API или маркер доступа из клиента идентификатора Microsoft Entra ID.
Имя |
Тип |
Описание |
aadAuthFailureMode
|
AadAuthFailureMode
|
Описывает, какой ответ БУДЕТ отправлять API плоскости данных службы поиска для запросов, которые не удалось выполнить проверку подлинности.
|
DataPlaneAuthOptions
Object
Определяет параметры проверки подлинности запроса плоскости данных службы поиска. Это невозможно задать, если параметр disableLocalAuth имеет значение true.
Имя |
Тип |
Описание |
aadOrApiKey
|
DataPlaneAadOrApiKeyAuthOption
|
Указывает, что для проверки подлинности можно использовать ключ API или маркер доступа из клиента идентификатора Microsoft Entra ID.
|
apiKeyOnly
|
ApiKeyOnly
|
Указывает, что для проверки подлинности можно использовать только ключ API.
|
EncryptionWithCmk
Object
Описывает политику, которая определяет, как ресурсы в службе поиска должны быть зашифрованы с помощью ключей, управляемых клиентом.
Имя |
Тип |
Описание |
encryptionComplianceStatus
|
SearchEncryptionComplianceStatus
|
Возвращает состояние соответствия службы поиска требованиям к объектам без шифрования CMK. Если служба имеет несколько незашифрованных объектов и включена принудительное применение, служба помечается как несоответствующая.
|
enforcement
|
SearchEncryptionWithCmk
|
Описывает, как служба поиска должна обеспечить соответствие требованиям, если он находит объекты, которые не шифруются с помощью ключа, управляемого клиентом.
|
HostingMode
Перечисление
Применимо только для номера SKU standard3. Это свойство можно настроить для включения до 3 секций высокой плотности, которые позволяют до 1000 индексов, что гораздо выше, чем максимальные индексы, разрешенные для любого другого номера SKU. Для номера SKU уровня "стандартный" значение равно "default" или "highDensity". Для всех остальных номеров SKU это значение должно иметь значение по умолчанию.
Значение |
Описание |
default
|
Ограничение на количество индексов определяется ограничениями по умолчанию для номера SKU.
|
highDensity
|
Только приложение для SKU standard3, где служба поиска может иметь до 1000 индексов.
|
Identity
Object
Сведения об удостоверении службы поиска. Значение NULL указывает, что служба поиска не назначена удостоверению.
Имя |
Тип |
Описание |
principalId
|
string
|
Основной идентификатор назначаемого системой удостоверения службы поиска.
|
tenantId
|
string
|
Идентификатор клиента назначаемого системой удостоверения службы поиска.
|
type
|
IdentityType
|
Тип удостоверения, используемого для ресурса. Тип SystemAssigned, UserAssigned включает как удостоверение, созданное системой, так и набор назначенных пользователем удостоверений. Тип "Нет" приведет к удалению всех удостоверений из службы.
|
userAssignedIdentities
|
<string,
UserAssignedManagedIdentity>
|
Список удостоверений пользователей, связанных с ресурсом. Ключевые ссылки на словарь удостоверений пользователей будут идентификаторами ресурсов ARM в форме: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}".
|
IdentityType
Перечисление
Тип удостоверения, используемого для ресурса. Тип SystemAssigned, UserAssigned включает как удостоверение, созданное системой, так и набор назначенных пользователем удостоверений. Тип "Нет" приведет к удалению всех удостоверений из службы.
Значение |
Описание |
None
|
Указывает, что необходимо удалить любое удостоверение, связанное со службой поиска.
|
SystemAssigned
|
Указывает, что назначаемое системой удостоверение для службы поиска будет включено.
|
SystemAssigned, UserAssigned
|
Указывает, что назначаемое системой удостоверение для службы поиска будет включено вместе с назначением одного или нескольких назначенных пользователем удостоверений.
|
UserAssigned
|
Указывает, что одно или несколько назначенных пользователем удостоверений будут назначены службе поиска.
|
IpRule
Object
Правило ограничения IP-адресов службы поиска ИИ Azure.
Имя |
Тип |
Описание |
value
|
string
|
Значение, соответствующее одному IPv4-адресу (например, 123.1.2.3) или диапазону IP-адресов в формате CIDR (например, 123.1.2.3/24).
|
NetworkRuleSet
Object
Правила конкретной сети, определяющие, как может быть достигнута служба поиска ИИ Azure.
Имя |
Тип |
Описание |
bypass
|
SearchBypass
|
Возможные источники входящего трафика, которые могут обойти правила, определенные в разделе ipRules.
|
ipRules
|
IpRule[]
|
Список правил ограничения IP-адресов, определяющих входящие сети с разрешением доступа к конечной точке службы поиска. В то же время все остальные общедоступные IP-сети блокируются брандмауэром. Эти правила ограничения применяются только в том случае, если функция publicNetworkAccess службы поиска включена; в противном случае трафик через общедоступный интерфейс не допускается даже с любыми правилами общедоступного IP-адреса, а подключения к частной конечной точке — монопольным методом доступа.
|
PrivateEndpoint
Object
Ресурс частной конечной точки от поставщика Microsoft.Network.
Имя |
Тип |
Описание |
id
|
string
|
Идентификатор ресурса частной конечной точки от поставщика Microsoft.Network.
|
PrivateEndpointConnection
Object
Описывает существующее подключение частной конечной точки к службе поиска ИИ Azure.
Имя |
Тип |
Описание |
id
|
string
|
Полный идентификатор ресурса для ресурса. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
|
name
|
string
|
Имя ресурса
|
properties
|
PrivateEndpointConnectionProperties
|
Описывает свойства существующего подключения частной конечной точки к службе поиска ИИ Azure.
|
type
|
string
|
Тип ресурса. Например, "Microsoft.Compute/virtualMachines" или "Microsoft.Storage/storageAccounts"
|
PrivateEndpointConnectionProperties
Object
Описывает свойства существующего подключения частной конечной точки к службе поиска.
Имя |
Тип |
Описание |
groupId
|
string
|
Идентификатор группы ресурса Azure, для которого предназначена служба приватного канала.
|
privateEndpoint
|
PrivateEndpoint
|
Ресурс частной конечной точки от поставщика Microsoft.Network.
|
privateLinkServiceConnectionState
|
PrivateLinkServiceConnectionState
|
Описывает текущее состояние существующего подключения службы Приватного канала Azure к частной конечной точке.
|
provisioningState
|
PrivateLinkServiceConnectionProvisioningState
|
Состояние подготовки подключения службы приватного канала. Допустимые значения: "Обновление", "Удаление", "Сбой", "Успешно", "Неполный" или "Отменено".
|
PrivateLinkServiceConnectionProvisioningState
Перечисление
Состояние подготовки подключения службы приватного канала. Допустимые значения: "Обновление", "Удаление", "Сбой", "Успешно", "Неполный" или "Отменено".
Значение |
Описание |
Canceled
|
Запрос на подготовку ресурса подключения службы приватного канала был отменен.
|
Deleting
|
Подключение службы приватного канала находится в процессе удаления.
|
Failed
|
Не удалось подготовить или удалить подключение службы приватного канала.
|
Incomplete
|
Запрос на подготовку ресурса подключения службы приватного канала был принят, но процесс создания еще не начался.
|
Succeeded
|
Подключение службы приватного канала завершило подготовку и готово к утверждению.
|
Updating
|
Подключение службы приватного канала находится в процессе создания вместе с другими ресурсами, чтобы он был полностью функциональным.
|
PrivateLinkServiceConnectionState
Object
Описывает текущее состояние существующего подключения службы Приватного канала Azure к частной конечной точке.
Имя |
Тип |
Default value |
Описание |
actionsRequired
|
string
|
None
|
Описание дополнительных действий, которые могут потребоваться.
|
description
|
string
|
|
Описание состояния подключения службы приватного канала.
|
status
|
PrivateLinkServiceConnectionStatus
|
|
Состояние подключения службы приватного канала. Допустимые значения: ожидающие, утвержденные, отклоненные или отключенные.
|
PrivateLinkServiceConnectionStatus
Перечисление
Состояние подключения службы приватного канала. Допустимые значения: ожидающие, утвержденные, отклоненные или отключенные.
Значение |
Описание |
Approved
|
Подключение к частной конечной точке утверждено и готово к использованию.
|
Disconnected
|
Подключение к частной конечной точке было удалено из службы.
|
Pending
|
Подключение к частной конечной точке создано и ожидает утверждения.
|
Rejected
|
Подключение к частной конечной точке было отклонено и не может использоваться.
|
ProvisioningState
Перечисление
Состояние последней операции подготовки, выполняемой в службе поиска. Подготовка — это промежуточное состояние, которое происходит во время установки емкости службы. После настройки емкости подготовкаstate изменится на "успешно" или "не удалось". Клиентские приложения могут опрашивать состояние подготовки (рекомендуемый интервал опроса составляет от 30 секунд до одной минуты) с помощью операции Get Search Service, чтобы узнать, когда операция завершена. Если вы используете бесплатную службу, это значение, как правило, возвращается как "успешно" непосредственно в вызове службы поиска. Это связано с тем, что бесплатная служба использует емкость, которая уже настроена.
Значение |
Описание |
failed
|
Последняя операция подготовки завершилась ошибкой.
|
provisioning
|
Служба поиска подготавливается или масштабируется вверх или вниз.
|
succeeded
|
Последняя операция подготовки успешно завершена.
|
PublicNetworkAccess
Перечисление
Это значение можно задать как "включено", чтобы избежать критических изменений в существующих ресурсах и шаблонах клиентов. Если задано значение "отключено", трафик через общедоступный интерфейс не разрешен, а подключения к частной конечной точке — это монопольный метод доступа.
Значение |
Описание |
disabled
|
Служба поиска недоступна из трафика, исходя из общедоступного Интернета. Доступ разрешен только через утвержденные подключения частной конечной точки.
|
enabled
|
Служба поиска доступна из трафика, исходящем из общедоступного Интернета.
|
SearchBypass
Перечисление
Возможные источники входящего трафика, которые могут обойти правила, определенные в разделе ipRules.
Значение |
Описание |
AzurePortal
|
Указывает, что запросы, исходящие с портала Azure, могут обойти правила, определенные в разделе ipRules.
|
None
|
Указывает, что источник не может обойти правила, определенные в разделе ipRules. Это значение по умолчанию.
|
SearchDisabledDataExfiltrationOption
Перечисление
Список сценариев кражи данных, которые явно запрещены для службы поиска. В настоящее время единственным поддерживаемым значением является "Все", чтобы отключить все возможные сценарии экспорта данных с более точными элементами управления, запланированными в будущем.
Значение |
Описание |
All
|
Указывает, что все сценарии кражи данных отключены.
|
SearchEncryptionComplianceStatus
Перечисление
Возвращает состояние соответствия службы поиска требованиям к объектам без шифрования CMK. Если служба имеет несколько незашифрованных объектов и включена принудительное применение, служба помечается как несоответствующая.
Значение |
Описание |
Compliant
|
Указывает, что служба поиска соответствует требованиям, так как число не зашифрованных объектов CMK равно нулю или отключается принудительное применение.
|
NonCompliant
|
Указывает, что служба поиска имеет несколько нешифрованных объектов.
|
SearchEncryptionWithCmk
Перечисление
Описывает, как служба поиска должна обеспечить соответствие требованиям, если он находит объекты, которые не шифруются с помощью ключа, управляемого клиентом.
Значение |
Описание |
Disabled
|
Шифрование ключей, управляемых клиентом, не будет выполнено. Используется только встроенное шифрование, управляемое службой.
|
Enabled
|
Служба поиска будет помечена как несоответствующее, если один или несколько объектов не шифруются с помощью ключа, управляемого клиентом.
|
Unspecified
|
Политика принудительного применения не указана явно, при этом поведение совпадает с значением "Отключено".
|
SearchSemanticSearch
Перечисление
Задает параметры, управляющие доступностью семантического поиска. Эта конфигурация возможна только для определенных номеров SKU поиска ИИ Azure в определенных расположениях.
Значение |
Описание |
disabled
|
Указывает, что семантический рерангитель отключен для службы поиска. Это значение по умолчанию.
|
free
|
Включает семантический повторник в службе поиска и указывает, что он должен использоваться в пределах свободного плана. Бесплатный план будет ограничение объема семантических запросов ранжирования и предлагается без дополнительной платы. Это по умолчанию для недавно подготовленных служб поиска.
|
standard
|
Включает семантический повторное использование службы поиска в качестве оплачиваемой функции с более высокой пропускной способностью и объемом семантических запросов.
|
SearchService
Object
Описывает службу поиска ИИ Azure и ее текущее состояние.
Имя |
Тип |
Default value |
Описание |
id
|
string
|
|
Полный идентификатор ресурса для ресурса. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
|
identity
|
Identity
|
|
Удостоверение ресурса.
|
location
|
string
|
|
Географическое расположение, в котором находится ресурс
|
name
|
string
|
|
Имя ресурса
|
properties.authOptions
|
DataPlaneAuthOptions
|
|
Определяет параметры того, как API плоскости данных службы поиска выполняет проверку подлинности запросов. Это невозможно задать, если параметр disableLocalAuth имеет значение true.
|
properties.disableLocalAuth
|
boolean
|
|
Если задано значение true, вызовы службы поиска не будут разрешены использовать ключи API для проверки подлинности. Это не может быть задано значение true, если определен параметр dataPlaneAuthOptions.
|
properties.disabledDataExfiltrationOptions
|
SearchDisabledDataExfiltrationOption[]
|
|
Список сценариев кражи данных, которые явно запрещены для службы поиска. В настоящее время единственным поддерживаемым значением является "Все", чтобы отключить все возможные сценарии экспорта данных с более точными элементами управления, запланированными в будущем.
|
properties.eTag
|
string
|
|
Системное созданное свойство, представляющее etag службы, которое может быть для управления оптимистическим параллелизмом во время обновлений.
|
properties.encryptionWithCmk
|
EncryptionWithCmk
|
|
Указывает любую политику шифрования ресурсов (таких как индексы) с помощью ключей диспетчера клиентов в службе поиска.
|
properties.hostingMode
|
HostingMode
|
default
|
Применимо только для номера SKU standard3. Это свойство можно настроить для включения до 3 секций высокой плотности, которые позволяют до 1000 индексов, что гораздо выше, чем максимальные индексы, разрешенные для любого другого номера SKU. Для номера SKU уровня "стандартный" значение равно "default" или "highDensity". Для всех остальных номеров SKU это значение должно иметь значение по умолчанию.
|
properties.networkRuleSet
|
NetworkRuleSet
|
|
Правила конкретной сети, определяющие, как может быть достигнута служба поиска ИИ Azure.
|
properties.partitionCount
|
integer
(int32)
minimum: 1 maximum: 12
|
1
|
Количество секций в службе поиска; Значение 1, 2, 3, 4, 6 или 12. Значения, превышающие 1, допустимы только для стандартных номеров SKU. Для служб "standard3" с параметром hostingMode задано значение highDensity, допустимые значения имеют значение от 1 до 3.
|
properties.privateEndpointConnections
|
PrivateEndpointConnection[]
|
|
Список подключений частной конечной точки к службе поиска ИИ Azure.
|
properties.provisioningState
|
ProvisioningState
|
|
Состояние последней операции подготовки, выполняемой в службе поиска. Подготовка — это промежуточное состояние, которое происходит во время установки емкости службы. После настройки емкости подготовкаstate изменится на "успешно" или "не удалось". Клиентские приложения могут опрашивать состояние подготовки (рекомендуемый интервал опроса составляет от 30 секунд до одной минуты) с помощью операции Get Search Service, чтобы узнать, когда операция завершена. Если вы используете бесплатную службу, это значение, как правило, возвращается как "успешно" непосредственно в вызове службы поиска. Это связано с тем, что бесплатная служба использует емкость, которая уже настроена.
|
properties.publicNetworkAccess
|
PublicNetworkAccess
|
enabled
|
Это значение можно задать как "включено", чтобы избежать критических изменений в существующих ресурсах и шаблонах клиентов. Если задано значение "отключено", трафик через общедоступный интерфейс не разрешен, а подключения к частной конечной точке — это монопольный метод доступа.
|
properties.replicaCount
|
integer
(int32)
minimum: 1 maximum: 12
|
1
|
Количество реплик в службе поиска. Если задано, оно должно быть значением от 1 до 12 включительно для стандартных номеров SKU или от 1 до 3 включительно для базового номера SKU.
|
properties.semanticSearch
|
SearchSemanticSearch
|
|
Задает параметры, управляющие доступностью семантического поиска. Эта конфигурация возможна только для определенных номеров SKU поиска ИИ Azure в определенных расположениях.
|
properties.sharedPrivateLinkResources
|
SharedPrivateLinkResource[]
|
|
Список общих ресурсов приватного канала, управляемых службой поиска ИИ Azure.
|
properties.status
|
SearchServiceStatus
|
|
Состояние службы поиска. Возможные значения включают: "выполняется": служба поиска выполняется и не выполняется никаких операций подготовки. "подготовка": служба поиска подготавливается или масштабируется вверх или вниз. "удаление": служба поиска удаляется. "понижено": служба поиска снижается. Это может произойти, если базовые единицы поиска не работоспособны. Служба поиска, скорее всего, работает, но производительность может быть медленной, и некоторые запросы могут быть удалены. "отключено": служба поиска отключена. В этом состоянии служба отклонит все запросы API. "error": служба поиска находится в состоянии ошибки. "остановлено": служба поиска находится в подписке, которая отключена. Если служба находится в состояниях пониженной, отключенной или ошибки, это означает, что группа поиска ИИ Azure активно изучает основную проблему. Выделенные службы в этих состояниях по-прежнему оплачиваются на основе количества подготовленных единиц поиска.
|
properties.statusDetails
|
string
|
|
Сведения о состоянии службы поиска.
|
sku
|
Sku
|
|
SKU службы поиска, которая определяет ценовую категорию и ограничения емкости. Это свойство необходимо при создании новой службы поиска.
|
tags
|
object
|
|
Теги ресурсов.
|
type
|
string
|
|
Тип ресурса. Например, "Microsoft.Compute/virtualMachines" или "Microsoft.Storage/storageAccounts"
|
SearchServiceStatus
Перечисление
Состояние службы поиска. Возможные значения включают: "выполняется": служба поиска выполняется и не выполняется никаких операций подготовки. "подготовка": служба поиска подготавливается или масштабируется вверх или вниз. "удаление": служба поиска удаляется. "понижено": служба поиска снижается. Это может произойти, если базовые единицы поиска не работоспособны. Служба поиска, скорее всего, работает, но производительность может быть медленной, и некоторые запросы могут быть удалены. "отключено": служба поиска отключена. В этом состоянии служба отклонит все запросы API. "error": служба поиска находится в состоянии ошибки. "остановлено": служба поиска находится в подписке, которая отключена. Если служба находится в состояниях пониженной, отключенной или ошибки, это означает, что группа поиска ИИ Azure активно изучает основную проблему. Выделенные службы в этих состояниях по-прежнему оплачиваются на основе количества подготовленных единиц поиска.
Значение |
Описание |
degraded
|
Служба поиска снижается, так как базовые единицы поиска не работоспособны.
|
deleting
|
Служба поиска удаляется.
|
disabled
|
Служба поиска отключена, и все запросы API будут отклонены.
|
error
|
Служба поиска находится в состоянии ошибки, указывая на сбой подготовки или удаления.
|
provisioning
|
Служба поиска подготавливается или масштабируется вверх или вниз.
|
running
|
Служба поиска выполняется и не выполняется никаких операций подготовки.
|
stopped
|
Служба поиска находится в подписке, которая отключена.
|
SearchServiceUpdate
Object
Параметры, используемые для обновления службы поиска ИИ Azure.
Имя |
Тип |
Default value |
Описание |
id
|
string
|
|
Полный идентификатор ресурса для ресурса. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
|
identity
|
Identity
|
|
Сведения об удостоверении службы поиска. Значение NULL указывает, что служба поиска не назначена удостоверению.
|
location
|
string
|
|
Географическое расположение ресурса. Это должен быть один из поддерживаемых и зарегистрированных географических регионов Azure (например, западная часть США, восточная часть США, юго-восточная Азия и т. д.). Это свойство необходимо при создании нового ресурса.
|
name
|
string
|
|
Имя ресурса
|
properties.authOptions
|
DataPlaneAuthOptions
|
|
Определяет параметры того, как API плоскости данных службы поиска выполняет проверку подлинности запросов. Это невозможно задать, если параметр disableLocalAuth имеет значение true.
|
properties.disableLocalAuth
|
boolean
|
|
Если задано значение true, вызовы службы поиска не будут разрешены использовать ключи API для проверки подлинности. Это не может быть задано значение true, если определен параметр dataPlaneAuthOptions.
|
properties.disabledDataExfiltrationOptions
|
SearchDisabledDataExfiltrationOption[]
|
|
Список сценариев кражи данных, которые явно запрещены для службы поиска. В настоящее время единственным поддерживаемым значением является "Все", чтобы отключить все возможные сценарии экспорта данных с более точными элементами управления, запланированными в будущем.
|
properties.eTag
|
string
|
|
Системное созданное свойство, представляющее etag службы, которое может быть для управления оптимистическим параллелизмом во время обновлений.
|
properties.encryptionWithCmk
|
EncryptionWithCmk
|
|
Указывает любую политику шифрования ресурсов (таких как индексы) с помощью ключей диспетчера клиентов в службе поиска.
|
properties.hostingMode
|
HostingMode
|
default
|
Применимо только для номера SKU standard3. Это свойство можно настроить для включения до 3 секций высокой плотности, которые позволяют до 1000 индексов, что гораздо выше, чем максимальные индексы, разрешенные для любого другого номера SKU. Для номера SKU уровня "стандартный" значение равно "default" или "highDensity". Для всех остальных номеров SKU это значение должно иметь значение по умолчанию.
|
properties.networkRuleSet
|
NetworkRuleSet
|
|
Правила конкретной сети, определяющие, как может быть достигнута служба поиска ИИ Azure.
|
properties.partitionCount
|
integer
(int32)
minimum: 1 maximum: 12
|
1
|
Количество секций в службе поиска; Значение 1, 2, 3, 4, 6 или 12. Значения, превышающие 1, допустимы только для стандартных номеров SKU. Для служб "standard3" с параметром hostingMode задано значение highDensity, допустимые значения имеют значение от 1 до 3.
|
properties.privateEndpointConnections
|
PrivateEndpointConnection[]
|
|
Список подключений частной конечной точки к службе поиска ИИ Azure.
|
properties.provisioningState
|
ProvisioningState
|
|
Состояние последней операции подготовки, выполняемой в службе поиска. Подготовка — это промежуточное состояние, которое происходит во время установки емкости службы. После настройки емкости подготовкаstate изменится на "успешно" или "не удалось". Клиентские приложения могут опрашивать состояние подготовки (рекомендуемый интервал опроса составляет от 30 секунд до одной минуты) с помощью операции Get Search Service, чтобы узнать, когда операция завершена. Если вы используете бесплатную службу, это значение, как правило, возвращается как "успешно" непосредственно в вызове службы поиска. Это связано с тем, что бесплатная служба использует емкость, которая уже настроена.
|
properties.publicNetworkAccess
|
PublicNetworkAccess
|
enabled
|
Это значение можно задать как "включено", чтобы избежать критических изменений в существующих ресурсах и шаблонах клиентов. Если задано значение "отключено", трафик через общедоступный интерфейс не разрешен, а подключения к частной конечной точке — это монопольный метод доступа.
|
properties.replicaCount
|
integer
(int32)
minimum: 1 maximum: 12
|
1
|
Количество реплик в службе поиска. Если задано, оно должно быть значением от 1 до 12 включительно для стандартных номеров SKU или от 1 до 3 включительно для базового номера SKU.
|
properties.semanticSearch
|
SearchSemanticSearch
|
|
Задает параметры, управляющие доступностью семантического поиска. Эта конфигурация возможна только для определенных номеров SKU поиска ИИ Azure в определенных расположениях.
|
properties.sharedPrivateLinkResources
|
SharedPrivateLinkResource[]
|
|
Список общих ресурсов приватного канала, управляемых службой поиска ИИ Azure.
|
properties.status
|
SearchServiceStatus
|
|
Состояние службы поиска. Возможные значения включают: "выполняется": служба поиска выполняется и не выполняется никаких операций подготовки. "подготовка": служба поиска подготавливается или масштабируется вверх или вниз. "удаление": служба поиска удаляется. "понижено": служба поиска снижается. Это может произойти, если базовые единицы поиска не работоспособны. Служба поиска, скорее всего, работает, но производительность может быть медленной, и некоторые запросы могут быть удалены. "отключено": служба поиска отключена. В этом состоянии служба отклонит все запросы API. "error": служба поиска находится в состоянии ошибки. "остановлено": служба поиска находится в подписке, которая отключена. Если служба находится в состояниях пониженной, отключенной или ошибки, это означает, что группа поиска ИИ Azure активно изучает основную проблему. Выделенные службы в этих состояниях по-прежнему оплачиваются на основе количества подготовленных единиц поиска.
|
properties.statusDetails
|
string
|
|
Сведения о состоянии службы поиска.
|
sku
|
Sku
|
|
SKU службы поиска, которая определяет ценовую категорию и ограничения емкости. Это свойство необходимо при создании новой службы поиска.
|
tags
|
object
|
|
Теги, помогающие классифицировать ресурс на портале Azure.
|
type
|
string
|
|
Тип ресурса. Например, "Microsoft.Compute/virtualMachines" или "Microsoft.Storage/storageAccounts"
|
SharedPrivateLinkResource
Object
Описывает общий ресурс приватного канала, управляемый службой поиска ИИ Azure.
Имя |
Тип |
Описание |
id
|
string
|
Полный идентификатор ресурса для ресурса. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
|
name
|
string
|
Имя ресурса
|
properties
|
SharedPrivateLinkResourceProperties
|
Описывает свойства общего ресурса приватного канала, управляемого службой поиска ИИ Azure.
|
type
|
string
|
Тип ресурса. Например, "Microsoft.Compute/virtualMachines" или "Microsoft.Storage/storageAccounts"
|
SharedPrivateLinkResourceProperties
Object
Описывает свойства существующего ресурса общего приватного канала, управляемого службой поиска ИИ Azure.
Имя |
Тип |
Описание |
groupId
|
string
|
Идентификатор группы от поставщика ресурса, для которой используется общий ресурс приватного канала.
|
privateLinkResourceId
|
string
|
Идентификатор ресурса, для которой используется общий ресурс приватного канала.
|
provisioningState
|
SharedPrivateLinkResourceProvisioningState
|
Состояние подготовки общего ресурса приватного канала. Допустимые значения: обновление, удаление, сбой, успешное или неполное.
|
requestMessage
|
string
|
Сообщение о запросе утверждения общего ресурса приватного канала.
|
resourceRegion
|
string
|
Необязательно. Можно использовать для указания расположения Azure Resource Manager ресурса, для которого создается общая приватная ссылка. Это необходимо только для тех ресурсов, конфигурации DNS которых являются региональными (например, служба Azure Kubernetes).
|
status
|
SharedPrivateLinkResourceStatus
|
Состояние ресурса общего приватного канала. Допустимые значения: ожидающие, утвержденные, отклоненные или отключенные.
|
SharedPrivateLinkResourceProvisioningState
Перечисление
Состояние подготовки общего ресурса приватного канала. Допустимые значения: обновление, удаление, сбой, успешное или неполное.
Значение |
Описание |
Deleting
|
Общий ресурс приватного канала находится в процессе удаления.
|
Failed
|
Не удалось подготовить или удалить общий ресурс приватного канала.
|
Incomplete
|
Запрос на подготовку ресурса общего приватного канала был принят, но процесс создания еще не начался.
|
Succeeded
|
Общий ресурс приватного канала завершил подготовку и готов к утверждению.
|
Updating
|
Общий ресурс приватного канала находится в процессе создания вместе с другими ресурсами, чтобы он был полностью функциональным.
|
SharedPrivateLinkResourceStatus
Перечисление
Состояние ресурса общего приватного канала. Допустимые значения: ожидающие, утвержденные, отклоненные или отключенные.
Значение |
Описание |
Approved
|
Общий ресурс приватного канала утвержден и готов к использованию.
|
Disconnected
|
Общий ресурс приватного канала удален из службы.
|
Pending
|
Создан общий ресурс приватного канала и ожидает утверждения.
|
Rejected
|
Общий ресурс приватного канала был отклонен и не может использоваться.
|
Sku
Object
Определяет номер SKU службы поиска, который определяет частоту выставления счетов и ограничения емкости.
Имя |
Тип |
Описание |
name
|
SkuName
|
Номер SKU службы поиска. Допустимые значения: "бесплатный": общая служба. "базовый": выделенная служба с 3 репликами. "Стандартный": выделенная служба с 12 секциями и 12 репликами. "standard2": аналогично стандарту, но с большей емкостью на единицу поиска. "Standard3": наибольшее стандартное предложение с до 12 секций и 12 реплик (или до 3 секций с большим количеством индексов, если свойство hostingMode также имеет значение highDensity). "storage_optimized_l1": поддерживает 1TB на секцию до 12 секций. "storage_optimized_l2": поддерживает 2TB на секцию до 12 секций.
|
SkuName
Перечисление
Номер SKU службы поиска. Допустимые значения: "бесплатный": общая служба. "базовый": выделенная служба с 3 репликами. "Стандартный": выделенная служба с 12 секциями и 12 репликами. "standard2": аналогично стандарту, но с большей емкостью на единицу поиска. "Standard3": наибольшее стандартное предложение с до 12 секций и 12 реплик (или до 3 секций с большим количеством индексов, если свойство hostingMode также имеет значение highDensity). "storage_optimized_l1": поддерживает 1TB на секцию до 12 секций. "storage_optimized_l2": поддерживает 2TB на секцию до 12 секций.
Значение |
Описание |
basic
|
Оплачиваемый уровень для выделенной службы с 3 репликами.
|
free
|
Бесплатный уровень без гарантий обслуживания и подмножества функций, предлагаемых на платных уровнях.
|
standard
|
Уровень выставления счетов для выделенной службы с 12 секциями и 12 репликами.
|
standard2
|
Аналогично "стандарту", но с большей емкостью на единицу поиска.
|
standard3
|
Наибольшее предложение уровня "Стандартный" с до 12 секций и 12 реплик (или до 3 секций с большим количеством индексов, если свойство hostingMode также имеет значение highDensity).
|
storage_optimized_l1
|
Уровень выставления счетов для выделенной службы, поддерживающей 1TB на секцию, до 12 секций.
|
storage_optimized_l2
|
Уровень выставления счетов для выделенной службы, поддерживающей 2TB на секцию, до 12 секций.
|
UserAssignedManagedIdentity
Object
Сведения о назначенном пользователем управляемом удостоверении, назначенном службе поиска.
Имя |
Тип |
Описание |
clientId
|
string
|
Идентификатор клиента назначаемого пользователем удостоверения.
|
principalId
|
string
|
Основной идентификатор назначаемого пользователем удостоверения.
|