Azure Hands-on lab - Azure table service issue
- Hi,
I have a problem now with the lab "Using Widows Azure tables". When I run the app I get a Service Unavailable error. Development storage is up and I see that Table service is running.
In the ServiceConfiguration.cscfg file, end point is defined as:
<Setting name="TableStorageEndpoint" value="http://127.0.0.1:10002"/>
I also followed the steps suggested by MEJubran -
Please look in icon tray, bottom right handside on the taskbar, you should see an server icon "development storage"
Right click and select "Show Development Storage UI", check the table service under service management.
If it is stopped, you need to reset, and start the service.
I am still getting the "Service Unavailable error" error.Thanks,
Poornima- ModificatoPoornima_Exch2007 giovedì 30 ottobre 2008 6.13
Risposte
- 2- What is the OS version and the Platform you have
3- Where is the exception thrown? line#, file name? What is the full exception message?
4- Does the following step complete successfully? Recreate the database by right clicking on the cloud service project node and selecting "Create tables". Check the output window to see if the database creation is successful.
5- Try the following: netsh http delete urlacl url=http://+:10002/- Contrassegnato come rispostaPoornima_Exch2007 giovedì 30 ottobre 2008 10.54
Tutte le risposte
- I am not sure what the issue is but you could try to:
- Shutdown the development storage
- Recreate the database by right clicking on the cloud service project node and selecting "Create tables". Check the output window to see if the database creation is successful.
- Restart the development storage and check that the correct database is displayed next to the table service.
- Run the service from VS using F5 - Thanks Vikram.
It still throws the Service Unavailable error.- ModificatoPoornima_Exch2007 giovedì 30 ottobre 2008 6.13
- Poornima,
1) Were you able to do the blob storage lab without any problem?
2) Could you zip up your project and put it somewhere internet accessible and send me the link (jnak at microsoft). I want to isolate whether it's a problem with the sample or a problem with your machine state
3) What is the name of the database the table storage service is running against?
Thanks.
Jim Nakashima, Microsoft. (This post is provided "as-is") - Hi Jim,
Yes, I was able to run the blob storage lab without any problem.
The database name is RdChat.
Can I zip the project and send it to my friend in Microsoft who can forward it to you? Please let me know if this is OK with you.
Thanks,
Poornima - Poornima,
You can send it through your friend or for a more direct feedback channel you can open a bug through VS connect (instructions at http://social.msdn.microsoft.com/Forums/en-US/windowsazure/thread/16537a0a-0c97-45d4-b56f-b9aaa970b498).
You can choose to open a 'public' or 'private' bug based on your comfort with sharing your code.
You can attach files to the bug after you open it.
Hope this helps.
Sumit - Please help answer the following questions so we can assist further:
1- When you run the project in the devfabric does IE show the following message?
Unable to connect to the table storage server. Please check that the service is running.
An error occurred while processing this request.
2- You say you get an exception thrown: "It still throws the Service Unavailable error."
Does this exception occur in code, could point the line # and the file name? What is the full error message?
3- I assume when you did the following step it was successful?
Recreate the database by right clicking on the cloud service project node and selecting "Create tables". Check the output window to see if the database creation is successful.
4- What is the OS version, and the platform?
5- Try the following: netsh http delete urlacl url=http://+:10002/
- 2- What is the OS version and the Platform you have
3- Where is the exception thrown? line#, file name? What is the full exception message?
4- Does the following step complete successfully? Recreate the database by right clicking on the cloud service project node and selecting "Create tables". Check the output window to see if the database creation is successful.
5- Try the following: netsh http delete urlacl url=http://+:10002/- Contrassegnato come rispostaPoornima_Exch2007 giovedì 30 ottobre 2008 10.54
- Hi MEJubran,
Running netsh http delete urlacl url=http://+:10002/ worked!
Thanks a lot for the help.
FYI,
my OS is Vista SP1, platform is VS 2008 SP1.
The exception was thrown at line -TableStorage.CreateTablesFromModel(typeof(MessageDataServiceContext), accountInfo);
in Default.aspx.cs file. The create database used to run successfully.Thanks,Poornima - Let me provide some general guideline of how to diagnose and resolve issues like that (again, I am assuming that you are using the StorageClient sample library for accessing the storage services as in the hand-on labs; you can write your own implemenation of a client for the storage services REST protocols, of course):
(a) If your fist access to any storage service fails, there can the following explanations:
(1) the service is not started (obviously this can only happen if you use the local development storage tool)
(2) you did not configure account information or storage endpoints correctly in the configuration files of your service
(3) there is a mistake when you read in account information in your program
(b) Easiest to check is issue (a1).
(1) Make sure the development storage tool is running (icon in the status bar; if not you can run it over the entry points in the Start menu)
(2) Make sure all services are running; right-click the development storage item and bring up the UI; the status for all services must be "running"
(3) If you use table storage locally, make sure that you selected the right database; again in the Development Storage UI you can see which database is selected in the Name column in the table storage row. The development storage has certain restrictions with respect to the table name; follow the instruction in the Windows Azure documentation.
(4) to make sure everything is in a initial state you can reset all services in development storage using the UI
(5) obviously, you might need to run the netsh command mentioned in this thread; but this should only be necessary in very rare cases
(c) Checking issue (a2) requires you to look at the configuration files. There are typically two kinds of configuration files: csdef/cscfg files of your service and application configuration files (app.config, Web.config). When you use StorageClient, the StorageAccountInfo class will look into all of these files. In most cases you want to use the standard configuration strings (which make is easier to access the configurations from StorageClient). The standard configuration strings are as follows:
DefaultQueueStorageEndpointConfigurationString = "QueueStorageEndpoint";
DefaultBlobStorageEndpointConfigurationString = "BlobStorageEndpoint";
DefaultTableStorageEndpointConfigurationString = "TableStorageEndpoint";
DefaultAccountNameConfigurationString = "AccountName";
DefaultAccountSharedKeyConfigurationString = "AccountSharedKey";
Be aware that when you configure endpoints with StorageClient in your configuration file, the account name is not part of the endpoint, but is specified separately!
Here are two samples of a configuration in a cscfg file:
and<ConfigurationSettings> <Setting name="TableStorageEndpoint" value="http://127.0.0.1:10002/"/> <Setting name="BlobStorageEndpoint" value="http://127.0.0.1:10000/"/> <Setting name="AccountSharedKey" value="FjUfNl1…HHOlA=="/> <Setting name="AccountName" value="devstoreaccount1"/> </ConfigurationSettings>
<ConfigurationSettings> <Setting name="TableStorageEndpoint" value="http://table.core.windows.net/"/> <Setting name="BlobStorageEndpoint" value="http://blob.core.windows.net/"/> <Setting name="AccountSharedKey" value="FjUfNl1KiJ…OHHOlA=="/> <Setting name="AccountName" value="myaccountname"/> </ConfigurationSettings>
Again: note that the account name above is not specified again in the endpoints.
(d) Dealing with issue (a3) requires you to look at your code. In StorageClient, the class to use to read in configuration settings for accessing storage services is the StorageAccountInfo class. It has static methods that access the standard configuration strings (see above; this is used most often) or other configuration strings that you can specify explicitly. Be aware that the class looks up configuration settings in app.config/Web.config and in the settings that you provide for your service in the .csdef/.cscfg files. If the same configuration string is present in mulitple files, the specifications in the .csdef/.cscfg files are always the ones that are considered most relevant.- Proposto come rispostaAleks GershaftMSFT, Moderatorevenerdì 31 ottobre 2008 16.17
- Thanks for the guidelines Frank!
- I'm having the same issue. I'm trying
netsh http delete urlacl url=http://+:10002/
but I'm getting
Error: 2 Could not find file.
Does this mean that the reserved url is already removed, or am i doing something else wrong?
/Mattias - I'm also getting the Error:2 Could not find file.
I have also running the Development Storage succesfully, and when I ran the SDK sample it succesfully created the tables.
Any ideas of what might be wrong?
Thanks I'm also getting the Error:2 Could not find file.
I have also running the Development Storage succesfully, and when I ran the SDK sample it succesfully created the tables.
Any ideas of what might be wrong?
Thanks
am Having the same issue here,
any explanation?I'm also getting the Error:2 Could not find file.
I have also running the Development Storage succesfully, and when I ran the SDK sample it succesfully created the tables.
Any ideas of what might be wrong?
Thanks
am Having the same issue here,
any explanation?
Hi all, I'm having the same issue as Poornima had. Running the netsh command also threw the error 2 (could not find file) but as long as I'm aware, that means it executed successfully but did nothing.
However, I'm still having the service unavailable issue. I've checked my code and my account information but that seems not to be the problem.
Any other pointer we could follow to solve this issue?
Thanks in advance,
JD.-

