Azure CLI: list blobs with pagination
See az storage blob list for more information.
The context
I have an Azure storage account that has several containers and some containers have much blobs in
All the blobs have been individually archived in "Archive" access tier
I want to list all the blobs in the storage account and change the access tier of the blobs to "Hot" tier
However, the command "az storage blob list" only returns 5000 blobs at most, and I have 65k blobs
I need then to use the pagination feature of the command to list all the blobs
The problem
When I use the command "az storage blob list":
- It returns 5000 blobs at most
- It returns a continuation token, but in standard error output
- I need to store the standard output (the blob list) and the standard error output (the continuation token) in different places
- Because I need to give the continuation token to the command to list the next 5000 blobs in a loop until the continuation token is not outputed anymore (that means we reached the end of the listing)
- There is no way to just get the continuation token without the blob list
I know how to store the standard output somewhere, how to store the standard error output somewhere else, but here I need to store both in different places.
The solution
Here is the solution I found (click here to see the code):
- Store the standard output in a file
- Store the standard error output in a variable
- Use the variable to give the continuation token to the command to list the next 5000 blobs
- Loop until the continuation token is not outputed anymore