put-record
Описание
Записывает один элемент данных в поток Firehose. Для записи нескольких элементов данных в поток Firehose используйте PutRecordBatch. Приложения, использующие эти операции, называются производителями.
По умолчанию каждый поток Firehose может принять до 2000 транзакций в секунду, 5000 записей в секунду или 5 МБ в секунду. Если вы используете PutRecord и PutRecordBatch, пределы суммируются для каждой операции для каждого потока Firehose. Дополнительную информацию о ограничениях и о том, как их увеличить, см. в разделе Amazon Firehose Limits.
Firehose накапливает и публикует определённую метрику для учётной записи клиента с интервалом в одну минуту. Возможны всплески входящих байтов/записей, поступающих в поток Firehose, длящийся всего несколько секунд. В связи с этим фактические пики трафика могут не полностью отображаться в метриках CloudWatch клиента за одну минуту.
При использовании PutRecord необходимо указать имя потока Firehose и элемент данных. Элемент данных состоит из блока данных размером до 1000 Кбайт и любого типа данных. Например, это может быть фрагмент из файла журнала, данные о географическом местоположении, данные о кликах на веб-сайте и т. д.
Для многозаписичной деагрегации нельзя помещать более 500 записей, даже если длина блока данных меньше 1000 Кбайт. Если вы включите более 500 записей, запрос выполняется успешно, но деагрегация записей не работает должным образом, а лямбда-функция преобразования вызывается с полным закодированным в Base64 блоком данных вместо деагрегированных записей, декодированных из Base64.
Firehose буферизует записи перед их доставкой в место назначения. Для того, чтобы однозначно идентифицировать блоки данных в месте назначения, часто используется разделитель в данных, например, символ новой строки (\n) или какой-либо другой уникальный символ в данных. Это позволяет приложению-потребителю анализировать отдельные элементы данных при чтении данных из места назначения.
Операция PutRecord возвращает RecordId, которая является уникальной строкой, назначенной каждой записи. Приложения-производители могут использовать этот идентификатор для целей аудита и расследования.
Если операция PutRecord вызывает исключение ServiceUnavailableException, API автоматически повторно вызывается (перезапускается) 3 раза. Если исключение сохраняется, возможно, пределы пропускной способности потока Firehose превышены.
Повторное вызов операций Put API (например, PutRecord и PutRecordBatch) может привести к дублированию данных. Для больших объемов данных следует увеличить время ожидания перед повторным вызовом операций Put API.
Записи данных, отправленные в Firehose, хранятся в течение 24 часов с момента их добавления в поток Firehose, поскольку он пытается отправить записи в место назначения. Если место назначения недоступно более 24 часов, данные больше недоступны.
Предупреждение
Не конкатенируйте две или более строк Base64 для формирования полей данных ваших записей. Вместо этого, конкатенируйте исходные данные, а затем выполните кодирование в Base64.См. также: AWS API Documentation
Синтаксис
put-record
--delivery-stream-name <value>
--record <value>
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]
[--debug]
[--endpoint-url <value>]
[--no-verify-ssl]
[--no-paginate]
[--output <value>]
[--query <value>]
[--profile <value>]
[--region <value>]
[--version <value>]
[--color <value>]
[--no-sign-request]
[--ca-bundle <value>]
[--cli-read-timeout <value>]
[--cli-connect-timeout <value>]
[--cli-binary-format <value>]
[--no-cli-pager]
[--cli-auto-prompt]
[--no-cli-auto-prompt]
Параметры
--delivery-stream-name (строка)
--record (структура)
Запись.
Data -> (блок данных)
Сокращенный синтаксис:
Data=blob
Синтаксис JSON:
{
"Data": blob
}
--cli-input-json | --cli-input-yaml (строка) Читает аргументы из предоставленной строки JSON. Строка JSON следует формату, указанному в --generate-cli-skeleton. Если на командной строке предоставлены другие аргументы, эти значения переопределят значения, предоставленные через JSON. Невозможно передать произвольные двоичные значения, используя предоставленное значение JSON, так как строка будет воспринята буквально. Это может не быть указано вместе с --cli-input-yaml.
--generate-cli-skeleton (строка) Выводит каркас JSON в стандартный вывод без отправки запроса API. При отсутствии значения или значении input выводит пример входного JSON, который может быть использован в качестве аргумента для --cli-input-json. Аналогично, при указании yaml-input, он выведет пример входного YAML, который может быть использован с --cli-input-yaml. При указании значения output, он валидирует входные данные команд и возвращает пример выходного JSON для данной команды. Сгенерированный каркас JSON не является стабильным между версиями AWS CLI, и нет гарантии обратной совместимости в сгенерированном каркасе JSON.
Глобальные параметры
--debug (булево)
Включить отладочную запись в журнал.
--endpoint-url (строка)
Переопределить стандартный URL команды заданным URL.
--no-verify-ssl (булево)
По умолчанию AWS CLI использует SSL при взаимодействии с AWS-сервисами. Для каждого SSL-соединения AWS CLI будет проверять сертификаты SSL. Этот параметр переопределяет стандартное поведение проверки сертификатов SSL.
--no-paginate (булево)
Отключить автоматическую постраничную навигацию. Если автоматическая постраничная навигация отключена, AWS CLI выполнит только один вызов для первой страницы результатов.
--output (строка)
Стиль форматирования вывода команды.
- json
- text
- table
- yaml
- yaml-stream
--query (строка)
Запрос JMESPath для фильтрации данных ответа.
--profile (строка)
Использование определенного профиля из файла параметров.
--region (строка)
Используемый регион. Переопределяет настройки конфигурации/среды.
--version (строка)
Отображение версии этого инструмента.
--color (строка)
Включение/выключение цветного вывода.
- on
- off
- auto
--no-sign-request (булево)
Не подписывать запросы. Кредиты не будут загружены, если этот аргумент предоставлен.
--ca-bundle (строка)
Файл сертификатов CA для проверки сертификатов SSL. Переопределяет настройки конфигурации/среды.
--cli-read-timeout (целое число)
Максимальное время чтения сокета в секундах. Если значение установлено в 0, чтение сокета будет блокирующим и без таймаута. Значение по умолчанию составляет 60 секунд.
--cli-connect-timeout (целое число)
Максимальное время подключения сокета в секундах. Если значение установлено в 0, подключение сокета будет блокирующим и без таймаута. Значение по умолчанию составляет 60 секунд.
--cli-binary-format (строка)
Стиль форматирования для двоичных блоков. По умолчанию используется формат Base64. Формат Base64 ожидает, что двоичные блоки будут предоставлены как строка, закодированная в Base64. Формат raw-in-base64-out сохраняет совместимость с поведением AWS CLI V1, и двоичные значения должны быть переданы буквально. При предоставлении содержимого из файла, соответствующего двоичному блоку, fileb:// всегда будет обрабатываться как двоичный и будет использовать содержимое файла напрямую независимо от параметра cli-binary-format. При использовании file:// содержимое файла должно быть должным образом отформатировано для настроек cli-binary-format.
- base64
- raw-in-base64-out
--no-cli-pager (булево)
Отключить пагинатор CLI для вывода.
--cli-auto-prompt (булево)
Автоматически запрашивать параметры CLI.
--no-cli-auto-prompt (булево)
Отключить автоматическое запроса параметров CLI.
Примеры
Примечание
Для использования следующих примеров необходимо установить и настроить AWS CLI. Дополнительную информацию см. в руководстве по началу работы с AWS CLI.
Если не указано иное, во всех примерах используются правила цитирования Unix. Эти примеры необходимо адаптировать к правилам цитирования вашей терминальной программы. См. Использование кавычек со строками в руководстве пользователя AWS CLI.
Запись в поток
В следующем примере put-record записываются данные в поток. Данные закодированы в формате Base64.
aws firehose put-record \
--delivery-stream-name my-stream \
--record '{"Data":"SGVsbG8gd29ybGQ="}'
Вывод:
{
"RecordId": "RjB5K/nnoGFHqwTsZlNd/TTqvjE8V5dsyXZTQn2JXrdpMTOwssyEb6nfC8fwf1whhwnItt4mvrn+gsqeK5jB7QjuLg283+Ps4Sz/j1Xujv31iDhnPdaLw4BOyM9Amv7PcCuB2079RuM0NhoakbyUymlwY8yt20G8X2420wu1jlFafhci4erAt7QhDEvpwuK8N1uOQ1EuaKZWxQHDzcG6tk1E49IPeD9k",
"Encrypted": false
}
Для получения дополнительной информации см. Отправка данных в поток Amazon Kinesis Data Firehose в руководстве разработчика Amazon Kinesis Data Firehose.
Вывод
RecordId -> (строка)
Encrypted -> (булево)
© Copyright 2025, Amazon Web Services. Created using Sphinx.