New in this version is a facility for parallelising connections to Azure, using a pool of background processes. Some operations, such as downloading many small files or interacting with a cluster of VMs, can be sped up significantly by carrying them out in parallel rather than sequentially. The code for this is currently duplicated in multiple packages including AzureStor and AzureVM; moving it into AzureRMR removes the duplication and also makes it available to other packages that may benefit. See the vignette for more details.
One side-effect of this change is that loading a current version of AzureStor or AzureVM, along with AzureRMR, will bring up a message in the R console:
Attaching package: 'AzureVM'
The following objects are masked from 'package:AzureRMR':
Similarly, if you load the SAR package, you will receive a warning:
1: replacing previous import 'AzureRMR::init_pool' by 'AzureStor::init_pool' when loading 'SAR'
2: replacing previous import 'AzureRMR::delete_pool' by 'AzureStor::delete_pool' when loading 'SAR'
These messages are because the pool functions in AzureRMR have the same names as those in the other packages. You can safely ignore them; everything will still function correctly, and I'll be submitting updated versions to CRAN in the next few days (as soon as the AzureRMR update propagates to CRAN mirrors).
Other changes in 2.3.0 include:
- Subscription and resource group objects now have do_operation methods, like resource objects. This allows you to carry out arbitrary operations on a sub or RG, if you know the REST call.
- AzureGraph is now a direct import, which should help ensure your credentials are consistent for Resource Manager and Microsoft Graph.
- Error messages should now be much more informative, especially when deploying templates.
If you run into problems, or to send feedback, please open an issue at the GitHub repo.