Spec-Zone.ru › AWS CLI v2

[ aws . kinesis ]

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 (блок данных)

Блок данных, который необходимо поместить в запись, закодированный в формате base64 при сериализации. Когда размер блока данных (данные перед кодированием в base64) добавляется к размеру ключа разбиения, общий размер не должен превышать максимальный размер записи (1 МБ).

--partition-key (строка)

Определяет, в какой фрагмент в потоке будет помещена запись данных. Ключи разбиения — строки Unicode с максимальной длиной 256 символов для каждого ключа. Amazon Kinesis Data Streams использует ключ разбиения в качестве входных данных для функции хеширования, которая сопоставляет ключ разбиения и связанные данные с конкретным фрагментом. В частности, используется функция хеширования MD5 для сопоставления ключей разбиения с 128-битными целочисленными значениями и для сопоставления связанных записей данных с фрагментами. В результате этого механизма хеширования все записи данных с одинаковым ключом разбиения сопоставляются с одним и тем же фрагментом в потоке.

--explicit-hash-key (строка)

Значение хэша, используемое для явного определения фрагмента, которому назначена запись данных, путем переопределения хэша ключа разбиения.

--sequence-number-for-ordering (строка)

Гарантирует строгое возрастание номеров последовательности для записей от одного и того же клиента и с одинаковым ключом разбиения. Использование: установите значение SequenceNumberForOrdering записи n в номер последовательности записи n-1 (как возвращается в результате при размещении записи n-1). Если этот параметр не задан, записи грубо упорядочиваются по времени прихода.

--stream-arn (строка)

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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API