in next_steps/operations/ml_ops/personalize-step-functions/lambdas/create-dataset/dataset.py [0:0]
def create_schema(name, schema):
schemaArn = 'arn:aws:personalize:{region}:{account}:schema/{name}'
try:
schemaResponse = LOADER.personalize_cli.describe_schema(
schemaArn=schemaArn.format(
name=name,
account=LOADER.account_id,
region=environ['AWS_REGION']
)
)
if schemaResponse['schema']['schema'] != schema:
LOADER.logger.info(
'''{name} schema already exists with different schema!
Will follow using different schema name.'''.
format(name=name)
)
return create_schema(
name='{name}-{rand}'.format(name=name, rand=randint(0, 100000)),
schema=schema
)
return schemaResponse['schema']['schemaArn']
except LOADER.personalize_cli.exceptions.ResourceNotFoundException:
LOADER.logger.info('Schema not found! Will follow to create schema.')
return LOADER.personalize_cli.create_schema(
name=name, schema=dumps(schema)
)['schemaArn']