AzureStorageExplorer icon indicating copy to clipboard operation
AzureStorageExplorer copied to clipboard

Start Azurite if already installed

Open jguadagno opened this issue 5 years ago • 6 comments
trafficstars

Is your feature request related to a problem? Please describe. One of the things I forget to do when working with Storage, Queues, and Tables is starting the emulator. Most of the time I have to wait for the connection in the Storage Account > Emulator - Default Ports - Queues or Blobs to timeout before I realize that I did not start the emulator.

Describe the solution you'd like I would like that if I am in the "Local & Attached\Storage Accounts" tree of the Explorer and the Explorer can not connect to the local emulator to either prompt me to start it, or better yet start it for me.

Describe alternatives you've considered A clear and concise description of any alternative solutions or features you've considered.

Additional context Add any other context or screenshots about the feature request here.

jguadagno avatar Jul 14 '20 03:07 jguadagno

@jguadagno @jukkamaljanen some questions for you:

  • How many emulators do you usually have running at once? If more than one, please be specific about how many.
  • Do you use Azurite?
  • If you do, where do you keep your Azurite data?
  • If you don't, what emulator are you using?

MRayermannMSFT avatar Nov 19 '21 00:11 MRayermannMSFT

@MRayermannMSFT

How many emulators do you usually have running at once? If more than one, please be specific about how many. Usually, one, but it depends. On a Windows machine, I typically had the AzureStorageEmulator and Azurite (in Docker) running

Do you use Azurite? Now I do. I have it running in Docker, plus JetBrains Rider has the ability to start an instance of Azurite

If you do, where do you keep your Azurite data? I try to keep my data in one location for Azure c:\Projects\Data

jguadagno avatar Nov 19 '21 01:11 jguadagno

@jguadagno thanks for answering my questions. Taking a look at JetBrains Rider definitely expanded my thoughts on what we would want to do for a "start the emulator for you" feature. For now, in 1.22, we're simply going to prompt:

image

We'll keep watching this issue for additional feedback from people on wanting to "start" instead of "prompt". For future people, some things we'd like to know about are (and some of these are repeat questions from above):

  • Do you use Azurite? If no, what do you use?
  • Would you want Storage Explorer to support starting multiple instances of Azurite for you?
  • Do you want started Azurite instances to keep running after Storage Explorer is closed?
  • Do you want to be able to stop/restart started Azurite instances while Storage Explorer is running?
  • Do you want to be able to see Azurite's output?
  • If you wanted multiple Azurite instances to be started, how would you want to configure the data locations for each instance? For a single instance, we think just having a single setting should be sufficient, but once we start thinking about multiple instances it isn't quite clear.

MRayermannMSFT avatar Nov 29 '21 18:11 MRayermannMSFT

@MRayermannMSFT

Would you want Storage Explorer to support starting multiple instances of Azurite for you?

I could the possibility of wanting to start multiple instances if you are trying to replicate different storage regions with the same names for queues/containers or acting like different clients with the same name queues/containers

Do you want started Azurite instances to keep running after Storage Explorer is closed?

Probably not. I typically only have it running when I start the solution and close it when the solution close (a feature of Jetbrains Rider)

Do you want to be able to stop/restart started Azurite instances while Storage Explorer is running?

For me, probably not

Do you want to be able to see Azurite's output?

The output would be helpful to ensure connection and validating content is being sent/received

If you wanted multiple Azurite instances to be started, how would you want to configure the data locations for each instance? For a single instance, we think just having a single setting should be sufficient, but once we start thinking about m multiple instances it isn't quite clear.

I think if you have multiple instance you would want a configuration with the data location unless you have a default. If a configuration, may like a configuration for port or port range along with storage location, Example

[
 { 
  name: "Client 1",
 queuePort: 10001,
queueStorage: `/client1/queues',
storagePort: 10002,
storageStorage: `/client1/storage'
], etc...

or

[
 { 
  name: 'Client 1'
 portRangeStart: 10000,
storageRoot: '/client1'
]

from the second you could infer the ports based on the standard default ports and infer the storage based on the default storage paths.

jguadagno avatar Nov 30 '21 04:11 jguadagno

I would propose that a 4th button be added that would open command prompt with default azurite start command

OzBob avatar Feb 04 '22 07:02 OzBob

Run Azurite could replace the Install Azurite button, if you do a check for it in the commonly installed places, specifically when installed along side VS 2022

https://learn.microsoft.com/en-us/azure/storage/common/storage-use-azurite?tabs=visual-studio#run-azurite

Install Azurite should be a link and not a button, as it doesn't do the action.

There needs to be a concise way to get going, and running Azurite for most users would be a great step.

Thank you

MrAntix avatar Jun 26 '23 07:06 MrAntix