如何使用 Cloudformation 或 CDK 为 S3 存储桶启用请求指标

How to enable request metrics for S3 bucket using Cloudformation or CDK

我可以通过选中复选框 (https://ibb.co/bWDLcNT) 在 AWS 控制台中手动启用(S3 存储桶的请求指标,apid 选项)。但我正在尝试通过代码来做到这一点。我尝试寻找使用 CloudFormation / CDK(nodeJs) / AWS CLI 的解决方案。但没有运气。我找到的解决方案只是关于使用过滤器等创建指标,而不是关于启用它的。有什么建议吗?

您可以使用 MetricsConfiguration:

Specifies a metrics configuration for the CloudWatch request metrics (specified by the metrics configuration ID) from an Amazon S3 bucket.

示例为:

  MyBucket:
    Type: AWS::S3::Bucket
    Properties:
      BucketName: somey-bucket-3344-name
      MetricsConfigurations: 
        - Id: EntireBucket

注释EntireBucket。这是启用付费指标所需的 ID。

CDK equivalent for Marcin's answer would be to use the Bucket 结构:

new Bucket(this, 'metric-example-bucket', {
  bucketName: "somey-bucket-3344-name",
  metrics: [{
    id: "EntireBucket"
  }]
}) 

如果您已经在 CDK 中创建了该存储桶,则可以使用 addMetric() 方法:

existingBucket.addMetric({id: "EntireBucket"})