Creates an Amazon Personalize schema from the specified schema string. The schema you create must be in Avro JSON format.
Amazon Personalize recognizes three schema variants. Each schema is associated with a dataset type and has a set of required field and keywords. If you are creating a schema for a dataset in a Domain dataset group, you provide the domain of the Domain dataset group. You specify a schema when you call CreateDataset.
Related APIs
Parameters:
-
name
(Name)
–
-
schema
(AvroSchema)
–
A schema in Avro JSON format.
-
domain
(Optional[Domain], default:
None
)
–
The domain for the schema. If you are creating a schema for a dataset in a Domain dataset group, specify the domain you chose when you created the Domain dataset group.
Raises:
Source code in docs_src/capo_personalize/_services/personalize.py
| def create_schema(
self,
name: "capo_personalize.types.name.Name",
schema: "capo_personalize.types.avro_schema.AvroSchema",
*,
config_overrides: Optional[PersonalizeClientConfig] = None,
domain: Optional["capo_personalize.types.domain.Domain"] = None,
) -> "capo_personalize.types.create_schema_response.CreateSchemaResponse":
"""<p>Creates an Amazon Personalize schema from the specified schema string. The schema you create must be in Avro JSON format.</p> <p>Amazon Personalize recognizes three schema variants. Each schema is associated with a dataset type and has a set of required field and keywords. If you are creating a schema for a dataset in a Domain dataset group, you provide the domain of the Domain dataset group. You specify a schema when you call <a href="https://docs.aws.amazon.com/personalize/latest/dg/API_CreateDataset.html">CreateDataset</a>.</p> <p class="title"> <b>Related APIs</b> </p> <ul> <li> <p> <a href="https://docs.aws.amazon.com/personalize/latest/dg/API_ListSchemas.html">ListSchemas</a> </p> </li> <li> <p> <a href="https://docs.aws.amazon.com/personalize/latest/dg/API_DescribeSchema.html">DescribeSchema</a> </p> </li> <li> <p> <a href="https://docs.aws.amazon.com/personalize/latest/dg/API_DeleteSchema.html">DeleteSchema</a> </p> </li> </ul>
Args:
name: <p>The name for the schema.</p>
schema: <p>A schema in Avro JSON format.</p>
domain: <p>The domain for the schema. If you are creating a schema for a dataset in a Domain dataset group, specify the domain you chose when you created the Domain dataset group.</p>
Raises:
capo_personalize.errors.invalid_input_exception.InvalidInputException: <p>Provide a valid value for the field or parameter.</p>
capo_personalize.errors.limit_exceeded_exception.LimitExceededException: <p>The limit on the number of requests per second has been exceeded.</p>
capo_personalize.errors.resource_already_exists_exception.ResourceAlreadyExistsException: <p>The specified resource already exists.</p>
capo_personalize.errors.UnknownServiceError: The service returned an error code this client does not model.
"""
def _handler(
req: "OperationRequest[capo_personalize.types.create_schema_request.CreateSchemaRequest]",
) -> OperationResponse[
"capo_personalize.types.create_schema_response.CreateSchemaResponse"
]:
import capo_personalize._operations.amazon_personalize.create_schema
output, http_response = (
capo_personalize._operations.amazon_personalize.create_schema.create_schema(
req.options, req.input
)
)
return OperationResponse(output=output, response=http_response)
interceptors_, options_ = self.operation_options(
config_overrides, OperationLogging("CreateSchema")
)
input_: capo_personalize.types.create_schema_request.CreateSchemaRequest = {
"name": name,
"schema": schema,
}
if domain is not None:
input_["domain"] = domain
response = execute_pipeline(
OperationRequest(input=input_, options=options_),
handler=_handler,
interceptors=list(interceptors_),
)
response.response.close()
return response.output
|