понимание записей undef locationGroupId в элементах пакета

Я выполнил запрос SL REST API, чтобы получить список элементов, доступных для пакета 240 (Endurance iSCSI), только для общих ценовых записей, запрашивая только те ценовые записи со значением locationGroupId, равным undefined. Вот запрос, который я выполнил:

curl -u : https://api.softlayer.com/rest/v3/SoftLayer_Product_Package/240 /getItems.json?objectFilter=%7B%22items%22:%7B%22prices%22:%7B%22locationGroupId%22:%7B%22operation%22:%22is%20null%22%7D%7D%7D%7D< /а>

Я немного смущен результатом. Вот отрывок:

...

   {
      "upgradeItemId" : null,
      "description" : "4000 GB Storage Space",
      "capacity" : "4000",
      "keyName" : "4000_GB_PERFORMANCE_STORAGE_SPACE",
      "itemCategory" : {
         "quantityLimit" : 0,
         "name" : "Storage Space",
         "id" : 382,
         "categoryCode" : "performance_storage_space"
      },
      "softwareDescriptionId" : null,
      "id" : 5146,
      "itemTaxCategoryId" : 166,
      "prices" : [
         {
            "recurringFee" : "58",
            "setupFee" : "0",
            "quantity" : null,
            "packageReferences" : [
               {
                  "packageId" : 240,
                  "id" : 386831,
                  "itemPriceId" : 46625
               }
            ],
            "onSaleFlag" : null,
            "oneTimeFee" : "0",
            "itemId" : 5146,
            "sort" : 10,
            "currentPriceFlag" : null,
            "laborFee" : "0",
            "id" : 46625,
            "locationGroupId" : null
         },
         {
            "recurringFee" : "145",
            "setupFee" : "0",
            "quantity" : null,
            "packageReferences" : [
               {
                  "packageId" : 240,
                  "id" : 385796,
                  "itemPriceId" : 46096
               }
            ],
            "onSaleFlag" : null,
            "oneTimeFee" : "0",
            "itemId" : 5146,
            "sort" : 10,
            "currentPriceFlag" : null,
            "laborFee" : "0",
            "id" : 46096,
            "locationGroupId" : null
         },
         {
            "recurringFee" : "290",
            "setupFee" : "0",
            "quantity" : null,
            "packageReferences" : [
               {
                  "packageId" : 240,
                  "id" : 385806,
                  "itemPriceId" : 46106
               }
            ],
            "onSaleFlag" : null,
            "oneTimeFee" : "0",
            "itemId" : 5146,
            "sort" : 10,
            "currentPriceFlag" : null,
            "laborFee" : "0",
            "id" : 46106,
            "locationGroupId" : null
         },
         {
            "recurringFee" : "290",
            "setupFee" : "0",
            "quantity" : null,
            "packageReferences" : [
               {
                  "packageId" : 240,
                  "id" : 383598,
                  "itemPriceId" : 45364
               }
            ],
            "onSaleFlag" : null,
            "oneTimeFee" : "0",
            "itemId" : 5146,
            "sort" : 10,
            "currentPriceFlag" : null,
            "laborFee" : "0",
            "id" : 45364,
            "locationGroupId" : null
         },
         {
            "recurringFee" : "362.5",
            "setupFee" : "0",
            "quantity" : null,
            "packageReferences" : [
               {
                  "packageId" : 240,
                  "id" : 386841,
                  "itemPriceId" : 46635
               }
            ],
            "onSaleFlag" : null,
            "oneTimeFee" : "0",
            "itemId" : 5146,
            "sort" : 10,
            "currentPriceFlag" : null,
            "laborFee" : "0",
            "id" : 46635,
            "locationGroupId" : null
         },
         {
            "recurringFee" : "435",
            "setupFee" : "0",
            "quantity" : null,
            "packageReferences" : [
               {
                  "packageId" : 240,
                  "id" : 385816,
                  "itemPriceId" : 46116
               }
            ],
            "onSaleFlag" : null,
            "oneTimeFee" : "0",
            "itemId" : 5146,
            "sort" : 10,
            "currentPriceFlag" : null,
            "laborFee" : "0",
            "id" : 46116,
            "locationGroupId" : null
         },
         {
            "recurringFee" : "580",
            "setupFee" : "0",
            "quantity" : null,
            "packageReferences" : [
               {
                  "packageId" : 240,
                  "id" : 383608,
                  "itemPriceId" : 45374
               }
            ],
            "onSaleFlag" : null,
            "oneTimeFee" : "0",
            "itemId" : 5146,
            "sort" : 10,
            "currentPriceFlag" : null,
            "laborFee" : "0",
            "id" : 45374,
            "locationGroupId" : null
         },
         {
            "recurringFee" : "580",
            "setupFee" : "0",
            "quantity" : null,
            "packageReferences" : [
               {
                  "packageId" : 240,
                  "id" : 1302339,
                  "itemPriceId" : 183991
               }
            ],
            "onSaleFlag" : null,
            "oneTimeFee" : "0",
            "itemId" : 5146,
            "sort" : 10,
            "currentPriceFlag" : null,
            "laborFee" : "0",
            "id" : 183991,
            "locationGroupId" : null
         },
         {
            "recurringFee" : "725",
            "setupFee" : "0",
            "quantity" : null,
            "packageReferences" : [
               {
                  "packageId" : 240,
                  "id" : 386851,
                  "itemPriceId" : 46645
               }
            ],
            "onSaleFlag" : null,
            "oneTimeFee" : "0",
            "itemId" : 5146,
            "sort" : 10,
            "currentPriceFlag" : null,
            "laborFee" : "0",
            "id" : 46645,
            "locationGroupId" : null
         },
         {
            "recurringFee" : "1015",
            "setupFee" : "0",
            "quantity" : null,
            "packageReferences" : [
               {
                  "packageId" : 240,
                  "id" : 383618,
                  "itemPriceId" : 45384
               }
            ],
            "onSaleFlag" : null,
            "oneTimeFee" : "0",
            "itemId" : 5146,
            "sort" : 10,
            "currentPriceFlag" : null,
            "laborFee" : "0",
            "id" : 45384,
            "locationGroupId" : null
         },
         {
            "recurringFee" : "1450",
            "setupFee" : "0",
            "quantity" : null,
            "packageReferences" : [
               {
                  "packageId" : 240,
                  "id" : 1300099,
                  "itemPriceId" : 181751
               }
            ],
            "onSaleFlag" : null,
            "oneTimeFee" : "0",
            "itemId" : 5146,
            "sort" : 10,
            "currentPriceFlag" : null,
            "laborFee" : "0",
            "id" : 181751,
            "locationGroupId" : null
         },
         {
            "recurringFee" : "1682",
            "setupFee" : "0",
            "quantity" : null,
            "packageReferences" : [
               {
                  "packageId" : 240,
                  "id" : 1295927,
                  "itemPriceId" : 178645
               }
            ],
            "onSaleFlag" : null,
            "oneTimeFee" : "0",
            "itemId" : 5146,
            "sort" : 10,
            "currentPriceFlag" : null,
            "laborFee" : "0",
            "id" : 178645,
            "locationGroupId" : null
         }
      ],
      "units" : "GB"
   },
...

Для этого товара "4000_GB_PERFORMANCE_STORAGE_SPACE" существует несколько идентификаторов цен с неопределенным значением locationGroupId. Единственное, что я вижу, это значение recurringFee. Я не понимаю, какой из этих ценовых объектов выбрать. Кажется, я должен просто выбрать самый дешевый, но я предполагаю, что есть еще какая-то разница, но я не знаю, в чем она. Любая помощь будет оценена по достоинству.


person Chris Ratcliffe    schedule 10.01.2017    source источник


Ответы (1)


Эти цены имеют разные категории, например, они могут быть:

  • Репликация хранилища производительности
  • Место для моментального снимка хранилища
  • Место для хранения
  • Репликация хранилища

Вам нужно использовать цену в соответствии с заказом, который вы хотите разместить, а также вам необходимо учитывать емкость для этих цен (свойства capacityRestrictionMaximum и capacityRestrictionMinimum)

Чтобы получить такую ​​информацию, вам нужно добавить маску, как показано ниже:

https://api.softlayer.com/rest/v3/SoftLayer_Product_Package/240/getItems.json?objectFilter={"items":{"prices":{"locationGroupId":{"operation":"is null"}}}}&objectMask=mask[prices[categories]]

Method: Get

Кодировка:

https://api.softlayer.com/rest/v3/SoftLayer_Product_Package/240/getItems.json?objectFilter=%7B%22items%22%3A%7B%22prices%22%3A%7B%22locationGroupId%22%3A%7B%22operation%22%3A%22is+null%22%7D%7D%7D%7D&objectMask=mask%5Bprices%5Bcategories%5D%5D

Method: Get

Ссылки:

person Ruber Cuellar Valenzuela    schedule 10.01.2017
comment
Хм, мне это кажется немного неясным. Я не вижу в строфе JSON цены ничего, что бы указывало на тип категории. Категория, по-видимому, находится на объекте более высокого уровня для 4000_GB_PERFORMANCE_STORAGE_SPACE keyName и строфы itemCategory. - person Chris Ratcliffe; 13.01.2017
comment
Категория, которую вы видите, относится к товару, вам нужно получить их по ценам, попробуйте запрос, который я предоставил - person Ruber Cuellar Valenzuela; 13.01.2017