Azure Storage Explorer Macos



Storage accounts provide a flexible solution that keeps data as files, tables, and messages. With Azure Storage Explorer, it's easy to read and manipulate this data.

The Kusto (KQL) extension in Azure Data Studio is now available in preview. This native Kusto (KQL) support brings another modern data experience to Azure Data Studio, a cross-platform client – for Windows, macOS, and Linux. Users can now connect and browse their Azure Data Explorer clusters and databases, write and run KQL, as wellRead more. The 0.8.0 version of Azure Storage Explorer for Mac is available as a free download on our software library. Our built-in antivirus checked this Mac download and rated it as 100% safe. The file size of the latest installation package available is 185.5 MB. The program lies within System Tools, more precisely File Managers. Azure Storage Explorer helps you upload, download, and manage the data you store in Azure Storage. This month we released version v1.18.0 which includes the following new capabilities: Decrease startup and load time of Storage Explorer. New connection flow to make it easier to specify the type of resource.

You want to enable your engineers to manage the data stored in Azure Storage, so they can maintain the data that your CRM application uses. You want to assess whether they can use Storage Explorer for this purpose.

Here, you'll learn about Storage Explorer, and how you can use it to manage data from multiple storage accounts and subscriptions. You'll learn different ways of using Storage Explorer to connect to your data, Azure Stack, and data held in Azure Cosmos DB and Azure Data Lake.

What is Storage Explorer?

Storage Explorer is a GUI application developed by Microsoft to simplify access to, and the management of, data stored in Azure storage accounts. Storage Explorer is available on Windows, macOS, and Linux.

Some of the benefits of using Storage Explorer are:

  • It's easy to connect to and manage multiple storage accounts.
  • The interface lets you connect to Azure Cosmos DB and Data Lake.
  • You can also use the interface to update and view entities in your storage accounts.
  • Storage Explorer is free to download and use.

With Storage Explorer, you can use a range of storage and data operation tasks on any of your Azure storage accounts. These tasks include edit, download, copy, and delete.

Supported software versions

The Azure Storage Explorer application runs on the following versions of these platforms:

SUPPORTED SOFTWARE VERSIONS
Operating systemVersion
WindowsWindows 10 (Recommended), Windows 8, or Windows 7
macOSmacOS 12.12 Sierra and later
LinuxUbuntu 18.04 x64, Ubuntu16.04 x64, or Ubuntu 14.04 x64

Azure Storage types

Azure Storage Explorer can access many different data types from services like these:

  • Azure Blob storage. Blob storage is used to store unstructured data as a binary large object (blob).
  • Azure Table storage. Table storage is used to store NoSQL, semi-structured data.
  • Azure Files. Azure File is a file-sharing service that enables access through the Server Message Block protocol, similar to traditional file servers.
  • Azure Data Lake Storage. Azure Data Lake, based on Apache Hadoop, is designed for large data volumes and can store unstructured and structured data.

Manage multiple storage accounts in multiple subscriptions

If you have multiple storage accounts across multiple subscriptions in your Azure tenant, managing them through the Azure portal can be time-consuming. Storage Explorer gives you the ability to manage the data stored in multiple Azure storage accounts and across Azure subscriptions.

Use local emulators

During the development phase of your project, you might not want developers to incur additional costs by using Azure storage accounts. In those cases, you can use a locally based emulator. Storage Explorer supports two emulators: Azure Storage Emulator and Azurite.

  • Azure Storage Emulator uses a local instance of Microsoft SQL Server 2012 Express LocalDB. It emulates the Azure Table, Queue, and Blob storage.
  • Azurite, which is based on Node.js, is an open-source emulator that supports most Azure Storage commands through an API.

Storage Explorer requires the emulator to be running before you open it. Connecting to your emulator is no different from connecting to Azure storage accounts. However, you'll choose the Attach to a local emulator connection type.

All locally emulated storage connection types appear in Local & Attached > Storage accounts.

Connecting Storage Explorer to Azure

There are several ways to connect your Storage Explorer application to your Azure storage accounts.

You need two permissions to access your Azure storage account: management and data. However, you can use Storage Explorer with only there prompted, provide the type of resource that you're connecting to.

  • Review and verify the connection details, and then select Connect.
  • It's crucial to select the correct resource type because it changes the information that you need to enter.

    Any connections that you create through this approach will appear in the resource tree, in this branch: Local & attached > Storage Accounts > Attached Containers > Blob.

    Connect by using a shared access signature URI

    A shared access signature (SAS) URI is an unambiguous identifier that's used to access your Azure Storage resources.

    With this connection method, you'll use a SAS URI for the required storage account. You'll need a SAS URI whether you want to use a file share, table, queue, or blob container. You can get a SAS URI either from the Azure portal or from Storage Explorer.

    To add a SAS connection:

    1. Open Storage Explorer.
    2. Connect to your Azure storage account.
    3. Select the connection type: shared access signature (SAS) URI.
    4. Provide a meaningful name for the connection.
    5. When you're prompted, provide the SAS URI.
    6. Review and verify the connection details, and then select Connect.

    When you've added a connection, it appears in the resource tree as a new node. You'll find the connection node in this branch: Local & attached > Storage Accounts > Attached Container > Service.

    Connect by using a storage account name and key

    To connect to a storage account on Azure quickly, you use the account key that's associated with the storage. To find the storage access keys from the Azure portal, go to the correct storage account page and select access keys.

    To add a connection:

    1. Open Storage Explorer.
    2. Connect to your Azure storage account.
    3. Select the connection type: storage account name and key.
    4. Provide a meaningful name for the connection.
    5. When you're prompted, provide the name of the storage account and either of the account keys needed to access it.
    6. From the provided list, select the storage domain that you want to use.
    7. Review and verify the connection details, and then select Connect.

    When the connection is added, it appears in the resource tree as a connection node. The connection node is in this branch: Local & attached > Storage Accounts.

    Manage Azure Cosmos DB and Data Lake

    You can use Storage Explorer to access and manage data stored in Azure Cosmos DB and Data Lake.

    To connect to an Azure Cosmos DB service, you'll need to use a connection string. You get a connection string by accessing the Azure Cosmos DB configuration through the Azure portal.

    To connect to a Data Lake service, you'll need the URI associated with the data lake. Presently, Storage Explorer supports only Data Lake Storage Gen1. Data Lake Storage Gen2 is currently in preview, and support will be available through Storage Explorer. Using a URI allows you to access resources that aren't in your subscription. When you have the URI of the resource that you want to access, you connect to it by using the Data Lake Storage Gen1 option.

    -->

    The Azurite open-source emulator provides a free local environment for testing your Azure blob and queue storage applications. When you're satisfied with how your application is working locally, switch to using an Azure Storage account in the cloud. The emulator provides cross-platform support on Windows, Linux, and macOS.

    Azurite is the future storage emulator platform. Azurite supersedes the Azure Storage Emulator. Azurite will continue to be updated to support the latest versions of Azure Storage APIs.

    There are several different ways to install and run Azurite on your local system:

    Install and run the Azurite Visual Studio Code extension

    Within Visual Studio Code, select the EXTENSIONS pane and search for Azurite in the EXTENSIONS:MARKETPLACE.

    You can also navigate to Visual Studio Code extension market in your browser. Select the Install button to open Visual Studio Code and go directly to the Azurite extension page.

    The extension supports the following Visual Studio Code commands. To open the command palette, press F1 in Visual Studio Code.

    • Azurite: Clean - Reset all Azurite services persistency data
    • Azurite: Clean Blob Service - Clean blob service
    • Azurite: Clean Queue Service - Clean queue service
    • Azurite: Close - Close all Azurite services
    • Azurite: Close Blob Service - Close blob service
    • Azurite: Close Queue Service - Close queue service
    • Azurite: Start - Start all Azurite services
    • Azurite: Start Blob Service - Start blob service
    • Azurite: Start Queue Service - Start queue service

    To configure Azurite within Visual Studio Code, select the extensions pane. Select the Manage (gear) icon for Azurite. Select Extension Settings.

    The following settings are supported:

    • Azurite: Blob Host - The Blob service listening endpoint. The default setting is 127.0.0.1.
    • Azurite: Blob Port - The Blob service listening port. The default port is 10000.
    • Azurite: Cert - Path to a locally trusted PEM or PFX certificate file path to enable HTTPS mode.
    • Azurite: Debug - Output the debug log to the Azurite channel. The default value is false.
    • Azurite: Key - Path to a locally trusted PEM key file, required when Azurite: Cert points to a PEM file.
    • Azurite: Location - The workspace location path. The default is the Visual Studio Code working folder.
    • Azurite: Loose - Enable loose mode, which ignores unsupported headers and parameters.
    • Azurite: Oauth - Optional OAuth level.
    • Azurite: Pwd - Password for PFX file. Required when Azurite: Cert points to a PFX file.
    • Azurite: Queue Host - The Queue service listening endpoint. The default setting is 127.0.0.1.
    • Azurite: Queue Port - The Queue service listening port. The default port is 10001.
    • Azurite: Silent - Silent mode disables the access log. The default value is false.
    • Azurite: Skip Api Version Check - Skip the request API version check. The default value is false.

    Install and run Azurite by using NPM

    This installation method requires that you have Node.js version 8.0 or later installed. Node Package Manager (npm) is the package management tool included with every Node.js installation. After installing Node.js, execute the following npm command to install Azurite.

    After installing Azurite, see Run Azurite from a command line.

    Install and run the Azurite Docker image

    Use DockerHub to pull the latest Azurite image by using the following command:

    Run the Azurite Docker image:

    The following command runs the Azurite Docker image. The -p 10000:10000 parameter redirects requests from host machine's port 10000 to the Docker instance.

    Specify the workspace location:

    In the following example, the -v c:/azurite:/data parameter specifies c:/azurite as the Azurite persisted data location. The directory, c:/azurite, must be created before running the Docker command.

    Run just the blob service

    For more information about configuring Azurite at start-up, see Command-line options.

    Clone, build, and run Azurite from the GitHub repository

    This installation method requires that you have Git installed. Clone the GitHub repository for the Azurite project by using the following console command.

    After cloning the source code, execute following commands from the root of the cloned repo to build and install Azurite.

    After installing and building Azurite, see Run Azurite from a command line.

    Run Azurite from a command line

    Note

    Azurite cannot be run from the command line if you only installed the Visual Studio Code extension. Instead, use the Visual Studio Code command palette. For more information, see Install and run the Azurite Visual Studio Code extension.

    To get started immediately with the command line, create a directory called c:azurite, then launch Azurite by issuing the following command:

    This command tells Azurite to store all data in a particular directory, c:azurite. If the --location option is omitted, it will use the current working directory.

    Command-line options

    This section details the command line switches available when launching Azurite.

    Help

    Optional - Get command-line help by using the -h or --help switch.

    Blob listening host

    Optional - By default, Azurite will listen to 127.0.0.1 as the local server. Use the --blobHost switch to set the address to your requirements.

    Accept requests on the local machine only:

    Allow remote requests:

    Caution

    Allowing remote requests may make your system vulnerable to external attacks.

    Blob listening port configuration

    Optional - By default, Azurite will listen for the Blob service on port 10000. Use the --blobPort switch to specify the listening port that you require.

    Note

    After using a customized port, you need to update the connection string or corresponding configuration in your Azure Storage tools or SDKs.

    Customize the Blob service listening port:

    Let the system auto select an available port:

    The port in use is displayed during Azurite startup.

    Queue listening host

    Optional - By default, Azurite will listen to 127.0.0.1 as the local server. Use the --queueHost switch to set the address to your requirements.

    Accept requests on the local machine only:

    Allow remote requests:

    Caution

    Allowing remote requests may make your system vulnerable to external attacks.

    Queue listening port configuration

    Optional - By default, Azurite will listen for the Queue service on port 10001. Use the --queuePort switch to specify the listening port that you require.

    Note

    After using a customized port, you need to update the connection string or corresponding configuration in your Azure Storage tools or SDKs.

    Customize the Queue service listening port:

    Let the system auto select an available port:

    The port in use is displayed during Azurite startup.

    Workspace path

    Optional - Azurite stores data to the local disk during execution. Use the -l or --location switch to specify a path as the workspace location. By default, the current process working directory will be used. Note the lowercase 'l'.

    Access log

    Optional - By default, the access log is displayed in the console window. Disable the display of the access log by using the -s or --silent switch.

    Debug log

    Optional - The debug log includes detailed information on every request and exception stack trace. Enable the debug log by providing a valid local file path to the -d or --debug switch.

    Loose mode

    Optional - By default, Azurite applies strict mode to block unsupported request headers and parameters. Disable strict mode by using the -L or --loose switch. Note the capital 'L'.

    Version

    Optional - Display the installed Azurite version number by using the -v or --version switch.

    Certificate configuration (HTTPS)

    Optional - By default, Azurite uses the HTTP protocol. Enable HTTPS mode by providing a path to a Privacy Enhanced Mail (.pem) or Personal Information Exchange (.pfx) certificate file to the --cert switch.

    When --cert is provided for a PEM file, you must provide a corresponding --key switch.

    When --cert is provided for a PFX file, you must provide a corresponding --pwd switch.

    For detailed information on creating PEM and PFX files, see HTTPS Setup.

    OAuth configuration

    Optional - Enable OAuth authentication for Azurite by using the --oauth switch.

    Note

    OAuth requires an HTTPS endpoint. Make sure HTTPS is enabled by providing --cert switch along with the --oauth switch.

    Azurite supports basic authentication by specifying the basic parameter to the --oauth switch. Azurite will do basic authentication, like validating the incoming bearer token, checking the issuer, audience, and expiry. Azurite won't check the token signature or permissions.

    Skip API Version Check

    Optional - When starting up, Azurite checks that the requested API version is valid. The following command skips the API version check:

    Authorization for tools and SDKs

    Azure Storage Explorer Macos Download

    Connect to Azurite from Azure Storage SDKs or tools, like Azure Storage Explorer, by using any authentication strategy. Authentication is required. Azurite supports authorization with OAuth, Shared Key, and shared access signatures (SAS). Azurite also supports anonymous access to public containers.

    If you're using the Azure SDKs, start Azurite with the --oauth basic and --cert --key/--pwd options.

    Well-known storage account and key

    Azurite accepts the same well-known account and key used by the legacy Azure Storage Emulator.

    • Account name: devstoreaccount1
    • Account key: Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw

    Custom storage accounts and keys

    Azurite supports custom storage account names and keys by setting the AZURITE_ACCOUNTS environment variable in the following format: account1:key1[:key2];account2:key1[:key2];....

    For example, use a custom storage account that has one key:

    Or use multiple storage accounts with two keys each:

    Azurite refreshes custom account names and keys from the environment variable every minute by default. With this feature, you can dynamically rotate the account key, or add new storage accounts without restarting Azurite.

    Note

    The default devstoreaccount1 storage account is disabled when you set custom storage accounts.

    Connection strings

    The easiest way to connect to Azurite from your application is to configure a connection string in your application's configuration file that references the shortcut UseDevelopmentStorage=true. Here's an example of a connection string in an app.config file:

    HTTP connection strings

    You can pass the following connection strings to the Azure SDKs or tools, like Azure CLI 2.0 or Storage Explorer.

    The full connection string is:

    Explorer

    DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw;BlobEndpoint=http://127.0.0.1:10000/devstoreaccount1;QueueEndpoint=http://127.0.0.1:10001/devstoreaccount1;

    To connect to the blob service only, the connection string is:

    Macos Azure Storage Explorer

    DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw;BlobEndpoint=http://127.0.0.1:10000/devstoreaccount1;

    To connect to the queue service only, the connection string is:

    DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw;QueueEndpoint=http://127.0.0.1:10001/devstoreaccount1;

    HTTPS connection strings

    The full HTTPS connection string is:

    DefaultEndpointsProtocol=https;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw;BlobEndpoint=https://127.0.0.1:10000/devstoreaccount1;QueueEndpoint=https://127.0.0.1:10001/devstoreaccount1;

    To use the blob service only, the HTTPS connection string is:

    DefaultEndpointsProtocol=https;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw;BlobEndpoint=https://127.0.0.1:10000/devstoreaccount1;

    To use the queue service only, the HTTPS connection string is:

    Explorer

    DefaultEndpointsProtocol=https;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw;QueueEndpoint=https://127.0.0.1:10001/devstoreaccount1;

    If you used dotnet dev-certs to generate your self-signed certificate, use the following connection string.

    DefaultEndpointsProtocol=https;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw;BlobEndpoint=https://localhost:10000/devstoreaccount1;QueueEndpoint=https://localhost:10001/devstoreaccount1;

    Update the connection string when using custom storage accounts and keys.

    For more information, see Configure Azure Storage connection strings.

    Azure SDKs

    To use Azurite with the Azure SDKs, use OAuth and HTTPS options:

    Azure Blob Storage

    You can then instantiate a BlobContainerClient, BlobServiceClient, or BlobClient.

    Azure Queue Storage

    You can also instantiate a QueueClient or QueueServiceClient.

    Microsoft Azure Storage Explorer

    You can use Storage Explorer to view the data stored in Azurite.

    Connect to Azurite using HTTP

    In Storage Explorer, connect to Azurite by following these steps:

    1. Select the Manage Accounts icon
    2. Select Add an account
    3. Select Attach to a local emulator
    4. Select Next
    5. Edit the Display name field to a name of your choice
    6. Select Next again
    7. Select Connect

    Connect to Azurite using HTTPS

    By default Storage Explorer won't open an HTTPS endpoint that uses a self-signed certificate. If you're running Azurite with HTTPS, you're likely using a self-signed certificate. In Storage Explorer, import SSL certificates via the Edit -> SSL Certificates -> Import Certificates dialog.

    Import Certificate to Storage Explorer
    1. Find the certificate on your local machine.
    2. In Storage Explorer, go to Edit -> SSL Certificates -> Import Certificates and import your certificate.

    If you don't import a certificate, you'll get an error:

    unable to verify the first certificate or self signed certificate in chain

    Add Azurite via HTTPS connection string

    Follow these steps to add Azurite HTTPS to Storage Explorer:

    1. Select Toggle Explorer
    2. Select Local & Attached
    3. Right-click on Storage Accounts and select Connect to Azure Storage.
    4. Select Use a connection string
    5. Select Next.
    6. Enter a value in the Display name field.
    7. Enter the HTTPS connection string from the previous section of this document
    8. Select Next
    9. Select Connect

    Workspace structure

    The following files and folders may be created in the workspace location when initializing Azurite.

    • __blobstorage__ - Directory containing Azurite blob service persisted binary data
    • __queuestorage__ - Directory containing Azurite queue service persisted binary data
    • __azurite_db_blob__.json - Azurite blob service metadata file
    • __azurite_db_blob_extent__.json - Azurite blob service extent metadata file
    • __azurite_db_queue__.json - Azurite queue service metadata file
    • __azurite_db_queue_extent__.json - Azurite queue service extent metadata file

    To clean up Azurite, delete above files and folders and restart the emulator.

    Differences between Azurite and Azure Storage

    There are functional differences between a local instance of Azurite and an Azure Storage account in the cloud.

    Endpoint and connection URL

    The service endpoints for Azurite are different from the endpoints of an Azure Storage account. The local computer doesn't do domain name resolution, requiring Azurite endpoints to be local addresses.

    When you address a resource in an Azure Storage account, the account name is part of the URI host name. The resource being addressed is part of the URI path:

    <http|https>://<account-name>.<service-name>.core.windows.net/<resource-path>

    The following URI is a valid address for a blob in an Azure Storage account:

    https://myaccount.blob.core.windows.net/mycontainer/myblob.txt

    Since the local computer doesn't do domain name resolution, the account name is part of the URI path instead of the host name. Use the following URI format for a resource in Azurite:

    http://<local-machine-address>:<port>/<account-name>/<resource-path>

    The following address might be used for accessing a blob in Azurite:

    http://127.0.0.1:10000/myaccount/mycontainer/myblob.txt

    Scaling and performance

    Azure Storage Explorer Application Download

    Azurite doesn't support large numbers of connected clients. There's no performance guarantee. Azurite is intended for development and testing purposes.

    Error handling

    Azurite is aligned with Azure Storage error handling logic, but there are differences. For example, error messages may be different, while error status codes align.

    RA-GRS

    Azurite supports read-access geo-redundant replication (RA-GRS). For storage resources, access the secondary location by appending -secondary to the account name. For example, the following address might be used for accessing a blob using the read-only secondary in Azurite:

    http://127.0.0.1:10000/devstoreaccount1-secondary/mycontainer/myblob.txt

    Table support

    Support for tables in Azurite is currently under development and open to contribution! For the latest progress, check the Azurite V3 Table project.

    Support for durable functions requires tables.

    Azurite is open-source

    Contributions and suggestions for Azurite are welcome. Go to the Azurite GitHub project page or GitHub issues for milestones and work items we're tracking for upcoming features and bug fixes. Detailed work items are also tracked in GitHub.

    Microsoft Storage Explorer Free Download

    Next steps

    • Use the Azure Storage Emulator for development and testing documents the legacy Azure Storage Emulator, which is being superseded by Azurite.
    • Configure Azure Storage connection strings explains how to assemble a valid Azure Storage connection string.