使用 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 User Guide ( 使用者指南) 中的 AWS Command Line InterfaceInstalling the &CLIlong; (安裝 &CLIlong;)。

  2. 若您尚未設定 AWS CLI 以使用您的 AWS 憑證,請先完成設定。如需詳細資訊,請參閱 AWS CLI User Guide (&CLIlong; 使用者指南) 中的 Configuring the AWS Command Line Interface (設定 &CLI;)。

  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