{"action":"created","issue":{"url":"https://api.github.com/repos/Azure/azure-storage-net/issues/112","labels_url":"https://api.github.com/repos/Azure/azure-storage-net/issues/112/labels{/name}","comments_url":"https://api.github.com/repos/Azure/azure-storage-net/issues/112/comments","events_url":"https://api.github.com/repos/Azure/azure-storage-net/issues/112/events","html_url":"https://github.com/Azure/azure-storage-net/issues/112","id":59878797,"number":112,"title":"Add API to Upload blob and set properties in single request. ","user":{"login":"IlyaGrebnov","id":773346,"avatar_url":"https://avatars.githubusercontent.com/u/773346?v=3","gravatar_id":"","url":"https://api.github.com/users/IlyaGrebnov","html_url":"https://github.com/IlyaGrebnov","followers_url":"https://api.github.com/users/IlyaGrebnov/followers","following_url":"https://api.github.com/users/IlyaGrebnov/following{/other_user}","gists_url":"https://api.github.com/users/IlyaGrebnov/gists{/gist_id}","starred_url":"https://api.github.com/users/IlyaGrebnov/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/IlyaGrebnov/subscriptions","organizations_url":"https://api.github.com/users/IlyaGrebnov/orgs","repos_url":"https://api.github.com/users/IlyaGrebnov/repos","events_url":"https://api.github.com/users/IlyaGrebnov/events{/privacy}","received_events_url":"https://api.github.com/users/IlyaGrebnov/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-03-04T23:17:06Z","updated_at":"2015-03-07T00:35:55Z","closed_at":"2015-03-07T00:35:55Z","body":"Based on MSDN pages PutBlob and PutBlockList REST API support passing blob properties inline with content via headers like \"x-ms-blob-content-encoding\", \"x-ms-blob-content-type\" and \"x-ms-blob-content-disposition\". \r\n\r\nUnfortunately, Azure Storage library doesn't support this. As result we have to call UploadBlob API and after that call SetProperties.\r\n\r\nNote, this feature request is not about performance, but more about consistency. If initial storage request succeed, but  SetProeprties failed(timeouts, app crash, etc.) result will lead to corrupted state. \r\nThis is particularly important if blob is public and download from browser directly. See \"x-ms-blob-content-encoding\" for more details.\r\n\r\nAzure storage team, I am asking to review this feature requests and strongly consider it for next storage library version.\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/Azure/azure-storage-net/issues/comments/77661813","html_url":"https://github.com/Azure/azure-storage-net/issues/112#issuecomment-77661813","issue_url":"https://api.github.com/repos/Azure/azure-storage-net/issues/112","id":77661813,"user":{"login":"IlyaGrebnov","id":773346,"avatar_url":"https://avatars.githubusercontent.com/u/773346?v=3","gravatar_id":"","url":"https://api.github.com/users/IlyaGrebnov","html_url":"https://github.com/IlyaGrebnov","followers_url":"https://api.github.com/users/IlyaGrebnov/followers","following_url":"https://api.github.com/users/IlyaGrebnov/following{/other_user}","gists_url":"https://api.github.com/users/IlyaGrebnov/gists{/gist_id}","starred_url":"https://api.github.com/users/IlyaGrebnov/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/IlyaGrebnov/subscriptions","organizations_url":"https://api.github.com/users/IlyaGrebnov/orgs","repos_url":"https://api.github.com/users/IlyaGrebnov/repos","events_url":"https://api.github.com/users/IlyaGrebnov/events{/privacy}","received_events_url":"https://api.github.com/users/IlyaGrebnov/received_events","type":"User","site_admin":false},"created_at":"2015-03-07T00:35:55Z","updated_at":"2015-03-07T00:35:55Z","body":"Sorry, this was my miss-understanding. You could upload blob and set properties/metadata. My confusion is coming from online samples and API documentation. I was under impression that calls to SetProperties/FetchAttributes are necessary. This is not correct."}}