使用 Amazon SES API 监控您的使用情况统计数据 - Amazon Simple Email Service

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用 Amazon SES API 监控您的使用情况统计数据

Amazon SES API 提供 GetSendStatistics 操作,用于返回有关服务使用情况的信息。我们建议您定期查看您的发送统计数据,以便根据需要进行调整。

当您调用 GetSendStatistics 操作时,您会收到表示您最近两周的发送活动的数据点的列表。此列表中的每个数据点代表一项为时 15 分钟的活动,并包含该时间段的以下信息:

  • 查无此人的邮件的数量

  • 投诉的数量

  • 传送尝试的次数 (对应于您已发送的电子邮件数)

  • 被拒绝的发送尝试的次数

  • 分析时段的时间戳

有关 GetSendStatistics 操作的完整描述,请参阅 Amazon Simple Email Service API 参考

在本节中,您将找到以下主题:

使用 GetSendStatistics 调用 AWS CLI API 操作

调用 GetSendStatistics API 操作的最简单方法是使用 AWS Command Line Interface (AWS CLI)。

使用 GetSendStatistics 调用 AWS CLI API 操作
  1. 如果您尚未这样做,请安装 AWS CLI。有关更多信息,请参阅AWS Command Line Interface 用户指南 中的“安装 AWS Command Line Interface”。

  2. 如果您尚未这样做,请将 AWS CLI 配置为使用您的 AWS 凭证。有关更多信息,请参阅AWS CLI 用户指南 中的配置 AWS Command Line Interface

  3. 在命令行处,运行以下命令:

    aws ses get-send-statistics

    如果 AWS CLI 配置正确,您将看到采用 JSON 格式的发送统计数据的列表。每个 JSON 对象都包含 15 分钟时段内的聚合发送统计数据。

以编程方式调用 GetSendStatistics 操作

您还可以使用 GetSendStatistics 开发工具包调用 AWS 操作。本节包含分别适用于 Go、PHP、Python 和 Ruby 的 AWS 软件开发工具包的代码示例。选择以下链接之一可查看相应语言的代码示例:

注意

这些代码示例假定已创建 AWS 共享凭证文件,该文件包含 AWS 访问密钥 ID、AWS 秘密访问密钥和首选 AWS 区域。有关更多信息,请参阅共享凭证和配置文件

使用 GetSendStatistics 调用 AWS SDK for Go

package main import ( "fmt" //go get github.com/aws/aws-sdk-go/... "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/aws/session" "github.com/aws/aws-sdk-go/service/ses" "github.com/aws/aws-sdk-go/aws/awserr" ) const ( // Replace us-west-2 with the AWS Region you're using for Amazon SES. AwsRegion = "us-west-2" ) func main() { // Create a new session and specify an AWS Region. sess, err := session.NewSession(&aws.Config{ Region:aws.String(AwsRegion)}, ) // Create an SES client in the session. svc := ses.New(sess) input := &ses.GetSendStatisticsInput{} result, err := svc.GetSendStatistics(input) // Display error messages if they occur. if err != nil { if aerr, ok := err.(awserr.Error); ok { switch aerr.Code() { default: fmt.Println(aerr.Error()) } } else { // Print the error, cast err to awserr.Error to get the Code and // Message from an error. fmt.Println(err.Error()) } return } fmt.Println(result) }

使用 GetSendStatistics 调用 AWS SDK for PHP

<?php // Replace path_to_sdk_inclusion with the path to the SDK as described in // http://docs.aws.amazon.com/aws-sdk-php/v3/guide/getting-started/basic-usage.html define('REQUIRED_FILE','path_to_sdk_inclusion'); // Replace us-west-2 with the AWS Region you're using for Amazon SES. define('REGION','us-west-2'); require REQUIRED_FILE; use Aws\Ses\SesClient; $client = SesClient::factory(array( 'version'=> 'latest', 'region' => REGION )); try { $result = $client->getSendStatistics([]); echo($result); } catch (Exception $e) { echo($e->getMessage()."\n"); } ?>

使用 GetSendStatistics 调用 AWS SDK for Python (Boto)

import boto3 #pip install boto3 import json from botocore.exceptions import ClientError client = boto3.client('ses') try: response = client.get_send_statistics( ) except ClientError as e: print(e.response['Error']['Message']) else: print(json.dumps(response, indent=4, sort_keys=True, default=str))

使用 GetSendStatistics 调用 AWS SDK for Ruby

require 'aws-sdk' # gem install aws-sdk require 'json' # Replace us-west-2 with the AWS Region you're using for Amazon SES. awsregion = "us-west-2" # Create a new SES resource and specify a region ses = Aws::SES::Client.new(region: awsregion) begin resp = ses.get_send_statistics({ }) puts JSON.pretty_generate(resp.to_h) # If something goes wrong, display an error message. rescue Aws::SES::Errors::ServiceError => error puts error end