本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 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
使用 GetSendStatistics
调用 AWS CLI API 操作
-
如果您尚未这样做,请安装 AWS CLI。有关更多信息,请参阅AWS Command Line Interface 用户指南 中的“安装 AWS Command Line Interface”。
-
如果您尚未这样做,请将 AWS CLI 配置为使用您的 AWS 凭证。有关更多信息,请参阅AWS CLI 用户指南 中的配置 AWS Command Line Interface。
-
在命令行处,运行以下命令:
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