Ad Widget

Collapse

API HOST.CREATE

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • pahan174
    Junior Member
    • Jun 2020
    • 5

    #1

    API HOST.CREATE

    Не могу найти как добавить тэги к устройству при создании

    Такое чувство, что про это просто зыбыли при разработке.

    $params = array(
    'host' => $DEV,
    'interfaces' => array('type' => 1, 'main' => 1, 'useip' => 1, 'ip' => "127.0.0.1", 'dns' => "", 'port' => 10050),
    'groups' => array('groupid' => $groupid),
    'templates' => array('templateid' => $templateid),
    'tag' => array('tag'=> "Subscriber", 'value' => $Subscriber)

    Пытался так, результата нет.

    Я вот про эти теги в узле сети

    Click image for larger version

Name:	Screenshot_6.png
Views:	199
Size:	11.5 KB
ID:	405269
  • pahan174
    Junior Member
    • Jun 2020
    • 5

    #2
    В версии 4.4 есть описание про тэги
    https://www.zabbix.com/documentation...ce/host/create


    Версия ZABBIX у меня 4.4.3

    APi пишет ошибку, что ожидает массив, но его нет.
    Хотя я нормально через PHP этот массив определяю.
    Click image for larger version

Name:	photo_2020-07-29_14-37-18.jpg
Views:	153
Size:	40.6 KB
ID:	406076

    Нашел такую же проблему, но не могу понять решение
    https://www.zabbix.com/forum/zabbix-...ate-tags-error


    Attached Files

    Comment

    • oscar
      Senior Member
      • Dec 2010
      • 141

      #3
      Потому что он ожидает массив объектов
      Code:
      "tags": [
                      {
                          "tag": tagName,
                          "value": tagValue
                      }
              ]
      в вашем случае массив ассоциативных массивов.
      поробуйте так
      Code:
      $foo = [[ tag => 123, value => 321 ]]
      или так
      Code:
      $foo = array(array(tag => 123, value => 321))

      Comment

      • pahan174
        Junior Member
        • Jun 2020
        • 5

        #4
        Originally posted by oscar
        Потому что он ожидает массив объектов
        Code:
        "tags": [
        {
        "tag": tagName,
        "value": tagValue
        }
        ]
        в вашем случае массив ассоциативных массивов.
        поробуйте так
        Code:
        $foo = [[ tag => 123, value => 321 ]]
        или так
        Code:
        $foo = array(array(tag => 123, value => 321))
        Спасибо!

        Вот так заработало.
        PHP Code:
        $foo = [[tag => '123'value => '321']]; 

        Comment

        Working...