cdk-emotion-garden에서는 DataSet에 대한 Schema를 정의합니다.
const interactionSchemaJson = `{
"type": "record",
"name": "Interactions",
"namespace": "com.amazonaws.personalize.schema",
"fields": [
{
"name": "USER_ID",
"type": "string"
},
{
"name": "ITEM_ID",
"type": "string"
},
{
"name": "TIMESTAMP",
"type": "long"
},
{
"name": "EVENT_TYPE",
"type": "string"
},
{
"name": "IMPRESSION",
"type": "string"
}
],
"version": "1.0"
}`;
const interactionSchema = new personalize.CfnSchema(this, 'InteractionSchema', {
name: 'emotion-garden-interaction-schema',
schema: interactionSchemaJson,
});
const interactionDataset = new personalize.CfnDataset(this, 'InteractionDataset', {
datasetGroupArn: datasetGroup.attrDatasetGroupArn,
datasetType: 'Interactions',
name: 'emotion-garden-interaction-dataset',
schemaArn: interactionSchema.attrSchemaArn,
});
User에 대한 Schema를 정의합니다.
const userSchemaJson = `{
"type": "record",
"name": "Users",
"namespace": "com.amazonaws.personalize.schema",
"fields": [
{
"name": "USER_ID",
"type": "string"
},
{
"name": "GENERATION",
"type": "string",
"categorical": true
},
{
"name": "GENDER",
"type": "string",
"categorical": true
},
{
"name": "EMOTION",
"type": "string",
"categorical": true
}
],
"version": "1.0"
}`;
const userSchema = new personalize.CfnSchema(this, 'UserSchema', {
name: 'emotion-garden-user-schema',
schema: userSchemaJson,
});
const userDataset = new personalize.CfnDataset(this, 'UserDataset', {
datasetGroupArn: datasetGroup.attrDatasetGroupArn,
datasetType: 'Users',
name: 'emotion-garden-user-dataset',
schemaArn: userSchema.attrSchemaArn,
});
Item에 대한 Schema를 정의합니다.
const itemSchemaJson = `{
"type": "record",
"name": "Items",
"namespace": "com.amazonaws.personalize.schema",
"fields": [
{
"name": "ITEM_ID",
"type": "string"
},
{
"name": "TIMESTAMP",
"type": "long"
},
{
"name": "EMOTION",
"type": "string",
"categorical": true
}
],
"version": "1.0"
}`;
const itemSchema = new personalize.CfnSchema(this, 'ItemSchema', {
name: 'emotion-garden-itemSchema',
schema: itemSchemaJson,
});
const itemDataset = new personalize.CfnDataset(this, 'ItemDataset', {
datasetGroupArn: datasetGroup.attrDatasetGroupArn,
datasetType: 'Items',
name: 'emotion-garden-itemDataset',
schemaArn: itemSchema.attrSchemaArn,
});