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/async_personalize.py
| async def create_schema(
self,
name: "capo_personalize.types.name.Name",
schema: "capo_personalize.types.avro_schema.AvroSchema",
*,
config_overrides: Optional[AsyncPersonalizeClientConfig] = 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.
"""
async def _handler(
req: "AsyncOperationRequest[capo_personalize.types.create_schema_request.CreateSchemaRequest]",
) -> AsyncOperationResponse[
"capo_personalize.types.create_schema_response.CreateSchemaResponse"
]:
import capo_personalize._operations.amazon_personalize.create_schema
(
output,
http_response,
) = await capo_personalize._operations.amazon_personalize.create_schema.async_create_schema(
req.options, req.input
)
return AsyncOperationResponse(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 = await aexecute_pipeline(
AsyncOperationRequest(input=input_, options=options_),
handler=_handler,
interceptors=list(interceptors_),
)
await response.response.aclose()
return response.output
|