Share via


WebApiSkill Class

public final class WebApiSkill
extends SearchIndexerSkill

A skill that can call a Web API endpoint, allowing you to extend a skillset by having it call your custom code.

Constructor Summary

Constructor Description
WebApiSkill(List<InputFieldMappingEntry> inputs, List<OutputFieldMappingEntry> outputs, String uri)

Creates an instance of WebApiSkill class.

Method Summary

Modifier and Type Method and Description
static WebApiSkill fromJson(JsonReader jsonReader)

Reads an instance of WebApiSkill from the JsonReader.

SearchIndexerDataIdentity getAuthIdentity()

Get the authIdentity property: The user-assigned managed identity used for outbound connections.

String getAuthResourceId()

Get the authResourceId property: Applies to custom skills that connect to external code in an Azure function or some other application that provides the transformations.

Integer getBatchSize()

Get the batchSize property: The desired batch size which indicates number of documents.

Integer getDegreeOfParallelism()

Get the degreeOfParallelism property: If set, the number of parallel calls that can be made to the Web API.

Map<String,String> getHttpHeaders()

Get the httpHeaders property: The headers required to make the http request.

String getHttpMethod()

Get the httpMethod property: The method for the http request.

String getOdataType()

Get the odataType property: A URI fragment specifying the type of skill.

Duration getTimeout()

Get the timeout property: The desired timeout for the request.

String getUri()

Get the uri property: The url for the Web API.

WebApiSkill setAuthIdentity(SearchIndexerDataIdentity authIdentity)

Set the authIdentity property: The user-assigned managed identity used for outbound connections.

WebApiSkill setAuthResourceId(String authResourceId)

Set the authResourceId property: Applies to custom skills that connect to external code in an Azure function or some other application that provides the transformations.

WebApiSkill setBatchSize(Integer batchSize)

Set the batchSize property: The desired batch size which indicates number of documents.

WebApiSkill setContext(String context)

Set the context property: Represents the level at which operations take place, such as the document root or document content (for example, /document or /document/content).

WebApiSkill setDegreeOfParallelism(Integer degreeOfParallelism)

Set the degreeOfParallelism property: If set, the number of parallel calls that can be made to the Web API.

WebApiSkill setDescription(String description)

Set the description property: The description of the skill which describes the inputs, outputs, and usage of the skill.

WebApiSkill setHttpHeaders(Map<String,String> httpHeaders)

Set the httpHeaders property: The headers required to make the http request.

WebApiSkill setHttpMethod(String httpMethod)

Set the httpMethod property: The method for the http request.

WebApiSkill setName(String name)

Set the name property: The name of the skill which uniquely identifies it within the skillset.

WebApiSkill setTimeout(Duration timeout)

Set the timeout property: The desired timeout for the request.

JsonWriter toJson(JsonWriter jsonWriter)

Methods inherited from SearchIndexerSkill

Methods inherited from java.lang.Object

Constructor Details

WebApiSkill

public WebApiSkill(List<InputFieldMappingEntry> inputs, List<OutputFieldMappingEntry> outputs, String uri)

Creates an instance of WebApiSkill class.

Parameters:

inputs - the inputs value to set.
outputs - the outputs value to set.
uri - the uri value to set.

Method Details

fromJson

public static WebApiSkill fromJson(JsonReader jsonReader)

Reads an instance of WebApiSkill from the JsonReader.

Parameters:

jsonReader - The JsonReader being read.

Returns:

An instance of WebApiSkill if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.

Throws:

IOException

- If the deserialized JSON object was missing any required properties.

getAuthIdentity

public SearchIndexerDataIdentity getAuthIdentity()

Get the authIdentity property: The user-assigned managed identity used for outbound connections. If an authResourceId is provided and it's not specified, the system-assigned managed identity is used. On updates to the indexer, if the identity is unspecified, the value remains unchanged. If set to "none", the value of this property is cleared.

Returns:

the authIdentity value.

getAuthResourceId

public String getAuthResourceId()

Get the authResourceId property: Applies to custom skills that connect to external code in an Azure function or some other application that provides the transformations. This value should be the application ID created for the function or app when it was registered with Azure Active Directory. When specified, the custom skill connects to the function or app using a managed ID (either system or user-assigned) of the search service and the access token of the function or app, using this value as the resource id for creating the scope of the access token.

Returns:

the authResourceId value.

getBatchSize

public Integer getBatchSize()

Get the batchSize property: The desired batch size which indicates number of documents.

Returns:

the batchSize value.

getDegreeOfParallelism

public Integer getDegreeOfParallelism()

Get the degreeOfParallelism property: If set, the number of parallel calls that can be made to the Web API.

Returns:

the degreeOfParallelism value.

getHttpHeaders

public Map<String,String> getHttpHeaders()

Get the httpHeaders property: The headers required to make the http request.

Returns:

the httpHeaders value.

getHttpMethod

public String getHttpMethod()

Get the httpMethod property: The method for the http request.

Returns:

the httpMethod value.

getOdataType

public String getOdataType()

Get the odataType property: A URI fragment specifying the type of skill.

Overrides:

WebApiSkill.getOdataType()

Returns:

the odataType value.

getTimeout

public Duration getTimeout()

Get the timeout property: The desired timeout for the request. Default is 30 seconds.

Returns:

the timeout value.

getUri

public String getUri()

Get the uri property: The url for the Web API.

Returns:

the uri value.

setAuthIdentity

public WebApiSkill setAuthIdentity(SearchIndexerDataIdentity authIdentity)

Set the authIdentity property: The user-assigned managed identity used for outbound connections. If an authResourceId is provided and it's not specified, the system-assigned managed identity is used. On updates to the indexer, if the identity is unspecified, the value remains unchanged. If set to "none", the value of this property is cleared.

Parameters:

authIdentity - the authIdentity value to set.

Returns:

the WebApiSkill object itself.

setAuthResourceId

public WebApiSkill setAuthResourceId(String authResourceId)

Set the authResourceId property: Applies to custom skills that connect to external code in an Azure function or some other application that provides the transformations. This value should be the application ID created for the function or app when it was registered with Azure Active Directory. When specified, the custom skill connects to the function or app using a managed ID (either system or user-assigned) of the search service and the access token of the function or app, using this value as the resource id for creating the scope of the access token.

Parameters:

authResourceId - the authResourceId value to set.

Returns:

the WebApiSkill object itself.

setBatchSize

public WebApiSkill setBatchSize(Integer batchSize)

Set the batchSize property: The desired batch size which indicates number of documents.

Parameters:

batchSize - the batchSize value to set.

Returns:

the WebApiSkill object itself.

setContext

public WebApiSkill setContext(String context)

Set the context property: Represents the level at which operations take place, such as the document root or document content (for example, /document or /document/content). The default is /document.

Overrides:

WebApiSkill.setContext(String context)

Parameters:

context

setDegreeOfParallelism

public WebApiSkill setDegreeOfParallelism(Integer degreeOfParallelism)

Set the degreeOfParallelism property: If set, the number of parallel calls that can be made to the Web API.

Parameters:

degreeOfParallelism - the degreeOfParallelism value to set.

Returns:

the WebApiSkill object itself.

setDescription

public WebApiSkill setDescription(String description)

Set the description property: The description of the skill which describes the inputs, outputs, and usage of the skill.

Overrides:

WebApiSkill.setDescription(String description)

Parameters:

description

setHttpHeaders

public WebApiSkill setHttpHeaders(Map<String,String> httpHeaders)

Set the httpHeaders property: The headers required to make the http request.

Parameters:

httpHeaders - the httpHeaders value to set.

Returns:

the WebApiSkill object itself.

setHttpMethod

public WebApiSkill setHttpMethod(String httpMethod)

Set the httpMethod property: The method for the http request.

Parameters:

httpMethod - the httpMethod value to set.

Returns:

the WebApiSkill object itself.

setName

public WebApiSkill setName(String name)

Set the name property: The name of the skill which uniquely identifies it within the skillset. A skill with no name defined will be given a default name of its 1-based index in the skills array, prefixed with the character '#'.

Overrides:

WebApiSkill.setName(String name)

Parameters:

name

setTimeout

public WebApiSkill setTimeout(Duration timeout)

Set the timeout property: The desired timeout for the request. Default is 30 seconds.

Parameters:

timeout - the timeout value to set.

Returns:

the WebApiSkill object itself.

toJson

public JsonWriter toJson(JsonWriter jsonWriter)

Overrides:

WebApiSkill.toJson(JsonWriter jsonWriter)

Parameters:

jsonWriter

Throws:

Applies to