AWS SES VDM中如何正确指定CreateExportJobRequest的S3目标位置?
解决SES CreateExportJob自定义S3 URL不支持的问题
你遇到的错误是因为SES的CreateExportJob操作不支持直接传入完整的S3 URL,必须拆分存储桶名称和路径前缀分别配置。
修改后的Java代码如下:
String s3BucketName = "my-bucket-name"; String s3Prefix = "export-files/"; Instant now = Instant.now(); CreateExportJobRequest request = CreateExportJobRequest.builder() .exportDataSource( ExportDataSource.builder() .messageInsightsDataSource( MessageInsightsDataSource.builder() .startDate(now.minus(7, ChronoUnit.DAYS)) .endDate(now) .include( MessageInsightsFilters.builder() .destination("myname@mydestination.com") .build() ) .build() ) .build() ) .exportDestination( ExportDestination.builder() .dataFormat(DataFormat.JSON) .s3BucketName(s3BucketName) .s3Prefix(s3Prefix) .build() ) .build();
关键修改说明
- 替换原来的
s3Url参数,分别使用s3BucketName指定存储桶名称,s3Prefix指定桶内的路径前缀。 - 如果不需要前缀(直接将文件存到桶根目录),可以将
s3Prefix设为空字符串。
额外注意事项
- 确保SES使用的服务角色拥有目标S3桶的
s3:PutObject权限。 - 检查S3桶的访问策略,允许SES服务主体(
ses.amazonaws.com)向桶写入数据。
内容的提问来源于stack exchange,提问作者HeronAlgoSearch
相关产品推荐
相关产品推荐

