如何订购按小时计费的IBM Cloud(Softlayer)存储并获取对应订单ID
Hey there! Let's break down how to track down the right identifier to order hourly-billed IBM Cloud (SoftLayer) Performance Storage—since you're already comfortable with the monthly billing workflow, this should fit right in.
First, a quick clarification: when you say "order ID for hourly billing," you're likely referring to the product item ID (or price ID) needed to build your order request (the actual "order ID" is generated after you submit the order). Here are the most reliable ways to find it:
1. Use the SoftLayer API to Query Product Packages
Performance Storage falls under specific product packages depending on whether you need block or file storage:
- Block Storage: Package ID
26 - File Storage: Package ID
35
You can call the SoftLayer_Product_Package::getItems() method to pull all items in the package, then filter for Performance Storage entries that have an hourly rate. Here's a quick Python example:
import SoftLayer # Initialize your SoftLayer client (uses API credentials from env vars or ~/.softlayer) client = SoftLayer.create_client_from_env() # Replace with 35 if you need File Storage target_package_id = 26 package_items = client['SoftLayer_Product_Package'].getItems(id=target_package_id) # Filter for hourly-billed Performance Storage items for item in package_items: if "Performance Storage" in item['description'] and item.get('hourlyRecurringFee'): print(f"Item ID: {item['id']}") print(f"Description: {item['description']}") print(f"Hourly Rate: ${item['hourlyRecurringFee']}\n")
2. Cross-Reference Your Monthly Order JSON
If you already have a valid monthly order JSON, you can use its existing item ID to find the corresponding hourly price option:
- Pull the
itemIdfrom your monthly order that maps to Performance Storage. - Call the
SoftLayer_Product_Item::getItemPrices()method with that item ID to list all available pricing plans (hourly and monthly). - Look for entries where
hourlyRecurringFeeis populated—this is your hourly price ID to use in the order.
Example snippet:
monthly_item_id = YOUR_MONTHLY_ORDER_ITEM_ID item_prices = client['SoftLayer_Product_Item'].getItemPrices(id=monthly_item_id) for price in item_prices: if price.get('hourlyRecurringFee'): print(f"Hourly Price ID: {price['id']}") print(f"Hourly Rate: ${price['hourlyRecurringFee']}")
3. Grab It from the IBM Cloud Console (Manual Approach)
If you prefer a GUI method:
- Log into the IBM Cloud Console and navigate to the SoftLayer Performance Storage ordering page.
- Switch the billing option to Hourly.
- Open your browser's developer tools (F12) and look at the network requests when you select the storage configuration. The item/price ID will be included in the order payload sent to the API.
Once you have the correct hourly item or price ID, update your existing monthly order JSON to use this ID and ensure the billing cycle is set to hourly, then submit the request to create your hourly-billed storage order.
内容的提问来源于stack exchange,提问作者Andrew Hilden

