Spec-Zone.ru › AWS CLI v2

[ aws . iotanalytics ]

create-pipeline

Описание

Создаёт конвейер. Конвейер потребляет сообщения из канала и позволяет вам обработать сообщения перед сохранением их в хранилище данных. Вы должны указать как channel, так и datastore активность, а также, по желанию, до 23 дополнительных активностей в массиве pipelineActivities.

См. также: Документацию AWS API

Синтаксис

  create-pipeline
--pipeline-name <value>
--pipeline-activities <value>
[--tags <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]

Параметры

--pipeline-name (строка)

Имя конвейера.

--pipeline-activities (список)

Список объектов PipelineActivity. Активности выполняют преобразования над вашими сообщениями, например, удаление, переименование или добавление атрибутов сообщения; фильтрацию сообщений на основе значений атрибутов; вызов ваших функций Lambda для расширенной обработки; или выполнение математических преобразований для нормализации данных устройств.

Список может содержать 2-25 объектов PipelineActivity и должен содержать как channel, так и datastore активность. Каждый элемент списка должен содержать только одну активность. Например:

pipelineActivities = [ { "channel": { ... } }, { "lambda": { ... } }, ... ]

(структура)

Активность, выполняющая преобразование сообщения.

channel -> (структура)

Определяет источник обрабатываемых сообщений.

name -> (строка)

Имя активности канала.

channelName -> (строка)

Имя канала, из которого обрабатываются сообщения.

next -> (строка)

Следующая активность в конвейере.

lambda -> (структура)

Выполняет функцию Lambda для изменения сообщения.

name -> (строка)

Имя активности lambda.

lambdaName -> (строка)

Имя функции Lambda, которая выполняется над сообщением.

batchSize -> (целое число)

Количество сообщений, передаваемых функции Lambda для обработки.

Функция Lambda должна быть способна обработать все эти сообщения в течение пяти минут, что является максимальным временем ожидания для функций Lambda.

next -> (строка)

Следующая активность в конвейере.

datastore -> (структура)

Указывает, где сохранить обработанные данные сообщения.

name -> (строка)

Имя активности datastore.

datastoreName -> (строка)

Имя хранилища данных, где хранятся обработанные сообщения.

addAttributes -> (структура)

Добавляет другие атрибуты на основе существующих атрибутов в сообщении.

name -> (строка)

Имя активности addAttributes.

attributes -> (отображение)

Список из 1-50 объектов AttributeNameMapping, которые сопоставляют существующий атрибут с новым атрибутом.

Примечание

Существующие атрибуты остаются в сообщении, поэтому, если вы хотите удалить исходные, используйте RemoveAttributeActivity.

key -> (строка)

value -> (строка)

next -> (строка)

Следующая активность в конвейере.

removeAttributes -> (структура)

Удаляет атрибуты из сообщения.

name -> (строка)

Имя активности removeAttributes.

attributes -> (список)

Список из 1-50 атрибутов для удаления из сообщения.

(строка)

next -> (строка)

Следующая активность в конвейере.

selectAttributes -> (структура)

Используется для создания нового сообщения, используя только указанные атрибуты из исходного сообщения.

name -> (строка)

Имя активности selectAttributes.

attributes -> (список)

Список атрибутов для выбора из сообщения.

(строка)

next -> (строка)

Следующая активность в конвейере.

filter -> (структура)

Фильтрует сообщение на основе его атрибутов.

name -> (строка)

Имя активности фильтра.

filter -> (строка)

Выражение, похожее на SQL-оператор WHERE, которое должно возвращать булево значение. Сообщения, удовлетворяющие условию, передаются в следующую активность.

next -> (строка)

Следующая активность в конвейере.

math -> (структура)

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

name -> (строка)

Имя активности math.

attribute -> (строка)

Имя атрибута, содержащего результат математической операции.

math -> (строка)

Выражение, использующее один или несколько существующих атрибутов и должно возвращать целое значение.

next -> (строка)

Следующая активность в конвейере.

deviceRegistryEnrich -> (структура)

Добавляет данные из реестра устройств IoT в ваше сообщение.

name -> (строка)

Имя активности deviceRegistryEnrich.

attribute -> (строка)

Имя атрибута, добавляемого в сообщение.

thingName -> (строка)

Имя IoT-устройства, информация из реестра которого добавляется в сообщение.

roleArn -> (строка)

ARN роли, которая разрешает доступ к информации реестра устройства.

next -> (строка)

Следующая активность в конвейере.

deviceShadowEnrich -> (структура)

Добавляет информацию из сервиса тени устройства IoT в сообщение.

name -> (строка)

Имя активности deviceShadowEnrich.

attribute -> (строка)

Имя атрибута, добавляемого в сообщение.

thingName -> (строка)

Имя IoT-устройства, информация из тени которого добавляется в сообщение.

roleArn -> (строка)

ARN роли, которая разрешает доступ к тени устройства.

next -> (строка)

Следующая активность в конвейере.

Сокращенный синтаксис:

channel={name=string,channelName=string,next=string},lambda={name=string,lambdaName=string,batchSize=integer,next=string},datastore={name=string,datastoreName=string},addAttributes={name=string,attributes={KeyName1=string,KeyName2=string},next=string},removeAttributes={name=string,attributes=[string,string],next=string},selectAttributes={name=string,attributes=[string,string],next=string},filter={name=string,filter=string,next=string},math={name=string,attribute=string,math=string,next=string},deviceRegistryEnrich={name=string,attribute=string,thingName=string,roleArn=string,next=string},deviceShadowEnrich={name=string,attribute=string,thingName=string,roleArn=string,next=string} ...

Синтаксис JSON:

[
  {
    "channel": {
      "name": "string",
      "channelName": "string",
      "next": "string"
    },
    "lambda": {
      "name": "string",
      "lambdaName": "string",
      "batchSize": integer,
      "next": "string"
    },
    "datastore": {
      "name": "string",
      "datastoreName": "string"
    },
    "addAttributes": {
      "name": "string",
      "attributes": {"string": "string"
        ...},
      "next": "string"
    },
    "removeAttributes": {
      "name": "string",
      "attributes": ["string", ...],
      "next": "string"
    },
    "selectAttributes": {
      "name": "string",
      "attributes": ["string", ...],
      "next": "string"
    },
    "filter": {
      "name": "string",
      "filter": "string",
      "next": "string"
    },
    "math": {
      "name": "string",
      "attribute": "string",
      "math": "string",
      "next": "string"
    },
    "deviceRegistryEnrich": {
      "name": "string",
      "attribute": "string",
      "thingName": "string",
      "roleArn": "string",
      "next": "string"
    },
    "deviceShadowEnrich": {
      "name": "string",
      "attribute": "string",
      "thingName": "string",
      "roleArn": "string",
      "next": "string"
    }
  }
  ...
]

--tags (список)

Метаданные, которые можно использовать для управления конвейером.

(структура)

Набор пар ключ-значение, используемых для управления ресурсом.

key -> (строка)

Ключ тега.

value -> (строка)

Значение тега.

Сокращенный синтаксис:

key=string,value=string ...

Синтаксис JSON:

[
  {
    "key": "string",
    "value": "string"
  }
  ...
]

--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.

Создание канала IoT Analytics

Следующий create-pipeline пример создаёт канал. Канал потребляет сообщения из канала и позволяет обрабатывать сообщения перед их сохранением в хранилище данных. Необходимо указать как канал, так и активность хранилища данных, а также, по желанию, до 23 дополнительных активностей в массиве pipelineActivities.

aws iotanalytics create-pipeline \
    --cli-input-json file://create-pipeline.json

Содержимое create-pipeline.json:

{
    "pipelineName": "mypipeline",
    "pipelineActivities": [
        {
            "channel": {
                "name": "myChannelActivity",
                "channelName": "mychannel",
                "next": "myMathActivity"
            }
        },
        {
            "datastore": {
                "name": "myDatastoreActivity",
                "datastoreName": "mydatastore"
            }
        },
        {
            "math": {
                "name": "myMathActivity",
                "math": "((temp - 32) * 5.0) / 9.0",
                "attribute": "tempC",
                "next": "myDatastoreActivity"
            }
        }
    ],
    "tags": [
        {
            "key": "Environment",
            "value": "Beta"
        }
    ]
}

Вывод:

{
    "pipelineArn": "arn:aws:iotanalytics:us-west-2:123456789012:pipeline/mypipeline",
    "pipelineName": "mypipeline"
}

Для получения дополнительной информации, см. CreatePipeline в Справочнике по API AWS IoT Analytics.

Вывод

pipelineName -> (строка)

Имя канала.

pipelineArn -> (строка)

ARN канала.

© Copyright 2025, Amazon Web Services. Created using Sphinx.

Spec-Zone.ru

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