SharedAccessSignature Azure

I'm trying to provide 'read-only' access for my blobs via a Web Service. The Web Service has a method that takes in the Blob and Container information and then returns back a URL with the Shared Access Signature that the user can use to access the blob.
Since these images (blobs) are cached on the Phone, I would like to keep the signatures valid for up to 1 day.
I am using the following code:
var blobClient = GetBlobClient();
var container = blobClient.GetContainerReference(containerName);
if (container != null)
container.CreateIfNotExist();
var policy = new SharedAccessPolicy()
SharedAccessStartTime = DateTime.Now,
Permissions = SharedAccessPermissions.Read,
SharedAccessExpiryTime = DateTime.Now.AddDays(days)
if (permissions.Contains("w"))
policy.Permissions = policy.Permissions | SharedAccessPermissions.Write;
policy.SharedAccessExpiryTime = DateTime.Now.AddMinutes(10);
//The shared access policy provides read/write access to the container for 10 hours.
BlobContainerPermissions containerPerms = new BlobContainerPermissions();
// The public access setting explicitly specifies that the container is private,
// so that it can't be accessed anonymously.
containerPerms.PublicAccess = BlobContainerPublicAccessType.Off;
containerPerms.SharedAccessPolicies.Clear();
containerPerms.SharedAccessPolicies.Add("mypolicy", policy);
// Set the permission policy on the container.
container.SetPermissions(containerPerms);
var blob = container.GetBlobReference(blobName);
// Get the shared access signature to share with users.
var blobPolicy = new SharedAccessPolicy();
blobPolicy.SharedAccessExpiryTime = DateTime.Now.AddDays(days);
blobPolicy.Permissions = SharedAccessPermissions.Read;
string sas = blob.GetSharedAccessSignature(blobPolicy, "mypolicy");
return sas;
Every time I try to use this code, I get the following error: Signature did not match. String to sign used was r 2012-01-03T08:38:52Z /myContainer/12100/12409/29cae1b6-2955-4a33-ab27-ff99f0bb6470_m.jpg mypolicy
Can anyone please guide me with this?

I think you may refer to this 
http://msdn.microsoft.com/en-us/library/windowsazure/hh508996.aspx

Similar Messages

  • Is there a way to create a virtual network using C# and the Azure SDK/API?

    I don't see a clear way to create an Azure Virtual Network using the SDK.
    I have all the methods to create the virtual network configuration, but no way to submit it:
    IList<string> VirtualNetworkAddressPrefixes = new List<string>();
    IList<string> LocalNetworkAddressPrefixes = new List<string>();
    IList<NetworkListResponse.DnsServer> DNSServers = new List<NetworkListResponse.DnsServer>();
    IList<NetworkListResponse.Subnet> Subnets = new List<NetworkListResponse.Subnet>();
    NetworkListResponse.Gateway Gateway = new NetworkListResponse.Gateway();
    IList<NetworkListResponse.LocalNetworkSite> LocalSites = new List<NetworkListResponse.LocalNetworkSite>();
    IList<NetworkListResponse.Connection> Connections = new List<NetworkListResponse.Connection>();
    VirtualNetworkAddressPrefixes.Add("a.b.c.d/cidr");
    DNSServers.Add(new NetworkListResponse.DnsServer() { Name = "TestDNS1", Address = "a.b.c.d" });
    Subnets.Add(new NetworkListResponse.Subnet() { Name = "Subnet-1", AddressPrefix = "a.b.c.d/cidr" });
    Subnets.Add(new NetworkListResponse.Subnet() { Name = "GatewaySubnet", AddressPrefix = "a.b.c.d/cidr" });
    Connections.Add(new NetworkListResponse.Connection() { Type = LocalNetworkConnectionType.IPSecurity });
    LocalNetworkAddressPrefixes.Add("a.b.c.d/cidr");
    LocalSites.Add(new NetworkListResponse.LocalNetworkSite()
    Name = "On-Prem",
    Connections = Connections,
    VpnGatewayAddress = "a.b.c.d",
    AddressSpace = new NetworkListResponse.AddressSpace() { AddressPrefixes = LocalNetworkAddressPrefixes }
    Gateway.Sites = LocalSites;
    Gateway.Profile = GatewayProfile.ExtraLarge;
    NetworkManagementClient netMgmtClient = new NetworkManagementClient(CloudCredentials);
    NetworkListResponse netlistresp = GlobalSettings.mainWindow.netMgmtClient.Networks.List();
    netlistresp.VirtualNetworkSites
    .Add(new NetworkListResponse.VirtualNetworkSite()
    Name = "TestVirtualNetwork",
    AddressSpace = new NetworkListResponse.AddressSpace() { AddressPrefixes = VirtualNetworkAddressPrefixes },
    DnsServers = DNSServers,
    Subnets = Subnets,
    AffinityGroup = "East US",
    Gateway = Gateway,
    Label = "LabelValue"
    I have also created the entire XML response and sent it to the NetworkManagementClient -> Networks.SetConfiguration() method, but it appears this command expects the virtual network to already be in existence. If anyone could give guidance, it would be
    appreciated.

    Hi,
    As discuss above , we have to create the XML response  ,before that first you have to
    GetConfiguration() details of existing virtual network. 
    string.format("@<NetworkConfiguration xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns='http://schemas.microsoft.com/ServiceHosting/2011/07/NetworkConfiguration'>
                <VirtualNetworkConfiguration>
                <Dns />
                <VirtualNetworkSites>
                <VirtualNetworkSite name=""{0}"" Location=""{1}"">
                <AddressSpace>
                <AddressPrefix>10.0.0.0/8</AddressPrefix>
                </AddressSpace>
                <Subnets>
                <Subnet name=""Subnet-2"">
                <AddressPrefix>10.0.0.0/11</AddressPrefix>
                </Subnet>
                </Subnets>
                </VirtualNetworkSite>",Networkname,location)+(@"<VirtualNetworkSite name=""demodsf1"" Location=""West Europe"">
            <AddressSpace>
              <AddressPrefix>10.0.0.0/8</AddressPrefix>
            </AddressSpace>
            <Subnets>
              <Subnet name=""Subnet-1"">
                <AddressPrefix>10.0.0.0/11</AddressPrefix>
              </Subnet>
            </Subnets>
          </VirtualNetworkSite>  </VirtualNetworkSites>
                </VirtualNetworkConfiguration>
                </NetworkConfiguration>")
    you have to append the node for existing node with new values , i got it its adding new virtual network 
    Best regards,

  • Remote App and Azure VM

    Hi All.  I have a scenario that I wanted to throw out there to see if anyone has either implemented something familiar or whether or not it can be done at all. 
    I have a small dental practice who is in the process of opening up a couple new remote locations.  They've expressed interest in moving their key LOB (the Practice Management solution) to the cloud and accessing that solution as a published application.
    With that in mind, I'm looking to possibly:
    1.  Spin up a new VM in Azure, utilizing recommended specifications provided by LOB vendor.
    2.  Use the new Azure RemoteApp to publish said LOB to all end-users. 
    Can this be done?  Has anyone else implemented a similar scenario?  I know you can utilize RemoteApp in a Hybrid scenario that would allow you to publish apps that tie in to internally stored servers, databases, etc.  I just can't seem to
    find anything that highlights actually tying RemoteApp in to a solution already housed in the Azure VM environment.  My assumption here is that it can be done, was just hoping to get some valuable feedback from those that have experience doing so.
    Thank you in advance.
    CM

    Hi,
    Yes, it can be done--I have done it.  The key is to connect your RemoteApp Virtual Network (VNet) to your Azure VM VNet.  The article below shows how to configure the VNet to VNet connection:
    How to link Azure RemoteApp to an existing VNET
    http://blogs.msdn.com/b/rds/archive/2014/07/21/how-to-link-azure-remoteapp-to-an-existing-vnet.aspx
    I recommend you place your RemoteApp collection in the same region as your Azure VMs to minimize latency.
    -TP

  • Error while updating a custom Windows Azure Diagnostics configuration xml from powershell. "Invalid update to extension reference for role"

    I am attempting to upload a manually edited WADConfig xml to my VM. The WAD service is functioning correctly, I needed to add some custom WinEventLogs. The prescribed steps result in an error.
    What am I overlooking?
    I am following these instructions:
    Step 5: Remotely install Diagnostics on your Azure Virtual Machine
    azure.microsoft.com/en-in/documentation/articles/cloud-services-dotnet-diagnostics/#virtual-machine
    $storage_name = "wadexamplevm"
    $key = "<StorageAccountKey>"
    $config_path="c:\users\<user>\documents\visual studio 2013\Projects\WadExampleVM\WadExampleVM\WadExample.xml"
    $service_name="wadexamplevm"
    $vm_name="WadExample"
    $storageContext = New-AzureStorageContext
    -StorageAccountName $storage_name -StorageAccountKey $key
    $VM1 = Get-AzureVM
    -ServiceName $service_name -Name $vm_name
    $VM2 = Set-AzureVMDiagnosticsExtension
    -DiagnosticsConfigurationPath $config_path
    -Version "1.*"
    -VM $VM1 -StorageContext $storageContext
    $VM3 = Update-AzureVM
    -ServiceName $service_name -Name $vm_name
    -VM $VM2.VM
    Unfortunately, I am receiving this error:
    Update-AzureVM : BadRequest: Invalid update to extension reference for role: XXXXXX and reference: IaaSDiagnostics.
    What's missing from the above script?

    Hi,
    Since Azure SDK 2.5 uses the extension model the diagnostics extension, the configuration and the connection string to the diagnostic storage are no longer part of the deployment package and cscfg. All the diagnostics configuration is contained within the
    wadcfgx. The advantage with this approach is that diagnostics agent and settings are decoupled from the project and can be dynamically enabled and updated even after your application is deployed. 
    Due to this change some existing workflows need to be rethought – instead of configuring the diagnostics as part of the application that gets deployed to each environment you can first deploy the application to the environment and then apply the diagnostics
    configuration for it.  When you publish the application from Visual Studio this process is done automatically for you. However if you were deploying your application outside of VS using PowerShell then you have to install the extension separately through
    PowerShell.
    There PowerShell cmdlets for managing the diagnostics extensions on a Cloud Service are -
    Set-AzureServiceDiagnosticsExtension
    Get-AzureServiceDiagnosticsExtension
    Remove-AzureServiceDiagnosticsExtension
    You can use the Set-AzureServiceDiagnosticsExtension method to enable diagnostics extension on a cloud service. One of the parameters on this cmdlet is the XML configuration file. This file is slightly different from the diagnostics.wadcfgx file. You can
    create this file from scratch by either following the article that you are referring to or  you can modify the wadcfgx file and pass in the modified file as a parameter to the powershell cmdlet.
    To modify the wadcfgx file –
    Make a copy the .wadcfgx.
    Remove the following elements from the Copy:
    <DiagnosticsConfiguration xmlns="http://schemas.microsoft.com/ServiceHosting/2010/10/DiagnosticsConfiguration">
       <PrivateConfig xmlns="http://schemas.microsoft.com/ServiceHosting/2010/10/DiagnosticsConfiguration">
         <StorageAccount name=" " endpoint="https://core.windows.net/" />
       </PrivateConfig>
       <IsEnabled>false</IsEnabled>
    </DiagnosticsConfiguration>
    Make sure the top of the file still has xml version and encoding –
       <?xml version="1.0" encoding="utf-8"?>
    Effectively you are stripping down the Wadcfgx to only contain the <PublicConfig> section and the <?xml> header. You can then call the PowerShell cmdlet along with the appropriate parameters for the staging slots and roles:
    $storage_name = ‘
    <storagename>’
    $key= ‘<key>’
    $service_name = '<servicename>'
    $public_config = '<thepublicconfigfrom_diagnostics.wadcfgx>'
    $storageContext = New-AzureStorageContext –StorageAccountName $storage_name –StorageAccountKey $key
    Set-AzureServiceDiagnosticsExtension -StorageContext $storageContext -DiagnosticsConfigurationPath $public_config –ServiceName $service_name -Slot ‘Staging’ -Role ‘WebRole1’
    Hope this helps !
    Regards,
    Sowmya

  • $100 to the person that can work with me on getting Lightswitch, Telerik Reporting, Azure reporting service working.

    I give up. I am not a professional developer however I am pretty good at coding. But I have limitations and do not understand how all the pieces fit together when it comes to WCF, LightSwitch and Telerik Reporting service.
    I have spent the better part of the past 5 evenings attempting to deploy a WCF service to my azure account to create reports for my application.  I know this should be simple but I cannot find an example that ties all the pieces together.
    I have a
    working lightswitch application deployed to Azure
    20+ working telerik reports created in a separate project (Reports have parameters that is one of the problems)
    No way to get the two to talk together.
    If you have experience and feel you can help me please respond to this post and I will set up some time for us to work together online.
    Regards a very frustrated part time developer
    Cliff
    P.S. Sorry if this is an inappropriate use of the forum but I am at my wits end!

    (I am not in the running for the 'bounty' just trying to help on the WCF RIA part...)
    When you deploy the application to Azure you should be able to hit the WCF RIA Service using:
    site/{class name}.svc/
    For example if you look at the reports I have in this example:
    LightSwitch Survey: Handling
    Complex Business Logic Using WCF RIA Services
    You can use the live application at the following link: https://survey.lightswitchhelpwebsite.com/HTMLClient (use your
    username and password from
    LightSwitchHelpWebsite.com)
    The call in Fiddler looks like this:
    /WCF_RIA_ServiceData.svc/SurveyResults?$filter=(SurveyId%20eq%202)&$top=45&$inlinecount=allpages
    This is what your reports should be calling. Can you get this far?
    Unleash the Power - Get the LightSwitch 2013 HTML Client / SharePoint 2013 book
    http://LightSwitchHelpWebsite.com

  • Can't view or edit Application Insights webtests in the new Azure Portal

    I'm in the process of setting up Application Insights for an Azure Cloud Services Web Role.  Things have been looking good so far - I've enabled App Insights telemetry to the VS2013 solution, configured correctly and am getting usage/monitoring data
    displayed in the NEW Azure Portal (portal.azure.com).
    I set up my first "webtest" on Friday to monitor the site availability from three separate locations around the world and alert when down; however, logging in today shows my webtests graph as blank, i.e. contains no data. 
    Usually, when this is the case, there's a link provided to create new webtests, but since I've already added a webtest, this is no longer the case.  So I can neither view or edit my existing webtest, nor create a new one.  I have tried clearing
    my browser private data and even use a different browser but the result is the same.  I have also tried deleting and recreating the Application Insights instance with the same name but the result is the same (although the data from the deleted instance
    remains...).  My only recourse is to create a new, differently named Application Insights instance and set it all up again, losing the telemetry collected so far.  This isn't such a big deal during the prototype stage, but when this goes into effect
    on the production site, deleting and starting from scratch whenever there's a webtests problem isn't going to be an option.
    How do I view/edit/clear existing webtests?  Is it possible to do this through Azure PowerShell or the Azure SDK?

    Hi Chris Haigh,
    We are working on this thread and will try to reply with the proper resolution as soon as possible.
    Regards,
    Azam khan

  • Not able to view CrystalReportViewer in Azure Application.

    Hi All,
    We have an application which was developed in VS 2005 with .Net framework 2.0 and crystal report version 10.
    We have migrated this application to azure using VS 2013 with .Net framework 4.5 and crystal report version 13.2.
    We have included the Crystal report msi in the package for deploying it on azure.
    We have used the CrystalReportViewer on one of the page in our application to view the reports but we are not able to view it.
    Thanks

    Here is a KBA that discusses Azure and CR:
    1765620 - What version of Crystal Reports supports Windows Azure?
    Note that the simple string "crystal azure" in the search box at the top right corner found the above as the very 1st hit. E.g.; please search 1st...
    The KBA points to the SAP Idea Place where anyone can ask for an enhancement to CR. Note that the Idea has been viewed 264 times and only voted up 4 times (one of those votes is mine). E.g.; it does not appear to be a highly demanded enhancement and I do not believe it will ever see the light of day.
    - Ludek
    Senior Support Engineer AGS Product Support, Global Support Center Canada
    Follow us on Twitter

  • SQL azure database size not dropping down after deleting all table

    Dear all,
    I have a simple database on Azure for which I have deleted all table data. The size of the database is still showing 5Mb of data and I am charge for that. I have heard that this may happen from cluster index getting fragmented.
    I have run  a querry I found on internet on all my table index to show percentage of fragmentation and all report 0%.
    DBA is not so my job but what could it be or how can I reduce that size ?
    ON premise I would use COMPACT DB but not available in azure like some others DB action
    Thnaks for tips
    regards

    user created objects/data are not the only ones stored in your database. you got system objects and metadata as Mike mentions above.
    are you trying to skip being charged if you're not storing data? looking at the pricing table,  you'll still get charged the $4.995 for the 0-100MB database size range.

  • Unable to log in Azure Linux VM using username and password

    I tried creating a Linux VM (Cent OS based) using PowerShell. I was able to provision the VM, but when i tried to log in using the credentials in the VM using Putty,  I get an error message stating "No supported authentication methods available
    (server sent : publicKey).
    Although when i create a VM through Azure portal using the same image i don't find any issues to login the VM. Please find below the PowerShell commands i used to provision Linux VM.
    Option 1:
    New-AzureQuickVM -Linux -ServiceName "customdatalinux" -Name "customdatalinux" -ImageName "0b11de9248dd4d87b1862
    1318e037d37__RightImage-CentOS-7.0-x64-v14.2" -Password "******" -Location "East US" -LinuxUser "*****" -InstanceSize "ExtraSmall"
    Option 2:
    PS C:\> $vm1 = New-AzureVMConfig -Name "customdatalinux" -InstanceSize "ExtraSmall" -ImageName "0b11de9248dd4d87b18621318e037d37__RightImage-CentOS-7.0-x64-v14.2" | Add-AzureProvisioningConfig -Linux -LinuxUser "*****"
    -Password "*****"
    New-AzureVM -ServiceName "customdatalinux" -VMs $vm1
    Option 3:
    $vm1 = New-AzureVMConfig -Name "customdatalinux" -InstanceSize "ExtraSmall" -ImageName "0b11de9248dd4d87b1862131
    8e037d37__RightImage-CentOS-7.0-x64-v14.2" | Add-AzureProvisioningConfig -Linux -LinuxUser "****" -Password "*****" | Set-AzureEndpoint -Name "SSH" -Protocol "TCP" -Loc
    alPort "22" -PublicPort "22"
    New-AzureVM -ServiceName "customdatalinux" -VMs $vm1
    In the Azure portal i can see that there is an option to select credentials authentication alone, where i can enter the password and provision a VM. I try to do the same through PowerShell and VM gets provisioned, but am unable to log in the VM using those
    credentials.
    Can you please let me know how to resolve this issue?
    Thanks,
    Anish

    Try this
    azure vm create customdatalinux0b11de9248dd4d87b18621318e037d37__RightImage-CentOS-7.0-x64-v14.2 username password -l "West US"By default, linux VM on Azure has Port 22 opened so you don't have to configure those unless you want to change port. Also loose | and '' in commands.
    Creating new VM creates new service unless you want to use one already created.
    Mustafa Toroman

  • "The CREATE USER statement must be the only statement in the batch" in SQL Azure - why? what to do?

    I'm getting an error on a line in the middle of a larger sql script, only in SQL Azure.
    IF NOT EXISTS (SELECT * FROM sys.database_principals WHERE name = N'foouser')
    CREATE USER [foouser] FOR LOGIN [foouser] WITH DEFAULT_SCHEMA=[dbo]
    GO
    Error: "The CREATE USER statement must be the only statement in the batch."
    I don't actually understand what 'the only statement in the batch' means.
    What is a batch? Is it a SQL file? Is it related to a 'GO' statement or an 'IF' statement? What is the reason for the error? And how do I avoid it?
    Thanks,
    Tim

    >IF...ELSE imposes conditions on the execution of a Transact-SQL statement
    I understand the general purpose of an If statement. I could let go of our definition of statement counting disagreeing too except that because of the error I'm stuck.
    It's less important for Create User but what I am really puzzled over now is a very similar issue how am I supposed to do a safe version of CREATE LOGIN, when I don't know whether a login has been previously created on the server or whether I
    am setting up the database on a clean server?
    IF NOT EXISTS (SELECT * FROM sys.server_principals WHERE name = N'foouser')
    CREATE LOGIN [foouser] WITH PASSWORD = 'asdfasdf'
    GO
    If I try and execute this script, it throws the same error as above.
    The first unworkable workaround idea is to omit the if statement
    CREATE LOGIN [foouser] WITH PASSWORD = 'asdfasdf'
    GO
    But if the login already exists on the server (because a similar script was already run), then the script throws an error.
    The second unworkable workaround idea is to do
    DROP LOGIN [foouser]
    GO
    CREATE LOGIN [foouser] WITH PASSWORD = 'asdfasdf'
    GO
    Obviously this throws an error in the second block if the login doesn't already exist on the server.
    The third workaround idea I have is to go conditional by putting an IF condition around DROP instead of CREATE:
    Unfortunately that doesn't work for me either!
    "The DROP LOGIN statement must be the only statement in the batch"
    (This is despite the fact that 'drop login' is listed on the
    supported commands page, not the partially supported page..?! Which disagrees with the notes on
    this page.)
    Anyway the real question I am interesting in addressing is: is there actually a way to have a 'Create/Delete login
    if exists' operation which is SQL-Azure compatible and doesn't throw me error messages (which messes with the sql execution tool I am using)?
    If there is no way, I would like to believe it's because it would be a bad idea to do this. But in that case why is it a bad idea?
    Tim

  • What is the difference between Azure RemoteApp Basic vs Standard Plans in terms of compute cores and memory?

    So our customer has asked us to compare compare Amazon Workspace and Azure RemoteApp offerings for them to choose from. While looking at Amazon Workspace, it clealy defines bundles with specific CPU cores, memory and user storage. However, Azure RemoteApp
    only specifies user storage and vaguely compares its basic vs. standard plans in terms of "task worker" vs. "information worker"
    I tried looking up its documentation but couldn't find specific CPU cores that are dedicated per user in basic vs. standard plans. I have following questions:
    Can anyone point me in the right direction or help understand how many CPU cores and memory are dedicated (or shared) per user in each plan?
    Our customer would most likely need a "custom" image for their custom apps. Is it possible for us to choose specific CPU cores and memory for the users to be able to run their apps in azure remoteapp?
    In case i am misunderstanding the basic difference between AWS workspace and Azure RemoteApp, i'd appreciate some help in understanding it as well.
    Thanks!

    Hi,
    With Azure RemoteApp users see just the applications themselves, and the applications appear to be running on their local machine similar to other programs.  With Workspaces users connect to a full desktop and launch applications within that.
    1. Azure RemoteApp currently uses size A3 Virtual Machines, which have 4 vCPUs and 7GB RAM.  Under Basic each VM can have a maximum of 16 users using it whereas under Standard each VM is limited to 10 users.  The amount of CPU available
    to a user depends on what the current demands are on the CPU at that moment from other users and system processes that may be on the server.
    For example, say a user is logged on to a VM with 3 other users and the other users are idle (not consuming any CPU).  At that moment the user could use all 4 vCPUs if a program they are running needed to.  If a few moments later
    the other 3 users all needed lots of CPU as well, then the first user would only have approximately 1 vCPU for their use.  The process is dynamic and seeks to give each user their fair share of available CPU when there are multiple users demanding CPU.
    Under the Standard plan a user will receive approximately a minimum of .4 vCPU assuming that the VM has the maximum number of users logged on and that all users are using as much CPU as possible at a given moment.  Under the Basic plan the approximate
    minimum would be .25 vCPU.
    2. You cannot choose the specific number of cores and memory.  What you can do is choose the Azure RemoteApp billing plan, which affects the user density of each VM as described above.  If you need a lower density than Standard you
    may contact support.
    -TP

  • Is this the best design for asynchronous notifications (such as email)? Current design uses Web Site, Azure Service Bus Queue, Table Storage and Cloud Service Worker Role.

    I am asking for feedback on this design. Here is an example user story:
    As a group admin on the website I want to be notified when a user in my group uploads a file to the group.
    Easiest solution would be that in the code handling the upload, we just directly create an email message in there and send it. However, this seems like it isn't really the appropriate level of separation of concerns, so instead we are thinking to have a separate
    worker process which does nothing but send notifications. So, the website in the upload code handles receiving the file, extracting some metadata from it (like filename) and writing this to the database. As soon as it is done handling the file upload it then
    does two things: Writes the details of the notification to be sent (such as subject, filename, etc...) to a dedicated "notification" table and also creates a message in a queue which the notification sending worker process monitors. The entire sequence
    is shown in the diagram below.
    My questions are: Do you see any drawbacks in this design? Is there a better design? The team wants to use Azure Worker Roles, Queues and Table storage. Is it the right call to use these components or is this design unnecessarily complex? Quality attribute
    requirements are that it is easy to code, easy to maintain, easy to debug at runtime, auditable (history is available of when notifications were sent, etc...), monitor-able. Any other quality attributes you think we should be designing for?
    More info:
    We are creating a cloud application (in Azure) in which there are at least 2 components. The first is the "source" component (for example a UI / website) in which some action happens or some condition is met that triggers a second component or "worker"
    to perform some job. These jobs have details or metadata associated with them which we plan to store in Azure Table Storage. Here is the pattern we are considering:
    Steps:
    Condition for job met.
    Source writes job details to table.
    Source puts job in queue.
    Asynchronously:
    Worker accepts job from queue.
    Worker Records DateTimeStarted in table.
    Queue marks job marked as "in progress".
    Worker performs job.
    Worker updates table with details (including DateTimeCompleted).
    Worker reports completion to queue.
    Job deleted from queue.
    Please comment and let me know if I have this right, or if there is some better pattern. For example sake, consider the work to be "sending a notification" such as an email whose template fields are filled from the "details" mentioned in
    the pattern.

    Hi,
    Thanks for your posting.
    This development mode can exclude some errors, such as the file upload complete at the same time... from my experience, this is a good choice to achieve the goal.
    Best Regards,
    Jambor  
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • Deployment to Azure Web App from TFS not updating

    Hi all,
    I'm having a problem with deployments to my azure web app. I'm committing my code to Visual Studio Online and then running a build to get VSO to deploy the code to Azure. The deployment seems to work fine (there are no errors that I can see)
    but often the files aren't updating on the website. I'm getting errors for old code and when I view the pages in question online (using the VSO editor), they look fine. Has anyone come across this issue before?

    Hi David,
    The errors I've been getting belong to old versions of files not being refreshed. For example, I changed one of my mvc views to take a different model. After deploying the code, the controller was sending in the new model but because the view didn't update,
    it was expecting the old model to be passed in and hence caused a runtime error. It seems to me like Azure is caching certain files. I think that is the case because when I viewed that view file I changed in the VSO editor, it showed the correct code but the
    front end was still showing the old code.
    The only thing I've been able to do that has worked reliably over the last week is stopping the website, deploying the code and then starting the website. The code gets deployed correctly every time I do that. This is not an ideal scenario and I'm hoping
    there's something that can be done.

  • Publishing to Azure Web App when using nuget "Microsoft.SqlServer.Types" crashes WebDeploy

    I have a project where I use "Microsoft.SqlServer.Types" that loads an assembly manually as part of the package.
    The problem arises when I publish this via Visual Studio. I get an error that the file is already in use from WebDeploy. This is probably because of how the assemblies are loaded or something that makes them locked.
    Repro steps:
    Create an ASP.NET web and add nuget package "Microsoft.SqlServer.Types" and make sure you load the assembly using the provided ReadMe.txt in your App_Start.
    Deploy to Azure Web App.
    Deplay again when the app is up and running - you'll get the error.
    Does WebDeploy have an option for shutting down the site when updating or something like that? This error also apply to any WebJobs that also use the "Microsoft.SqlServer.Types" package.

    there is a way to take the site down during publishing please read through this blog post 
    http://blogs.msdn.com/b/webdev/archive/2013/10/30/web-publishing-updates-for-app-offline-and-usechecksum.aspx
    please read the part about appoffline
    Thanks, Hosam

  • Integrating a PHP Web App with an Existing Azure Mobile Services and Mobile App

    I've got an existing mobile app that is integrated with Azure's mobile services. The mobile services are currently connected to Azure Active Directory with MFA enabled. I'd like to build a separate PHP-based web application (Azure VM) that uses this existing
    mobile service and authentication.
    I reviewed the Azure PHP SDK, but didn't see any tie-ins to the Mobile Service. Additionally, Azure has some great tutorials, but for mobile services they all seem to focus on iOS, Android, and Windows phone. Any insight into how to tie a PHP-app into this
    backend would be much appreciated!

    Although there isn't any client library for PHP, you can still access Mobile Service using the
    Azure Mobile Service REST API.
    Abdulwahab Suleiman

Maybe you are looking for

  • Dynamic Images in adobe

    Hello All, I have a requirement for dynamic images on Adobe form. I have some images stored on portal server in a afolder called images which gets upadeted every hour . I have developed a java webservice which can get this images from the portal serv

  • Can I slice a section out of a 3D sphere in Photoshop CC 2014?

    Is there a way I can slice a section out of a 3D sphere in Photoshop CC 2014? Like if you took a perfectly round watermelon and sliced a 4 inch slice from its middle so that from the top the slice would look like a circle, and straight-on from the fr

  • Lockup in JDev

    Start laptop (Dell Inspiron 7500, 650Mhz with 384 Meg ram running NT 4.0.00.1381, SP5?), start JDev 3.1.1.2 (Oracle Server 8.1.5 is running too). click Tools, invoke sqlplus. select connection, sqlplus window opens. Click tools gain, invoke sqlplus.

  • The song could not be used

    I keep getting the following message: The song "-----" could not be used because the original file could not be found. Would you like to locate it? When I click on locate a field for file name comes up but nothing is there. Any hints?

  • This is a complain!!!!!!

    i have 2 year contract with verizon when i got my iphone4s, last year, my contact ended, i asked if i can finally unlock my phone, since i travel sometimes, need a phone i can go anywhere with. one of the worker probably is the manager (because she d