WebApiSkill Class
A skill that can call a Web API endpoint, allowing you to extend a skillset by having it call your custom code.
All required parameters must be populated in order to send to server.
- Inheritance
-
azure.search.documents.indexes._generated.models._models_py3.SearchIndexerSkillWebApiSkill
Constructor
WebApiSkill(*, inputs: List[_models.InputFieldMappingEntry], outputs: List[_models.OutputFieldMappingEntry], uri: str, name: str | None = None, description: str | None = None, context: str | None = None, http_headers: Dict[str, str] | None = None, http_method: str | None = None, timeout: timedelta | None = None, batch_size: int | None = None, degree_of_parallelism: int | None = None, auth_resource_id: str | None = None, auth_identity: _models.SearchIndexerDataIdentity | None = None, **kwargs: Any)
Keyword-Only Parameters
Name | Description |
---|---|
name
|
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 '#'. |
description
|
The description of the skill which describes the inputs, outputs, and usage of the skill. |
context
|
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. |
inputs
|
Inputs of the skills could be a column in the source data set, or the output of an upstream skill. Required. |
outputs
|
The output of a skill is either a field in a search index, or a value that can be consumed as an input by another skill. Required. |
uri
|
The url for the Web API. Required. |
http_headers
|
The headers required to make the http request. |
http_method
|
The method for the http request. |
timeout
|
The desired timeout for the request. Default is 30 seconds. |
batch_size
|
The desired batch size which indicates number of documents. |
degree_of_parallelism
|
If set, the number of parallel calls that can be made to the Web API. |
auth_resource_id
|
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. |
auth_identity
|
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. |
Variables
Name | Description |
---|---|
odata_type
|
A URI fragment specifying the type of skill. Required. |
name
|
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 '#'. |
description
|
The description of the skill which describes the inputs, outputs, and usage of the skill. |
context
|
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. |
inputs
|
Inputs of the skills could be a column in the source data set, or the output of an upstream skill. Required. |
outputs
|
The output of a skill is either a field in a search index, or a value that can be consumed as an input by another skill. Required. |
uri
|
The url for the Web API. Required. |
http_headers
|
The headers required to make the http request. |
http_method
|
The method for the http request. |
timeout
|
The desired timeout for the request. Default is 30 seconds. |
batch_size
|
The desired batch size which indicates number of documents. |
degree_of_parallelism
|
If set, the number of parallel calls that can be made to the Web API. |
auth_resource_id
|
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. |
auth_identity
|
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. |
Methods
as_dict |
Return a dict that can be serialized using json.dump. Advanced usage might optionally use a callback as parameter: Key is the attribute name used in Python. Attr_desc is a dict of metadata. Currently contains 'type' with the msrest type and 'key' with the RestAPI encoded key. Value is the current value in this object. The string returned will be used to serialize the key. If the return type is a list, this is considered hierarchical result dict. See the three examples in this file:
If you want XML serialization, you can pass the kwargs is_xml=True. |
deserialize |
Parse a str using the RestAPI syntax and return a model. |
enable_additional_properties_sending | |
from_dict |
Parse a dict using given key extractor return a model. By default consider key extractors (rest_key_case_insensitive_extractor, attribute_key_case_insensitive_extractor and last_rest_key_case_insensitive_extractor) |
is_xml_model | |
serialize |
Return the JSON that would be sent to server from this model. This is an alias to as_dict(full_restapi_key_transformer, keep_readonly=False). If you want XML serialization, you can pass the kwargs is_xml=True. |
as_dict
Return a dict that can be serialized using json.dump.
Advanced usage might optionally use a callback as parameter:
Key is the attribute name used in Python. Attr_desc is a dict of metadata. Currently contains 'type' with the msrest type and 'key' with the RestAPI encoded key. Value is the current value in this object.
The string returned will be used to serialize the key. If the return type is a list, this is considered hierarchical result dict.
See the three examples in this file:
attribute_transformer
full_restapi_key_transformer
last_restapi_key_transformer
If you want XML serialization, you can pass the kwargs is_xml=True.
as_dict(keep_readonly: bool = True, key_transformer: ~typing.Callable[[str, ~typing.Dict[str, ~typing.Any], ~typing.Any], ~typing.Any] = <function attribute_transformer>, **kwargs: ~typing.Any) -> MutableMapping[str, Any]
Parameters
Name | Description |
---|---|
key_transformer
|
<xref:function>
A key transformer function. |
keep_readonly
|
Default value: True
|
Returns
Type | Description |
---|---|
A dict JSON compatible object |
deserialize
Parse a str using the RestAPI syntax and return a model.
deserialize(data: Any, content_type: str | None = None) -> ModelType
Parameters
Name | Description |
---|---|
data
Required
|
A str using RestAPI structure. JSON by default. |
content_type
|
JSON by default, set application/xml if XML. Default value: None
|
Returns
Type | Description |
---|---|
An instance of this model |
Exceptions
Type | Description |
---|---|
DeserializationError if something went wrong
|
enable_additional_properties_sending
enable_additional_properties_sending() -> None
from_dict
Parse a dict using given key extractor return a model.
By default consider key extractors (rest_key_case_insensitive_extractor, attribute_key_case_insensitive_extractor and last_rest_key_case_insensitive_extractor)
from_dict(data: Any, key_extractors: Callable[[str, Dict[str, Any], Any], Any] | None = None, content_type: str | None = None) -> ModelType
Parameters
Name | Description |
---|---|
data
Required
|
A dict using RestAPI structure |
content_type
|
JSON by default, set application/xml if XML. Default value: None
|
key_extractors
|
Default value: None
|
Returns
Type | Description |
---|---|
An instance of this model |
Exceptions
Type | Description |
---|---|
DeserializationError if something went wrong
|
is_xml_model
is_xml_model() -> bool
serialize
Return the JSON that would be sent to server from this model.
This is an alias to as_dict(full_restapi_key_transformer, keep_readonly=False).
If you want XML serialization, you can pass the kwargs is_xml=True.
serialize(keep_readonly: bool = False, **kwargs: Any) -> MutableMapping[str, Any]
Parameters
Name | Description |
---|---|
keep_readonly
|
If you want to serialize the readonly attributes Default value: False
|
Returns
Type | Description |
---|---|
A dict JSON compatible object |
Azure SDK for Python