我正在尝试确定从我的G Suite帐户发送的邮件总数。我正在将日志流式传输到BigQuery。
消息可能会多次出现在日志中,所以我可以计算出不同的消息头。
SELECT
count (DISTINCT message_info.rfc2822_message_id) as MessageIDCount
FROM `my data set`
这将计算入站和出站的总数,因此如果我只想出站,则可以添加WHEN message_info.message_set.type = 8。
但是gmail https://support.google.com/a/answer/2956491#sendinglimitsforrelay的发送限制
发送限制不仅是发送的邮件总数,还取决于收件人的数量。
我有兴趣运行一个查询,该查询将提供发送的邮件总数,如果我向2个人发送一封电子邮件,它将被视为2,如果我发送至10个人将被视为10,等等。
本质上,我想确定在给定的一天内达到发送限制的距离。
有什么建议吗?
答案 0 :(得分:1)
以下是用于BigQuery标准SQL
#standardSQL
SELECT
DATE(TIMESTAMP_MICROS(event_info.timestamp_usec)) day,
COUNT(address) AS total_recipients
FROM `project.dataset.gmail_log`,
UNNEST(message_info.destination) AS destination
WHERE EXISTS (SELECT 1 FROM UNNEST(message_info.message_set) WHERE type = 8)
GROUP BY day
它将以以下格式返回每日的收件人总数
Row day total_recipients
1 2019-01-10 100
2 2019-01-11 100
3 2019-01-12 100
4 2019-01-13 100
5 2019-01-14 100