def create_schema()

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']