put-record
Описание
Записывает один элемент данных в поток Amazon Kinesis. Используйте команду PutRecord, чтобы отправлять данные в поток для обработки в режиме реального времени, по одному элементу за раз. Каждый фрагмент может поддерживать запись до 1000 записей в секунду, до максимального общего объема записи данных 1 МБ в секунду.
Примечание
При вызове этого API необходимо использовать параметрStreamARN или параметр StreamName, или оба. Рекомендуется использовать параметр ввода StreamARN при вызове этого API.Необходимо указать имя потока, который собирает, хранит и переносит данные; ключ разбиения и сам блок данных.
Блок данных может содержать любые типы данных; например, фрагмент из файла журнала, данные геолокации, данные посещений веб-сайта и т. д.
Ключ разбиения используется потоком Kinesis Data Streams для распределения данных по фрагментам. Поток Kinesis Data Streams разделяет записи данных, принадлежащие потоку, на несколько фрагментов, используя ключ разбиения, связанный с каждой записью данных, чтобы определить фрагмент, к которому принадлежит данная запись.
Ключи разбиения являются строками Unicode с максимальной длиной 256 символов для каждого ключа. Функция хэширования MD5 используется для сопоставления ключей разбиения со 128-битными целыми значениями и для сопоставления связанных записей данных с фрагментами, используя диапазоны ключей хэширования фрагментов. Вы можете переопределить хэширование ключа разбиения, чтобы определить фрагмент, явно указав значение хэша с помощью параметра ExplicitHashKey. Дополнительную информацию см. в разделе Добавление данных в поток в руководстве разработчика Amazon Kinesis Data Streams.
PutRecord возвращает идентификатор фрагмента, куда была помещена запись данных, и номер последовательности, который был присвоен записи данных.Номера последовательности увеличиваются со временем и специфичны для фрагмента в потоке, а не для всех фрагментов в потоке. Чтобы гарантировать строгое возрастание порядка, записывайте последовательно в фрагмент и используйте параметр SequenceNumberForOrdering. Дополнительную информацию см. в разделе Добавление данных в поток в руководстве разработчика Amazon Kinesis Data Streams.
Предупреждение
После записи записи в поток ее нельзя изменить или изменить ее порядок в потоке.Если обработка запроса PutRecord невозможна из-за недостаточной пропускной способности выделенных ресурсов в фрагменте, задействованном в запросе, PutRecord возвращает ошибку ProvisionedThroughputExceededException.
По умолчанию записи данных доступны в течение 24 часов с момента их добавления в поток. Для изменения этого периода удержания можно использовать IncreaseStreamRetentionPeriod или DecreaseStreamRetentionPeriod.
См. также: Документация API AWS
Синтаксис
put-record
[--stream-name <value>]
--data <value>
--partition-key <value>
[--explicit-hash-key <value>]
[--sequence-number-for-ordering <value>]
[--stream-arn <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]
Параметры
--stream-name (строка)
--data (блок данных)
--partition-key (строка)
--explicit-hash-key (строка)
--sequence-number-for-ordering (строка)
SequenceNumberForOrdering записи n в номер последовательности записи n-1 (как возвращается в результате при размещении записи n-1). Если этот параметр не задан, записи грубо упорядочиваются по времени прихода.--stream-arn (строка)
--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 записывается одна запись данных в указанный поток данных с использованием указанного ключа разбиения.
aws kinesis put-record \
--stream-name samplestream \
--data sampledatarecord \
--partition-key samplepartitionkey
Вывод:
{
"ShardId": "shardId-000000000009",
"SequenceNumber": "49600902273357540915989931256901506243878407835297513618",
"EncryptionType": "KMS"
}
Дополнительную информацию см. в разделе Разработка производителей с использованием API Amazon Kinesis Data Streams с помощью AWS SDK для Java в руководстве разработчика Amazon Kinesis Data Streams.
Вывод
ShardId -> (строка)
SequenceNumber -> (строка)
EncryptionType -> (строка)
Тип шифрования, используемый для записи. Этот параметр может принимать одно из следующих значений:
-
NONE: Не шифровать записи в потоке. -
KMS: Использовать шифрование на стороне сервера для записей в потоке с использованием управляемого клиентом ключа Amazon Web Services KMS.
© Copyright 2025, Amazon Web Services. Created using Sphinx.
|
|