AWS Personalize "Input is not a valid Avro schema"

0

Hello, I try to build a CDK to setup an AWS Personalize environment. For me it look good, the Avro schema was copied from a tutorial of AWS. What is wrong with my Schema?

//AWS PErsonalize Init
    const cfnDatasetGroup = new personalize.CfnDatasetGroup(this, 'MyCfnDatasetGroupLAb62s', {
      name: 'pinpoint-recommendations-clothing',               
    });    

    const cfnSchema = new personalize.CfnSchema(this, 'MyCfnSchema', {
      name: 'pinpoint-recc-schema-clothing',
      schema: this.getPErsonalizeCsvSchemaJSON.toString(),           
    });

    const cfnDataset = new personalize.CfnDataset(this, 'MyCfnDataset', {
      datasetGroupArn: cfnDatasetGroup.attrDatasetGroupArn,
      datasetType: 'datasetType',
      name: 'pinpoint-recc-dataset-clothing',
      schemaArn: cfnSchema.attrSchemaArn,
    
      datasetImportJob: {                
        dataSource: {dataLocation: personalizeBucket.s3UrlForObject.toString()},
        jobName: 'pinpoint-importjob-clothing',
        //roleArn: 'roleArn',
      },
    });

The method behind is:

private getPErsonalizeCsvSchemaJSON() {    
    let content = {
      "type": "record",
      "name": "Interactions",
      "namespace": "com.amazonaws.personalize.schema",
      "fields": [
          {
              "name": "USER_ID",
              "type": "string"
          },
          {
              "name": "ITEM_ID",
              "type": "string"
          },
          {
              "name": "TIMESTAMP",
              "type": "long"
          }
      ],
      "version": "1.0"
    }
  return content
  }

And the error message is : "Input is not a valid Avro schema (Service: Personalize, Status Code: 400

已提問 1 年前檢視次數 295 次
1 個回答
0

To get a string representation of a map object in TypeScript/JavaScript, you need to use JSON.stringify(this.getPErsonalizeCsvSchemaJSON).

this.getPErsonalizeCsvSchemaJSON.toString() returns [object Object]

AWS
專家
已回答 1 年前
profile pictureAWS
專家
Chris_G
已審閱 1 年前

您尚未登入。 登入 去張貼答案。

一個好的回答可以清楚地回答問題並提供建設性的意見回饋,同時有助於提問者的專業成長。

回答問題指南