对于在前端显示分析数据的问题,使用Quicksight和仅使用DynamoDB数据方案是更适合的解决方案。AWS Opensearch主要用于搜索和分析大量文本数据,而不是直接在前端显示分析数据。
以下是使用Quicksight和仅使用DynamoDB数据的代码示例:
使用Quicksight:
示例代码(使用AWS SDK for JavaScript):
const AWS = require('aws-sdk');
const quicksight = new AWS.QuickSight({ region: 'us-east-1' });
const datasetParams = {
  AwsAccountId: 'YOUR_AWS_ACCOUNT_ID',
  DataSetId: 'YOUR_DATA_SET_ID',
  ImportMode: 'SPICE', // or 'DIRECT_QUERY' if you want to query DynamoDB directly
  DataSource: {
    DataSourceId: 'YOUR_DATA_SOURCE_ID',
    Type: 'S3', // or 'DynamoDB' if you want to query DynamoDB directly
    S3Parameters: {
      ManifestFileLocation: {
        Bucket: 'YOUR_BUCKET_NAME',
        Key: 'YOUR_MANIFEST_FILE_KEY',
      },
    },
  },
};
quicksight.createDataSet(datasetParams, (err, data) => {
  if (err) {
    console.error(err);
  } else {
    console.log('Data set created successfully');
  }
});
仅使用DynamoDB数据:
示例代码(使用AWS SDK for JavaScript):
const AWS = require('aws-sdk');
const dynamodb = new AWS.DynamoDB({ region: 'us-east-1' });
const params = {
  TableName: 'YOUR_TABLE_NAME',
  KeyConditionExpression: 'PartitionKey = :pk',
  ExpressionAttributeValues: {
    ':pk': { S: 'YOUR_PARTITION_KEY_VALUE' },
  },
};
dynamodb.query(params, (err, data) => {
  if (err) {
    console.error(err);
  } else {
    console.log('Data retrieved successfully:', data.Items);
    // Process and display the data in the frontend
  }
});
请注意,以上代码示例仅为示范目的,实际使用时需要根据具体情况进行调整和优化。此外,确保在使用Quicksight或DynamoDB时遵循AWS的最佳实践和安全性措施。