Отчёты через API: полнота, квоты и возраст данных

Кратко

Ответ и завершённый скрипт не доказывают получение всех строк. Ограничения и задержки зависят от API.

Вымышленно: наблюдение 08:00, доступность 08:10, извлечение 08:15, показ 08:20; возраст данных 20 минут, извлечение 5 минут назад Схема метода · шаги объяснены в тексте
В этой статье

Ответ и завершённый скрипт не доказывают получение всех строк. Ограничения и задержки зависят от API.

Проверить результат извлечения

Проверяйте период, часовой пояс, фильтры, поля, страницы и метаданные. В GA4 Data API rowCount описывает все строки результата запроса, а не одной страницы. Это не доказательство охвата всей реальной активности; соблюдайте квоты и отмечайте неполные выгрузки.

Различать четыре времени

Вымышленный пример, один день и пояс: наблюдение 08:00, доступность 08:10, извлечение 08:15, показ 08:20. С момента наблюдения данным 20 минут, хотя извлечению только 5. Задержки источников и кеши действуют также в Data Studio и других системах.

Вымышленный пример: четыре разных времени
ПунктВремя
Наблюдение08:00
Доступность08:10
Извлечение08:15
Показ08:20

Источники и проверка

Автоматизируйте извлечение данных с подтверждением полноты.

Отчет, сгенерированный без технических ошибок, все еще может не содержать страниц результатов или использовать другой фильтр. Сохраните временной интервал, схему и правила пагинации, затем проверьте итоги и дубликаты. Подготовьте воспроизведение периода, не теряя при этом историю изменений.

  • Версионные фильтры, измерения, единицы измерения, часовой пояс и пагинация.
  • Сравните извлеченную выборку с источником за тот же период.
  • Воспроизведите прерванное извлечение и проверьте наличие потерь и дубликатов.

Первичный источник: Google SRE — Data Processing Pipelines. Связанный метод: прочитать практическое руководство.

Часовые пояса и поздние события

Период отчёта зависит от времени события и правил закрытия.

  • Храните время события, получения и деловой часовой пояс отдельно. В вымышленном примере 23:30 UTC — это 01:30 следующего дня при фиксированном смещении UTC+02:00. Тип PostgreSQL с часовым поясом не сохраняет исходное название зоны.
  • Включайте начало и исключайте конец периода. Вычисляйте границы в деловой зоне до перевода в UTC. Проверьте смену сезонного времени, месяца и дату без времени: местный день не всегда равен 24 часам.
  • Задайте допустимую задержку и момент закрытия отчёта. Повторите идентификатор, чтобы отличить новое событие от дубликата. Сохраните опубликованную версию и влияние исправления; watermark оценивает поступление и не гарантирует полноту.

Воспроизводимый приёмочный случай

Вымышленный пример: данные не описывают клиента или наблюдаемый результат.

Посмотреть данные случая
{
    "event_time": "2026-10-08T23:30:00Z",
    "report_zone": "UTC+02:00",
    "local_time": "2026-10-09T01:30:00+02:00"
}

Ожидаемое решение

В указанном поясе событие относится к 9 октября. Сохраните также время UTC.

Процедура проверки

  1. Определите пояс отчёта и опорный момент.
  2. Повторите событие около полуночи.
  3. Сохраните UTC, местную дату и правило закрытия. Добавьте неоднозначное местное время при переводе часов; сохраняйте смещение и зону вместо угадывания конкретного момента.

PostgreSQL — Date/time types

Можно ли считать день получения днём события?

Только если это предусмотрено определением отчёта. Сохраняйте оба времени и объясняйте обработку поздних событий.

Первичный источник: PostgreSQL — Date/time types. Связанный метод: прочитать практическое руководство.