Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Mute
- Printer Friendly Page
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Group -
OCAPI 1.2
I'm trying to retrieve greater than 500 records from the GET volumes REST call. If I set the maxRecords query parameter to a number greater than 500, I always get 500 records. However, the query will be adjusted downwards if I place a number less than 500.
REST syntax:
https://apiserver:8443/api/1.0/ontap/volumes?maxRecords=10000
Is this a bug or am I missing something?
Solved! See The Solution
1 ACCEPTED SOLUTION
CSiegle has accepted the solution
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Great! nextTag worked well. Thanks.
5 REPLIES 5
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
CSiegle -
Yes, you're missing something.
There was a race condition bug with the old 7-mode API calls to get various objects, including volumes.
Hence the max records for the new APIs.
BCP is to get 20 records at a time (default) and populate the 'next' tag with the results from the previous call.
I hope this response has been helpful to you.
At your service,
Eugene E. Kashpureff, Sr.
Independent NetApp Consultant http://www.linkedin.com/in/eugenekashpureff
Senior NetApp Instructor, Fast Lane US http://www.fastlaneus.com/
(P.S. I appreciate 'kudos' on any helpful posts.)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
This is as per design. at the most, you can fetch 500 records. this is done considaring many factors. one of them is performance. still, if you wanted to have maxrecords more than 500, please get touch with product management.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
If your requirement is get records beyond 500, then please use nextTag. This, you will find end of each response body
Example:
https://apiserver:8443/api/1.0/ontap/volumes?NextTag=<nextTagValue>
CSiegle has accepted the solution
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Great! nextTag worked well. Thanks.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
curl -v -k -u admin:$Pass -L -H "Content-Type: application/json" https://10.64.56.251:8443/api/5.0/ontap/aggregates?maxRecords=3
Got the nexttag value like this "nextTag":"PiM+bG9jYWxob3N0OnR5cGU9b2N1bSx1dWlkPWxvY2FsaG9zdH4zLypAbWF4UmVjb3Jkcz0zPCM8"
and
curl -k -u admin:$Pass -L -H "Content-Type: application/json" https://10.64.56.251:8443/api/5.0/ontap/aggregates?nextTag=PiM+bG9jYWxob3N0OnR5cGU9b2N1bSx1dWlkPWxvY2FsaG9zdH4zLypAbWF4UmVjb3Jkcz0zPCM8
{"status":{"code":"FAILED","error":{"errno":2004,"message":"The specified parameter values are invalid.","reason":" Invalid parameter value for nextTag "}}}
Please help
we have more than 500 volumes; for the nexttag I am testing with aggregates.
thanks
Ramesh
