Introducing Hyperlight: Virtual machine-based security for functions at scale
The Microsoft Azure Core Upstream team is excited to announce the Hyperlight…
AzureR, a family of packages that provides tools to manage Azure resources from the open source R language, is now available.
If you code in Python, C#, Java or JavaScript, you already have a rich selection of SDKs to choose from to interact with Azure. AzureR extends SDK support to the R language, by providing a selection of lightweight yet powerful packages to fill basic infrastructure needs for Azure users.
The AzureR family includes eight packages that extend the R language with tools to create, manage, and monitor Azure resources and services. The packages depend only on R and other open source components of the R ecosystem (such as the R packages “httr”, “jsonlite” and “R6”); there is no requirement to install the Azure CLI, Python or PowerShell. All of the packages are available on the official R package repository CRAN are openly developed on GitHub within the Azure organization and are mirrored as part of the cloudyr project.
The AzureR packages allow R users to interact with Azure services including:
Here is an example to illustrate how these packages can be used together. We create a resource group and storage account in AzureRMR, and a registered app in AzureGraph. We then assign the necessary permissions for the app to access the storage account. On the client side, we then use AzureStor and AzureAuth to upload a file to the storage account, authenticating via the app.
library(AzureRMR) library(AzureGraph) library(AzureStor) # set your Azure organization and subscription details here tenant <- "mytenant" sub_id <- "12345678-aaaa-bbbb-cccc-0123456789ab" # create a Graph client gr <- AzureGraph::create_graph_login(tenant) # create an app (associated service principal will also # be created automatically) app <- gr$create_app("AzureRapp") # create a Resource Manager client az <- AzureRMR::create_azure_login(tenant) # create the resource group and storage account rg <- az$ get_subscription(sub_id)$ create_resource_group("AzureRsample", location="westus") # create a storage account -- StorageV2, Standard_LRS stor <- rg$create_storage_account("azurerstor") # give blob contributor rights to the app stor$add_role_assignment(app, "Storage blob data contributor") ## client side: # authenticate with the app token <- AzureAuth::get_azure_token( resource="https://storage.azure.com", tenant=tenant, app=app$properties$appId, password=app$password ) # blob endpoint object stor_client <- storage_endpoint("https://azurerstor.blob.core.windows.net", token=token) # create a blob container -- # authentication details passed down from endpoint stor_container <- create_storage_container(stor_client, "mycontainer") # upload a file storage_upload(stor_container, "/path/to/mybigfile.txt", "mybigfile.txt")
Together, the AzureR packages provide the capability to efficiently and securely access the Azure services that are most likely to be relevant to R users. R users can install the R packages from the CRAN package repository today, and get started using their existing Azure subscription. New subscribers can also create a free Azure account with access to Azure’s free services and $200 in Azure credits towards everything else.
For more information about AzureR, please visit the AzureR repository in GitHub, where comments and suggestions (and pull requests!) are always welcome.
Questions or feedback? Let us know in the comments below.