惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Application and Cybersecurity Blog
Application and Cybersecurity Blog
S
Securelist
K
Kaspersky official blog
Scott Helme
Scott Helme
C
CXSECURITY Database RSS Feed - CXSecurity.com
GbyAI
GbyAI
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
C
Cisco Blogs
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
博客园 - Franky
Security Latest
Security Latest
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Y
Y Combinator Blog
T
Threat Research - Cisco Blogs
L
LINUX DO - 热门话题
C
Cyber Attacks, Cyber Crime and Cyber Security
Project Zero
Project Zero
Cisco Talos Blog
Cisco Talos Blog
月光博客
月光博客
I
Intezer
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
人人都是产品经理
人人都是产品经理
L
Lohrmann on Cybersecurity
Recorded Future
Recorded Future
Latest news
Latest news
V2EX - 技术
V2EX - 技术
T
The Exploit Database - CXSecurity.com
H
Heimdal Security Blog
F
Fortinet All Blogs
Cloudbric
Cloudbric
IT之家
IT之家
博客园 - 叶小钗
Microsoft Security Blog
Microsoft Security Blog
P
Proofpoint News Feed
博客园 - 司徒正美
Apple Machine Learning Research
Apple Machine Learning Research
PCI Perspectives
PCI Perspectives
AWS News Blog
AWS News Blog
H
Help Net Security
S
Security @ Cisco Blogs
酷 壳 – CoolShell
酷 壳 – CoolShell
Recent Announcements
Recent Announcements
Hacker News - Newest:
Hacker News - Newest: "LLM"
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
F
Full Disclosure
S
Schneier on Security
S
Security Affairs
T
Tenable Blog

Все публикации подряд на Хабре

Ловим музу за клавиатуру: как айтишнику стать автором Что умеет Midjourney в 2026? Мой немного грустный разбор этого шикарного инструмента Никто не любит писать тесты, но ИИ может исправить это IPv8 выглядит как мечта. Поэтому почти наверняка не взлетит Производители вернули в продажу материнки с DDR3. Что происходит? Управление агентом с телефона через Telegram теперь в KodaCode От координации к лидерству: как меняется роль руководителя разработки Я сделала родителям бизнес вместо пенсии: зарабатываем 70 тысяч, мама не даёт продать В три раза быстрее приемка товара и оптимизация трудозатрат на 73%: как «РСТ-Инвент» помог Gulliver Group ИИ-шечный мир победил? О влиянии искусственного интеллекта на игропром Кремль снижает давление на Телеграмм пока Европа строит интернет по паспорту Как CEO, CTO и CIO за 8 часов собрали ИИ-директора, который умеет держать позицию под давлением Как (не) потерять домен за выходные Вместо 8 разных VPS: как я организовал практику студентам на одном сервере Почему твой Open Source проект не замечают? R&D: искусство управления неопределенностью в разработке AI-дефляция: вакансий для разработчиков больше, а рост зарплат — худший за 15 лет Мы отдали управление роботами OpenClaw. Что из этого вышло Галактический ID: система идентификации для всех форм разумной жизни Шесть основ бизнес-анализа: начинаем с вопроса «Кто в игре?» Код-ревью, в котором дело не в коде Данные переехали. Команда — нет Системной подход к сдаче OSWE в 2025 Почему комната управления реактором покрашена в цвет морской пены 4 YAML-файла вместо PySpark: как аналитикам строить пайплайны без разработчиков LLM-агент для поиска свободных доменов: автоматизируем подбор Когда, зачем и как правильно начинать новую сессию в Claude Code? Как я заставил нейросеть писать макросы для FreeCAD Анатомия ИИ‑агента для подбора персонала. От тысячи резюме к топ‑10 за минуты Опыт разработчика как экономика внимания Автономность как точка невозврата: кто будет субъектом в цифровом будущем Обучение ИИ в «диких» условиях: как рутинные действия превращаются в датасеты Как измерить LLM для задач кибербеза: обзор открытых бенчмарков Где хранить код? Сравнение GitHub, GitLab и Bitbucket Математика объясняет, почему нормальное распределение встречается повсюду Почему ваш FinOps не работает: 12 тезисов от практиков Как подписать проектную документацию УКЭП с использованием бесплатных лицензий Pilot Адаптивное администрирование Sigla Vision Я грузил уран в бочки, а потом 20 лет строил ИТ в атомной отрасли Чем позвонить с Эвереста? История и обзор спутниковой связи. Часть 2 Как языковая модель помогает контролировать качество инструктажей по охране труда в металлургии Как не передать на desktop свой IP в РКН Анатомия SAP Privileges: как устроено управление правами в macOS MoneyDev: Сказка про три главных слова Обновлённый токенизатор видео K-VAE 2.0 от Сбера Как сделать диспетчеризацию дома на 1284 квартиры почти бесплатно Как мы разогнали железную дорогу Мы дали агентам рутину. Теперь надо решить — что делать с освободившимся временем Токсичный контент, промпт-хакинг и защита ИИ — всё о Guardrails для LLM Умный город начинается с точного взгляда: как «Фалькон Тех» меняет пространство к лучшему Навайбкодил приложение для анализа графов Почему Дюну так интересно читать? Упрощаем работу с рутиной или как стать Гендальфом Белым Деконструкция Go: CPU, RAM и что там происходит. Go Assembler база. Часть 1.1 Какие профессии исчезнут из-за ИИ, а какие появятся? И что с этим делать Как мы построили IT-отдел, где хочется расти: архитектурные встречи, прозрачные метрики и книжные подарки Rufler: Делаем из Claude Code автономный рой через один YAML-конфиг Sing-box и белый список приложений Как построить надёжный обмен сообщениями в микросервисах: лучшие практики для enterprise OpenAI строит MLM-пирамиду, а McKinsey и Accenture помогают ей в этом Дом, который не построил Фишер (Часть 2) «Сверхзвуковой математик» против «Вдумчивого логиста»: битва алгоритмов 3D-упаковки Мультимодальные модели – грубый и дорогой инструмент Разговоры ничего не стоят. Код тоже Проверки физических лиц: с кого начнет ФНС Топ-10 бесплатных нейросетей для создания видео в 2026 году Первые слои кода: как наши решения сегодня определяют архитектуру ИИ на десятилетия Разработка нового статического анализатора: PVS-Studio JavaScript Поиск уязвимостей ПО: базовый минимум или роскошный максимум Почему оценка персонала не работает как инструмент управления Как мы разработали ИИ-ассистента и сократили рутину продуктовой команды на 50% Как я ушел из найма, нажарил косточек и продал на маркетплейсах на 168 млн в год Когда 1С:ERP уже внедрена, а нормального производственного плана всё ещё нет Как я сделал Claude мультимодальным, подключив к нему Qwen Omni Как приглашение на вакансию мечты превращается в атаку Infrastructure as Code: философия и лучшие практики IaC Тестируем Yandex Code Assistant на задаче, в которой нужно хранить секреты nxs-universal-chart v3.0: новое поколение универсального Helm-чарта Callback Injection: Техника, которая отправила Microsoft Defender в глухой нокаут «Все идеи на стол»: митап как способ вывести проект из тупика Сегодня я узнал нечто новое о GPU благодаря багу в своей игре Как заставить LLM ̶ ̶г̶а̶л̶л̶ю̶ ̶ эволюционировать Карта событий как фундамент аналитики: практический кейс для E-commerce Что выбрать для AI: x86, ARM или RISC-V? Дайджест железа за март Роль соматических мутаций в развитии аутоиммунных заболеваний: путь к избирательной терапии Mythos от Anthropic — тревожный сигнал для всех, а не только для банков Guardrails для LLM на Java: как приручить промпт‑инъекции и токсичные ответы Green-VLA: как мы собрали VLA-модель для реального антропоморфного робота и не потеряли обобщение Финансовая гонка вооружений: почему умные люди добровольно в ней участвуют Эра ИИ-агентов наступила: выбираем лучшего цифрового сотрудника # Практический опыт внедрения WinCC Redundancy на производственном предприятии Сделал MVP за 3 дня, а потом неделю прикручивал оплату. Оно того стоило? Физика против Маска: почему Starship V3 может оказаться ещё одной катастрофой Нефть Венесуэлы: крупнейшие запасы в мире, но не крупнейшая нефтяная держава JPA 4. Переосмысление Hibernate Почему зеркальная фотокамера Nikon D5 десятилетней давности идеально подошла для миссии «Артемида-2» Проект «Уровень-Спутник» или как мы сделали платформу для гидрологов «Замедлиться, чтобы ускориться»: почему ИИ повышает цену ошибок в требованиях и архитектуре Как с нуля поднять трафик IT-компании на 1657% при бюджете 55 тыс. и выжить Pixel-perfect Downsampling — идеальная отрисовка 50 миллионов точек без потерь
Автоматизация разработки и деплоя потоков Apache NiFi
Гарик Юрченко · 2026-06-26 · via Все публикации подряд на Хабре
{
  "bucket" : {
    "allowBundleRedeploy" : false,
    "allowPublicRead" : false,
    "createdTimestamp" : 1690978653562,
    "description" : "",
    "identifier" : "2cf0ac20-3ccd-41ed-97c1-97baecf45dfc",
    "link" : {
      "href" : "buckets/2cf0ac20-3ccd-41ed-97c1-97baecf45dfc",
      "params" : {
        "rel" : "self"
      }
    },
    "name" : "default",
    "permissions" : {
      "canDelete" : true,
      "canRead" : true,
      "canWrite" : true
    }
  },
  "externalControllerServices" : { },
  "flow" : {
    "bucketIdentifier" : "2cf0ac20-3ccd-41ed-97c1-97baecf45dfc",
    "bucketName" : "default",
    "createdTimestamp" : 1779182540682,
    "description" : "",
    "identifier" : "20be5260-9249-4626-99d8-e95b7286836e",
    "link" : {
      "href" : "buckets/2cf0ac20-3ccd-41ed-97c1-97baecf45dfc/flows/20be5260-9249-4626-99d8-e95b7286836e",
      "params" : {
        "rel" : "self"
      }
    },
    "modifiedTimestamp" : 1779182541552,
    "name" : "http-2-db-dev",
    "type" : "Flow",
    "versionCount" : 1
  },
  "flowContents" : {
    "comments" : "",
    "componentType" : "PROCESS_GROUP",
    "connections" : [ {
      "backPressureDataSizeThreshold" : "1 GB",
      "backPressureObjectThreshold" : 10000,
      "bends" : [ {
        "x" : 1152.0,
        "y" : 480.0
      } ],
      "componentType" : "CONNECTION",
      "destination" : {
        "comments" : "",
        "groupId" : "ad86f407-8631-318b-8230-76d1d7164043",
        "id" : "b0cf515e-e112-3ed4-8ebf-cabcb17e004c",
        "instanceIdentifier" : "b0cf515e-e112-3ed4-8c40-e0d8585aef1b",
        "name" : "Funnel",
        "type" : "FUNNEL"
      },
      "flowFileExpiration" : "0 sec",
      "groupIdentifier" : "ad86f407-8631-318b-8230-76d1d7164043",
      "identifier" : "c773dc4f-2492-3c20-875c-574bc3782390",
      "instanceIdentifier" : "c773dc4f-2492-3c20-8278-9856e76bcb46",
      "labelIndex" : 1,
      "loadBalanceCompression" : "DO_NOT_COMPRESS",
      "loadBalanceStrategy" : "DO_NOT_LOAD_BALANCE",
      "name" : "",
      "partitioningAttribute" : "",
      "prioritizers" : [ ],
      "selectedRelationships" : [ "failure", "retry" ],
      "source" : {
        "comments" : "",
        "groupId" : "ad86f407-8631-318b-8230-76d1d7164043",
        "id" : "32d35b0d-daab-3189-9f86-71fbe584a6c7",
        "instanceIdentifier" : "32d35b0d-daab-3189-b8ae-148fcd2e1c26",
        "name" : "PutSQL",
        "type" : "PROCESSOR"
      },
      "zIndex" : 0
    }, {
      "backPressureDataSizeThreshold" : "1 GB",
      "backPressureObjectThreshold" : 10000,
      "bends" : [ {
        "x" : 848.0,
        "y" : 408.0
      } ],
      "componentType" : "CONNECTION",
      "destination" : {
        "comments" : "",
        "groupId" : "ad86f407-8631-318b-8230-76d1d7164043",
        "id" : "b0cf515e-e112-3ed4-8ebf-cabcb17e004c",
        "instanceIdentifier" : "b0cf515e-e112-3ed4-8c40-e0d8585aef1b",
        "name" : "Funnel",
        "type" : "FUNNEL"
      },
      "flowFileExpiration" : "0 sec",
      "groupIdentifier" : "ad86f407-8631-318b-8230-76d1d7164043",
      "identifier" : "fd782ed4-aef7-3e38-8248-01640a2604fa",
      "instanceIdentifier" : "fd782ed4-aef7-3e38-bfa8-58ab86467cb2",
      "labelIndex" : 1,
      "loadBalanceCompression" : "DO_NOT_COMPRESS",
      "loadBalanceStrategy" : "DO_NOT_LOAD_BALANCE",
      "name" : "",
      "partitioningAttribute" : "",
      "prioritizers" : [ ],
      "selectedRelationships" : [ "unmatched" ],
      "source" : {
        "comments" : "",
        "groupId" : "ad86f407-8631-318b-8230-76d1d7164043",
        "id" : "32b96eda-8796-3cbd-8845-9c13d368f451",
        "instanceIdentifier" : "32b96eda-8796-3cbd-8320-bb8c728aeaf1",
        "name" : "ExtractText",
        "type" : "PROCESSOR"
      },
      "zIndex" : 0
    }, {
      "backPressureDataSizeThreshold" : "1 GB",
      "backPressureObjectThreshold" : 10000,
      "bends" : [ {
        "x" : 648.0,
        "y" : 336.0
      } ],
      "componentType" : "CONNECTION",
      "destination" : {
        "comments" : "",
        "groupId" : "ad86f407-8631-318b-8230-76d1d7164043",
        "id" : "32b96eda-8796-3cbd-8845-9c13d368f451",
        "instanceIdentifier" : "32b96eda-8796-3cbd-8320-bb8c728aeaf1",
        "name" : "ExtractText",
        "type" : "PROCESSOR"
      },
      "flowFileExpiration" : "0 sec",
      "groupIdentifier" : "ad86f407-8631-318b-8230-76d1d7164043",
      "identifier" : "aad4cb51-0cdd-3e21-aba6-16b3a82cb98f",
      "instanceIdentifier" : "aad4cb51-0cdd-3e21-9176-6b0862368880",
      "labelIndex" : 1,
      "loadBalanceCompression" : "DO_NOT_COMPRESS",
      "loadBalanceStrategy" : "DO_NOT_LOAD_BALANCE",
      "name" : "",
      "partitioningAttribute" : "",
      "prioritizers" : [ ],
      "selectedRelationships" : [ "success" ],
      "source" : {
        "comments" : "",
        "groupId" : "ad86f407-8631-318b-8230-76d1d7164043",
        "id" : "e70f7c86-42f6-352a-b9b4-f02c9678ab24",
        "instanceIdentifier" : "e70f7c86-42f6-352a-866a-17792a25c0bb",
        "name" : "GetHTTP",
        "type" : "PROCESSOR"
      },
      "zIndex" : 0
    }, {
      "backPressureDataSizeThreshold" : "1 GB",
      "backPressureObjectThreshold" : 10000,
      "bends" : [ {
        "x" : 1088.0,
        "y" : 336.0
      } ],
      "componentType" : "CONNECTION",
      "destination" : {
        "comments" : "",
        "groupId" : "ad86f407-8631-318b-8230-76d1d7164043",
        "id" : "32d35b0d-daab-3189-9f86-71fbe584a6c7",
        "instanceIdentifier" : "32d35b0d-daab-3189-b8ae-148fcd2e1c26",
        "name" : "PutSQL",
        "type" : "PROCESSOR"
      },
      "flowFileExpiration" : "0 sec",
      "groupIdentifier" : "ad86f407-8631-318b-8230-76d1d7164043",
      "identifier" : "3bff9b4b-de39-38cd-9d35-684df2049fd3",
      "instanceIdentifier" : "3bff9b4b-de39-38cd-b18f-cb7e8c81d733",
      "labelIndex" : 1,
      "loadBalanceCompression" : "DO_NOT_COMPRESS",
      "loadBalanceStrategy" : "DO_NOT_LOAD_BALANCE",
      "name" : "",
      "partitioningAttribute" : "",
      "prioritizers" : [ ],
      "selectedRelationships" : [ "matched" ],
      "source" : {
        "comments" : "",
        "groupId" : "ad86f407-8631-318b-8230-76d1d7164043",
        "id" : "32b96eda-8796-3cbd-8845-9c13d368f451",
        "instanceIdentifier" : "32b96eda-8796-3cbd-8320-bb8c728aeaf1",
        "name" : "ExtractText",
        "type" : "PROCESSOR"
      },
      "zIndex" : 0
    } ],
    "controllerServices" : [ {
      "bulletinLevel" : "WARN",
      "bundle" : {
        "artifact" : "nifi-dbcp-service-nar",
        "group" : "org.apache.nifi",
        "version" : "1.24.0"
      },
      "comments" : "",
      "componentType" : "CONTROLLER_SERVICE",
      "controllerServiceApis" : [ {
        "bundle" : {
          "artifact" : "nifi-standard-services-api-nar",
          "group" : "org.apache.nifi",
          "version" : "1.24.0"
        },
        "type" : "org.apache.nifi.dbcp.DBCPService"
      } ],
      "groupIdentifier" : "ad86f407-8631-318b-8230-76d1d7164043",
      "identifier" : "bed8843c-c85e-3b34-844d-0804c6d35999",
      "instanceIdentifier" : "bed8843c-c85e-3b34-887a-548f4db09724",
      "name" : "DBCPConnectionPool",
      "properties" : {
        "dbcp-min-idle-conns" : "0",
        "Max Wait Time" : "500 millis",
        "Database Driver Class Name" : "org.postgresql.Driver",
        "dbcp-min-evictable-idle-time" : "30 mins",
        "Max Total Connections" : "8",
        "dbcp-max-conn-lifetime" : "-1",
        "Database Connection URL" : "${jdbcUrl}",
        "dbcp-time-between-eviction-runs" : "-1",
        "Database User" : "${dbUser}",
        "dbcp-soft-min-evictable-idle-time" : "-1",
        "database-driver-locations" : "/opt/drivers/postgres",
        "dbcp-max-idle-conns" : "8",
        "Password" : "[[ dbPassword ]]"
      },
      "propertyDescriptors" : {
        "kerberos-password" : {
          "displayName" : "Kerberos Password",
          "identifiesControllerService" : false,
          "name" : "kerberos-password",
          "sensitive" : true
        },
        "dbcp-min-idle-conns" : {
          "displayName" : "Minimum Idle Connections",
          "identifiesControllerService" : false,
          "name" : "dbcp-min-idle-conns",
          "sensitive" : false
        },
        "Max Wait Time" : {
          "displayName" : "Max Wait Time",
          "identifiesControllerService" : false,
          "name" : "Max Wait Time",
          "sensitive" : false
        },
        "Database Driver Class Name" : {
          "displayName" : "Database Driver Class Name",
          "identifiesControllerService" : false,
          "name" : "Database Driver Class Name",
          "sensitive" : false
        },
        "dbcp-min-evictable-idle-time" : {
          "displayName" : "Minimum Evictable Idle Time",
          "identifiesControllerService" : false,
          "name" : "dbcp-min-evictable-idle-time",
          "sensitive" : false
        },
        "kerberos-principal" : {
          "displayName" : "Kerberos Principal",
          "identifiesControllerService" : false,
          "name" : "kerberos-principal",
          "sensitive" : false
        },
        "Max Total Connections" : {
          "displayName" : "Max Total Connections",
          "identifiesControllerService" : false,
          "name" : "Max Total Connections",
          "sensitive" : false
        },
        "kerberos-credentials-service" : {
          "displayName" : "Kerberos Credentials Service",
          "identifiesControllerService" : true,
          "name" : "kerberos-credentials-service",
          "sensitive" : false
        },
        "dbcp-max-conn-lifetime" : {
          "displayName" : "Max Connection Lifetime",
          "identifiesControllerService" : false,
          "name" : "dbcp-max-conn-lifetime",
          "sensitive" : false
        },
        "Validation-query" : {
          "displayName" : "Validation query",
          "identifiesControllerService" : false,
          "name" : "Validation-query",
          "sensitive" : false
        },
        "Database Connection URL" : {
          "displayName" : "Database Connection URL",
          "identifiesControllerService" : false,
          "name" : "Database Connection URL",
          "sensitive" : false
        },
        "dbcp-time-between-eviction-runs" : {
          "displayName" : "Time Between Eviction Runs",
          "identifiesControllerService" : false,
          "name" : "dbcp-time-between-eviction-runs",
          "sensitive" : false
        },
        "Database User" : {
          "displayName" : "Database User",
          "identifiesControllerService" : false,
          "name" : "Database User",
          "sensitive" : false
        },
        "kerberos-user-service" : {
          "displayName" : "Kerberos User Service",
          "identifiesControllerService" : true,
          "name" : "kerberos-user-service",
          "sensitive" : false
        },
        "dbcp-soft-min-evictable-idle-time" : {
          "displayName" : "Soft Minimum Evictable Idle Time",
          "identifiesControllerService" : false,
          "name" : "dbcp-soft-min-evictable-idle-time",
          "sensitive" : false
        },
        "database-driver-locations" : {
          "displayName" : "Database Driver Location(s)",
          "identifiesControllerService" : false,
          "name" : "database-driver-locations",
          "resourceDefinition" : {
            "cardinality" : "MULTIPLE",
            "resourceTypes" : [ "URL", "FILE", "DIRECTORY" ]
          },
          "sensitive" : false
        },
        "dbcp-max-idle-conns" : {
          "displayName" : "Max Idle Connections",
          "identifiesControllerService" : false,
          "name" : "dbcp-max-idle-conns",
          "sensitive" : false
        },
        "Password" : {
          "displayName" : "Password",
          "identifiesControllerService" : false,
          "name" : "Password",
          "sensitive" : true
        }
      },
      "scheduledState" : "DISABLED",
      "type" : "org.apache.nifi.dbcp.DBCPConnectionPool"
    }, {
      "bulletinLevel" : "WARN",
      "bundle" : {
        "artifact" : "nifi-ssl-context-service-nar",
        "group" : "org.apache.nifi",
        "version" : "1.24.0"
      },
      "comments" : "",
      "componentType" : "CONTROLLER_SERVICE",
      "controllerServiceApis" : [ {
        "bundle" : {
          "artifact" : "nifi-standard-services-api-nar",
          "group" : "org.apache.nifi",
          "version" : "1.24.0"
        },
        "type" : "org.apache.nifi.ssl.SSLContextService"
      } ],
      "groupIdentifier" : "ad86f407-8631-318b-8230-76d1d7164043",
      "identifier" : "d1c57bde-4f3b-3ad9-ae74-5b44fb96cd0a",
      "instanceIdentifier" : "d1c57bde-4f3b-3ad9-9800-79565a41624c",
      "name" : "StandardSSLContextService",
      "properties" : {
        "Truststore Type" : "JKS",
        "SSL Protocol" : "TLSv1.3",
        "Truststore Filename" : "${truststoreFilename}",
        "Truststore Password" : "[[ truststorePassword ]]"
      },
      "propertyDescriptors" : {
        "Truststore Type" : {
          "displayName" : "Truststore Type",
          "identifiesControllerService" : false,
          "name" : "Truststore Type",
          "sensitive" : false
        },
        "SSL Protocol" : {
          "displayName" : "TLS Protocol",
          "identifiesControllerService" : false,
          "name" : "SSL Protocol",
          "sensitive" : false
        },
        "Keystore Type" : {
          "displayName" : "Keystore Type",
          "identifiesControllerService" : false,
          "name" : "Keystore Type",
          "sensitive" : false
        },
        "Truststore Filename" : {
          "displayName" : "Truststore Filename",
          "identifiesControllerService" : false,
          "name" : "Truststore Filename",
          "resourceDefinition" : {
            "cardinality" : "SINGLE",
            "resourceTypes" : [ "FILE" ]
          },
          "sensitive" : false
        },
        "Keystore Password" : {
          "displayName" : "Keystore Password",
          "identifiesControllerService" : false,
          "name" : "Keystore Password",
          "sensitive" : true
        },
        "key-password" : {
          "displayName" : "Key Password",
          "identifiesControllerService" : false,
          "name" : "key-password",
          "sensitive" : true
        },
        "Truststore Password" : {
          "displayName" : "Truststore Password",
          "identifiesControllerService" : false,
          "name" : "Truststore Password",
          "sensitive" : true
        },
        "Keystore Filename" : {
          "displayName" : "Keystore Filename",
          "identifiesControllerService" : false,
          "name" : "Keystore Filename",
          "resourceDefinition" : {
            "cardinality" : "SINGLE",
            "resourceTypes" : [ "FILE" ]
          },
          "sensitive" : false
        }
      },
      "scheduledState" : "DISABLED",
      "type" : "org.apache.nifi.ssl.StandardSSLContextService"
    } ],
    "defaultBackPressureDataSizeThreshold" : "1 GB",
    "defaultBackPressureObjectThreshold" : 10000,
    "defaultFlowFileExpiration" : "0 sec",
    "flowFileConcurrency" : "UNBOUNDED",
    "flowFileOutboundPolicy" : "STREAM_WHEN_AVAILABLE",
    "funnels" : [ {
      "componentType" : "FUNNEL",
      "groupIdentifier" : "ad86f407-8631-318b-8230-76d1d7164043",
      "identifier" : "b0cf515e-e112-3ed4-8ebf-cabcb17e004c",
      "instanceIdentifier" : "b0cf515e-e112-3ed4-8c40-e0d8585aef1b",
      "position" : {
        "x" : 824.0,
        "y" : 456.0
      }
    } ],
    "identifier" : "ad86f407-8631-318b-8230-76d1d7164043",
    "inputPorts" : [ ],
    "instanceIdentifier" : "c9143fc0-c492-3fa7-95ae-81c7de3245af",
    "labels" : [ {
      "componentType" : "LABEL",
      "groupIdentifier" : "ad86f407-8631-318b-8230-76d1d7164043",
      "height" : 32.0,
      "identifier" : "46bed543-1d68-3b65-ab16-31d5f1da3581",
      "instanceIdentifier" : "46bed543-1d68-3b65-818e-320e3ed71636",
      "label" : "1. получить даные из REST API",
      "position" : {
        "x" : 248.0,
        "y" : 120.0
      },
      "style" : {
        "font-size" : "16px"
      },
      "width" : 256.0,
      "zIndex" : 0
    }, {
      "componentType" : "LABEL",
      "groupIdentifier" : "ad86f407-8631-318b-8230-76d1d7164043",
      "height" : 32.0,
      "identifier" : "dec730c0-3afc-3d8d-9146-9b6835417fb4",
      "instanceIdentifier" : "dec730c0-3afc-3d8d-a59b-abdef726e8cf",
      "label" : "3. сохранить полученные данные в БД",
      "position" : {
        "x" : 1136.0,
        "y" : 120.0
      },
      "style" : {
        "font-size" : "16px"
      },
      "width" : 312.0,
      "zIndex" : 0
    }, {
      "componentType" : "LABEL",
      "groupIdentifier" : "ad86f407-8631-318b-8230-76d1d7164043",
      "height" : 48.0,
      "identifier" : "c5f3ebbc-ac78-3f57-9a08-167295392e1d",
      "instanceIdentifier" : "c5f3ebbc-ac78-3f57-aa21-052f9e0e4cfd",
      "label" : "2. перенести содержимое \nв атрибут flow file-а (для PutSQL)",
      "position" : {
        "x" : 672.0,
        "y" : 104.0
      },
      "style" : {
        "font-size" : "16px"
      },
      "width" : 272.0,
      "zIndex" : 0
    } ],
    "logFileSuffix" : "",
    "name" : "http-2-db-dev",
    "outputPorts" : [ ],
    "position" : {
      "x" : 659.999887235238,
      "y" : 320.00000615823
    },
    "processGroups" : [ ],
    "processors" : [ {
      "autoTerminatedRelationships" : [ ],
      "backoffMechanism" : "PENALIZE_FLOWFILE",
      "bulletinLevel" : "WARN",
      "bundle" : {
        "artifact" : "nifi-standard-nar",
        "group" : "org.apache.nifi",
        "version" : "1.24.0"
      },
      "comments" : "",
      "componentType" : "PROCESSOR",
      "concurrentlySchedulableTaskCount" : 0,
      "executionNode" : "ALL",
      "groupIdentifier" : "ad86f407-8631-318b-8230-76d1d7164043",
      "identifier" : "32b96eda-8796-3cbd-8845-9c13d368f451",
      "instanceIdentifier" : "32b96eda-8796-3cbd-8320-bb8c728aeaf1",
      "maxBackoffPeriod" : "10 mins",
      "name" : "ExtractText",
      "penaltyDuration" : "30 sec",
      "position" : {
        "x" : 672.0,
        "y" : 152.0
      },
      "properties" : {
        "Enable Unicode Predefined Character Classes" : "false",
        "Permit Whitespace and Comments in Pattern" : "false",
        "Enable Unicode-aware Case Folding" : "false",
        "sql.args.1.value" : "(?s)(^.*$)",
        "Enable DOTALL Mode" : "false",
        "Enable Unix Lines Mode" : "false",
        "extract-text-enable-named-groups" : "false",
        "Maximum Buffer Size" : "10 MB",
        "Enable Canonical Equivalence" : "false",
        "Enable Case-insensitive Matching" : "false",
        "Enable Multiline Mode" : "false",
        "Maximum Capture Group Length" : "1024",
        "sql.args.1.type" : "12",
        "Enable Literal Parsing of the Pattern" : "false",
        "Character Set" : "UTF-8",
        "Include Capture Group 0" : "true",
        "extract-text-enable-repeating-capture-group" : "false"
      },
      "propertyDescriptors" : {
        "Enable Unicode Predefined Character Classes" : {
          "displayName" : "Enable Unicode Predefined Character Classes",
          "identifiesControllerService" : false,
          "name" : "Enable Unicode Predefined Character Classes",
          "sensitive" : false
        },
        "Permit Whitespace and Comments in Pattern" : {
          "displayName" : "Permit Whitespace and Comments in Pattern",
          "identifiesControllerService" : false,
          "name" : "Permit Whitespace and Comments in Pattern",
          "sensitive" : false
        },
        "Enable Unicode-aware Case Folding" : {
          "displayName" : "Enable Unicode-aware Case Folding",
          "identifiesControllerService" : false,
          "name" : "Enable Unicode-aware Case Folding",
          "sensitive" : false
        },
        "sql.args.1.value" : {
          "displayName" : "sql.args.1.value",
          "identifiesControllerService" : false,
          "name" : "sql.args.1.value",
          "sensitive" : false
        },
        "Enable DOTALL Mode" : {
          "displayName" : "Enable DOTALL Mode",
          "identifiesControllerService" : false,
          "name" : "Enable DOTALL Mode",
          "sensitive" : false
        },
        "Enable Unix Lines Mode" : {
          "displayName" : "Enable Unix Lines Mode",
          "identifiesControllerService" : false,
          "name" : "Enable Unix Lines Mode",
          "sensitive" : false
        },
        "extract-text-enable-named-groups" : {
          "displayName" : "Enable named group support",
          "identifiesControllerService" : false,
          "name" : "extract-text-enable-named-groups",
          "sensitive" : false
        },
        "Maximum Buffer Size" : {
          "displayName" : "Maximum Buffer Size",
          "identifiesControllerService" : false,
          "name" : "Maximum Buffer Size",
          "sensitive" : false
        },
        "Enable Canonical Equivalence" : {
          "displayName" : "Enable Canonical Equivalence",
          "identifiesControllerService" : false,
          "name" : "Enable Canonical Equivalence",
          "sensitive" : false
        },
        "Enable Case-insensitive Matching" : {
          "displayName" : "Enable Case-insensitive Matching",
          "identifiesControllerService" : false,
          "name" : "Enable Case-insensitive Matching",
          "sensitive" : false
        },
        "Enable Multiline Mode" : {
          "displayName" : "Enable Multiline Mode",
          "identifiesControllerService" : false,
          "name" : "Enable Multiline Mode",
          "sensitive" : false
        },
        "Maximum Capture Group Length" : {
          "displayName" : "Maximum Capture Group Length",
          "identifiesControllerService" : false,
          "name" : "Maximum Capture Group Length",
          "sensitive" : false
        },
        "sql.args.1.type" : {
          "displayName" : "sql.args.1.type",
          "identifiesControllerService" : false,
          "name" : "sql.args.1.type",
          "sensitive" : false
        },
        "Enable Literal Parsing of the Pattern" : {
          "displayName" : "Enable Literal Parsing of the Pattern",
          "identifiesControllerService" : false,
          "name" : "Enable Literal Parsing of the Pattern",
          "sensitive" : false
        },
        "Character Set" : {
          "displayName" : "Character Set",
          "identifiesControllerService" : false,
          "name" : "Character Set",
          "sensitive" : false
        },
        "Include Capture Group 0" : {
          "displayName" : "Include Capture Group 0",
          "identifiesControllerService" : false,
          "name" : "Include Capture Group 0",
          "sensitive" : false
        },
        "extract-text-enable-repeating-capture-group" : {
          "displayName" : "Enable repeating capture group",
          "identifiesControllerService" : false,
          "name" : "extract-text-enable-repeating-capture-group",
          "sensitive" : false
        }
      },
      "retriedRelationships" : [ ],
      "retryCount" : 10,
      "runDurationMillis" : 0,
      "scheduledState" : "ENABLED",
      "schedulingPeriod" : "0 sec",
      "schedulingStrategy" : "EVENT_DRIVEN",
      "style" : { },
      "type" : "org.apache.nifi.processors.standard.ExtractText",
      "yieldDuration" : "1 sec"
    }, {
      "autoTerminatedRelationships" : [ ],
      "backoffMechanism" : "PENALIZE_FLOWFILE",
      "bulletinLevel" : "WARN",
      "bundle" : {
        "artifact" : "nifi-standard-nar",
        "group" : "org.apache.nifi",
        "version" : "1.24.0"
      },
      "comments" : "",
      "componentType" : "PROCESSOR",
      "concurrentlySchedulableTaskCount" : 1,
      "executionNode" : "PRIMARY",
      "groupIdentifier" : "ad86f407-8631-318b-8230-76d1d7164043",
      "identifier" : "e70f7c86-42f6-352a-b9b4-f02c9678ab24",
      "instanceIdentifier" : "e70f7c86-42f6-352a-866a-17792a25c0bb",
      "maxBackoffPeriod" : "10 mins",
      "name" : "GetHTTP",
      "penaltyDuration" : "30 sec",
      "position" : {
        "x" : 248.0,
        "y" : 152.0
      },
      "properties" : {
        "redirect-cookie-policy" : "default",
        "Filename" : "file",
        "URL" : "${url}",
        "Connection Timeout" : "30 sec",
        "Data Timeout" : "30 sec",
        "SSL Context Service" : "d1c57bde-4f3b-3ad9-ae74-5b44fb96cd0a",
        "Username" : "[[ restApiUser ]]",
        "Follow Redirects" : "false",
        "Password" : "[[ restApiPassword ]]"
      },
      "propertyDescriptors" : {
        "Proxy Host" : {
          "displayName" : "Proxy Host",
          "identifiesControllerService" : false,
          "name" : "Proxy Host",
          "sensitive" : false
        },
        "redirect-cookie-policy" : {
          "displayName" : "Redirect Cookie Policy",
          "identifiesControllerService" : false,
          "name" : "redirect-cookie-policy",
          "sensitive" : false
        },
        "proxy-configuration-service" : {
          "displayName" : "Proxy Configuration Service",
          "identifiesControllerService" : true,
          "name" : "proxy-configuration-service",
          "sensitive" : false
        },
        "Filename" : {
          "displayName" : "Filename",
          "identifiesControllerService" : false,
          "name" : "Filename",
          "sensitive" : false
        },
        "User Agent" : {
          "displayName" : "User Agent",
          "identifiesControllerService" : false,
          "name" : "User Agent",
          "sensitive" : false
        },
        "Proxy Port" : {
          "displayName" : "Proxy Port",
          "identifiesControllerService" : false,
          "name" : "Proxy Port",
          "sensitive" : false
        },
        "URL" : {
          "displayName" : "URL",
          "identifiesControllerService" : false,
          "name" : "URL",
          "sensitive" : false
        },
        "Connection Timeout" : {
          "displayName" : "Connection Timeout",
          "identifiesControllerService" : false,
          "name" : "Connection Timeout",
          "sensitive" : false
        },
        "Data Timeout" : {
          "displayName" : "Data Timeout",
          "identifiesControllerService" : false,
          "name" : "Data Timeout",
          "sensitive" : false
        },
        "SSL Context Service" : {
          "displayName" : "SSL Context Service",
          "identifiesControllerService" : true,
          "name" : "SSL Context Service",
          "sensitive" : false
        },
        "Username" : {
          "displayName" : "Username",
          "identifiesControllerService" : false,
          "name" : "Username",
          "sensitive" : false
        },
        "Accept Content-Type" : {
          "displayName" : "Accept Content-Type",
          "identifiesControllerService" : false,
          "name" : "Accept Content-Type",
          "sensitive" : false
        },
        "Follow Redirects" : {
          "displayName" : "Follow Redirects",
          "identifiesControllerService" : false,
          "name" : "Follow Redirects",
          "sensitive" : false
        },
        "Password" : {
          "displayName" : "Password",
          "identifiesControllerService" : false,
          "name" : "Password",
          "sensitive" : true
        }
      },
      "retriedRelationships" : [ ],
      "retryCount" : 10,
      "runDurationMillis" : 0,
      "scheduledState" : "ENABLED",
      "schedulingPeriod" : "10 sec",
      "schedulingStrategy" : "TIMER_DRIVEN",
      "style" : { },
      "type" : "org.apache.nifi.processors.standard.GetHTTP",
      "yieldDuration" : "1 sec"
    }, {
      "autoTerminatedRelationships" : [ "success" ],
      "backoffMechanism" : "PENALIZE_FLOWFILE",
      "bulletinLevel" : "WARN",
      "bundle" : {
        "artifact" : "nifi-standard-nar",
        "group" : "org.apache.nifi",
        "version" : "1.24.0"
      },
      "comments" : "",
      "componentType" : "PROCESSOR",
      "concurrentlySchedulableTaskCount" : 1,
      "executionNode" : "ALL",
      "groupIdentifier" : "ad86f407-8631-318b-8230-76d1d7164043",
      "identifier" : "32d35b0d-daab-3189-9f86-71fbe584a6c7",
      "instanceIdentifier" : "32d35b0d-daab-3189-b8ae-148fcd2e1c26",
      "maxBackoffPeriod" : "10 mins",
      "name" : "PutSQL",
      "penaltyDuration" : "30 sec",
      "position" : {
        "x" : 1136.0,
        "y" : 152.0
      },
      "properties" : {
        "Support Fragmented Transactions" : "true",
        "putsql-sql-statement" : "insert into table values (?)",
        "Batch Size" : "100",
        "Obtain Generated Keys" : "false",
        "JDBC Connection Pool" : "bed8843c-c85e-3b34-844d-0804c6d35999",
        "database-session-autocommit" : "false",
        "rollback-on-failure" : "false"
      },
      "propertyDescriptors" : {
        "Support Fragmented Transactions" : {
          "displayName" : "Support Fragmented Transactions",
          "identifiesControllerService" : false,
          "name" : "Support Fragmented Transactions",
          "sensitive" : false
        },
        "putsql-sql-statement" : {
          "displayName" : "SQL Statement",
          "identifiesControllerService" : false,
          "name" : "putsql-sql-statement",
          "sensitive" : false
        },
        "Transaction Timeout" : {
          "displayName" : "Transaction Timeout",
          "identifiesControllerService" : false,
          "name" : "Transaction Timeout",
          "sensitive" : false
        },
        "Batch Size" : {
          "displayName" : "Batch Size",
          "identifiesControllerService" : false,
          "name" : "Batch Size",
          "sensitive" : false
        },
        "Obtain Generated Keys" : {
          "displayName" : "Obtain Generated Keys",
          "identifiesControllerService" : false,
          "name" : "Obtain Generated Keys",
          "sensitive" : false
        },
        "JDBC Connection Pool" : {
          "displayName" : "JDBC Connection Pool",
          "identifiesControllerService" : true,
          "name" : "JDBC Connection Pool",
          "sensitive" : false
        },
        "database-session-autocommit" : {
          "displayName" : "Database Session AutoCommit",
          "identifiesControllerService" : false,
          "name" : "database-session-autocommit",
          "sensitive" : false
        },
        "rollback-on-failure" : {
          "displayName" : "Rollback On Failure",
          "identifiesControllerService" : false,
          "name" : "rollback-on-failure",
          "sensitive" : false
        }
      },
      "retriedRelationships" : [ ],
      "retryCount" : 10,
      "runDurationMillis" : 0,
      "scheduledState" : "ENABLED",
      "schedulingPeriod" : "10 sec",
      "schedulingStrategy" : "TIMER_DRIVEN",
      "style" : { },
      "type" : "org.apache.nifi.processors.standard.PutSQL",
      "yieldDuration" : "1 sec"
    } ],
    "remoteProcessGroups" : [ ]
  },
  "flowEncodingVersion" : "1.0",
  "snapshotMetadata" : {
    "author" : "nifi",
    "bucketIdentifier" : null,
    "comments" : "",
    "flowIdentifier" : null,
    "link" : {
      "href" : "buckets/2cf0ac20-3ccd-41ed-97c1-97baecf45dfc/flows/20be5260-9249-4626-99d8-e95b7286836e/versions/1",
      "params" : {
        "rel" : "content"
      }
    },
    "timestamp" : 1779182541044,
    "version" : 0
  }
}