Can you specify encoding type when uploading a file to Azure storage blob using Set-AzureStorageBlobContent or ConvertTo-Json cmdlet?









up vote
0
down vote

favorite












I have a PowerShell script that downloads a JSON file stored in an Azure storage account blob. This file is in UTF-8 encoding. The script then reads from the JSON, makes the changes, creates a new JSON file with the same name, and uploads that back to the storage account using Set-AzureStorageBlobContent cmdlet. However, all the applications that were using that JSON file stopped working. After hours of troubleshooting, I noticed that when it uploads the new JSON back to the storage container (replacing the existing one), it uploads the JSON in a UTF-16 encoding.



Is there a parameter in Set-AzureStorageBlobContent cmdlet where I can specify the encoding? I looked into the official documentation but couldn't find an answer.



Before I upload the new JSON in, all the values are stored in a variable and I actually use the cmdlet ConvertTo-Json to generate the new JSON file. Is there a parameter in ConvertTo-Json to specify the encoding type?



Right now, all I use to upload the file is:



$jsonContent | ConvertTo-Json -Depth 4 | Out-File C:P3myFile.json

Set-AzureStorageBlobContent -Context $storageContext -Container "myContainer" -File "myFile.JSON" -Force


Please advise!










share|improve this question

























    up vote
    0
    down vote

    favorite












    I have a PowerShell script that downloads a JSON file stored in an Azure storage account blob. This file is in UTF-8 encoding. The script then reads from the JSON, makes the changes, creates a new JSON file with the same name, and uploads that back to the storage account using Set-AzureStorageBlobContent cmdlet. However, all the applications that were using that JSON file stopped working. After hours of troubleshooting, I noticed that when it uploads the new JSON back to the storage container (replacing the existing one), it uploads the JSON in a UTF-16 encoding.



    Is there a parameter in Set-AzureStorageBlobContent cmdlet where I can specify the encoding? I looked into the official documentation but couldn't find an answer.



    Before I upload the new JSON in, all the values are stored in a variable and I actually use the cmdlet ConvertTo-Json to generate the new JSON file. Is there a parameter in ConvertTo-Json to specify the encoding type?



    Right now, all I use to upload the file is:



    $jsonContent | ConvertTo-Json -Depth 4 | Out-File C:P3myFile.json

    Set-AzureStorageBlobContent -Context $storageContext -Container "myContainer" -File "myFile.JSON" -Force


    Please advise!










    share|improve this question























      up vote
      0
      down vote

      favorite









      up vote
      0
      down vote

      favorite











      I have a PowerShell script that downloads a JSON file stored in an Azure storage account blob. This file is in UTF-8 encoding. The script then reads from the JSON, makes the changes, creates a new JSON file with the same name, and uploads that back to the storage account using Set-AzureStorageBlobContent cmdlet. However, all the applications that were using that JSON file stopped working. After hours of troubleshooting, I noticed that when it uploads the new JSON back to the storage container (replacing the existing one), it uploads the JSON in a UTF-16 encoding.



      Is there a parameter in Set-AzureStorageBlobContent cmdlet where I can specify the encoding? I looked into the official documentation but couldn't find an answer.



      Before I upload the new JSON in, all the values are stored in a variable and I actually use the cmdlet ConvertTo-Json to generate the new JSON file. Is there a parameter in ConvertTo-Json to specify the encoding type?



      Right now, all I use to upload the file is:



      $jsonContent | ConvertTo-Json -Depth 4 | Out-File C:P3myFile.json

      Set-AzureStorageBlobContent -Context $storageContext -Container "myContainer" -File "myFile.JSON" -Force


      Please advise!










      share|improve this question













      I have a PowerShell script that downloads a JSON file stored in an Azure storage account blob. This file is in UTF-8 encoding. The script then reads from the JSON, makes the changes, creates a new JSON file with the same name, and uploads that back to the storage account using Set-AzureStorageBlobContent cmdlet. However, all the applications that were using that JSON file stopped working. After hours of troubleshooting, I noticed that when it uploads the new JSON back to the storage container (replacing the existing one), it uploads the JSON in a UTF-16 encoding.



      Is there a parameter in Set-AzureStorageBlobContent cmdlet where I can specify the encoding? I looked into the official documentation but couldn't find an answer.



      Before I upload the new JSON in, all the values are stored in a variable and I actually use the cmdlet ConvertTo-Json to generate the new JSON file. Is there a parameter in ConvertTo-Json to specify the encoding type?



      Right now, all I use to upload the file is:



      $jsonContent | ConvertTo-Json -Depth 4 | Out-File C:P3myFile.json

      Set-AzureStorageBlobContent -Context $storageContext -Container "myContainer" -File "myFile.JSON" -Force


      Please advise!







      json azure blob azure-powershell azure-storage-account






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Nov 9 at 0:44









      DivZ

      334




      334






















          2 Answers
          2






          active

          oldest

          votes

















          up vote
          1
          down vote













          Of course you can, try the command below.



          Set-AzureStorageBlobContent -Context $context -Container "111" -File "C:UsersjoywDesktoptestjson.json" -Properties @"ContentEncoding" = "UTF-8" -Force


          enter image description here



          Catch the request of the powershell, you will find x-ms-blob-content-encoding: UTF-8.



          enter image description here






          share|improve this answer




















          • Thanks for the quick response. Your solution didn't entirely work but definitely helped. Please see the answer I posted below.
            – DivZ
            Nov 9 at 23:23










          • @DivZ Could you accept my answer? Anyway I give you the direction.;-)
            – Joy Wang
            Nov 12 at 2:53


















          up vote
          0
          down vote













          Figured out the solution:



          $JSONConvert = $jsonContent | ConvertTo-Json -Depth 4
          $JSONEncode = [System.Text.UTF8Encoding]::new($false)
          [System.IO.File]::WriteAllLines('C:P3myFile.JSON',$JSONConvert ,$JSONEncode)

          Set-AzureStorageBlobContent -Context $storageContext -Container "myContainer" -File "myFile.JSON" -Properties @"ContentEncoding" = "UTF-8" -Force


          This will upload a UTF-8 encoded JSON file to the blob.






          share|improve this answer




















            Your Answer






            StackExchange.ifUsing("editor", function ()
            StackExchange.using("externalEditor", function ()
            StackExchange.using("snippets", function ()
            StackExchange.snippets.init();
            );
            );
            , "code-snippets");

            StackExchange.ready(function()
            var channelOptions =
            tags: "".split(" "),
            id: "1"
            ;
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function()
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled)
            StackExchange.using("snippets", function()
            createEditor();
            );

            else
            createEditor();

            );

            function createEditor()
            StackExchange.prepareEditor(
            heartbeatType: 'answer',
            convertImagesToLinks: true,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: 10,
            bindNavPrevention: true,
            postfix: "",
            imageUploader:
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            ,
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            );



            );













            draft saved

            draft discarded


















            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53218248%2fcan-you-specify-encoding-type-when-uploading-a-file-to-azure-storage-blob-using%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown

























            2 Answers
            2






            active

            oldest

            votes








            2 Answers
            2






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes








            up vote
            1
            down vote













            Of course you can, try the command below.



            Set-AzureStorageBlobContent -Context $context -Container "111" -File "C:UsersjoywDesktoptestjson.json" -Properties @"ContentEncoding" = "UTF-8" -Force


            enter image description here



            Catch the request of the powershell, you will find x-ms-blob-content-encoding: UTF-8.



            enter image description here






            share|improve this answer




















            • Thanks for the quick response. Your solution didn't entirely work but definitely helped. Please see the answer I posted below.
              – DivZ
              Nov 9 at 23:23










            • @DivZ Could you accept my answer? Anyway I give you the direction.;-)
              – Joy Wang
              Nov 12 at 2:53















            up vote
            1
            down vote













            Of course you can, try the command below.



            Set-AzureStorageBlobContent -Context $context -Container "111" -File "C:UsersjoywDesktoptestjson.json" -Properties @"ContentEncoding" = "UTF-8" -Force


            enter image description here



            Catch the request of the powershell, you will find x-ms-blob-content-encoding: UTF-8.



            enter image description here






            share|improve this answer




















            • Thanks for the quick response. Your solution didn't entirely work but definitely helped. Please see the answer I posted below.
              – DivZ
              Nov 9 at 23:23










            • @DivZ Could you accept my answer? Anyway I give you the direction.;-)
              – Joy Wang
              Nov 12 at 2:53













            up vote
            1
            down vote










            up vote
            1
            down vote









            Of course you can, try the command below.



            Set-AzureStorageBlobContent -Context $context -Container "111" -File "C:UsersjoywDesktoptestjson.json" -Properties @"ContentEncoding" = "UTF-8" -Force


            enter image description here



            Catch the request of the powershell, you will find x-ms-blob-content-encoding: UTF-8.



            enter image description here






            share|improve this answer












            Of course you can, try the command below.



            Set-AzureStorageBlobContent -Context $context -Container "111" -File "C:UsersjoywDesktoptestjson.json" -Properties @"ContentEncoding" = "UTF-8" -Force


            enter image description here



            Catch the request of the powershell, you will find x-ms-blob-content-encoding: UTF-8.



            enter image description here







            share|improve this answer












            share|improve this answer



            share|improve this answer










            answered Nov 9 at 2:06









            Joy Wang

            5,5002212




            5,5002212











            • Thanks for the quick response. Your solution didn't entirely work but definitely helped. Please see the answer I posted below.
              – DivZ
              Nov 9 at 23:23










            • @DivZ Could you accept my answer? Anyway I give you the direction.;-)
              – Joy Wang
              Nov 12 at 2:53

















            • Thanks for the quick response. Your solution didn't entirely work but definitely helped. Please see the answer I posted below.
              – DivZ
              Nov 9 at 23:23










            • @DivZ Could you accept my answer? Anyway I give you the direction.;-)
              – Joy Wang
              Nov 12 at 2:53
















            Thanks for the quick response. Your solution didn't entirely work but definitely helped. Please see the answer I posted below.
            – DivZ
            Nov 9 at 23:23




            Thanks for the quick response. Your solution didn't entirely work but definitely helped. Please see the answer I posted below.
            – DivZ
            Nov 9 at 23:23












            @DivZ Could you accept my answer? Anyway I give you the direction.;-)
            – Joy Wang
            Nov 12 at 2:53





            @DivZ Could you accept my answer? Anyway I give you the direction.;-)
            – Joy Wang
            Nov 12 at 2:53













            up vote
            0
            down vote













            Figured out the solution:



            $JSONConvert = $jsonContent | ConvertTo-Json -Depth 4
            $JSONEncode = [System.Text.UTF8Encoding]::new($false)
            [System.IO.File]::WriteAllLines('C:P3myFile.JSON',$JSONConvert ,$JSONEncode)

            Set-AzureStorageBlobContent -Context $storageContext -Container "myContainer" -File "myFile.JSON" -Properties @"ContentEncoding" = "UTF-8" -Force


            This will upload a UTF-8 encoded JSON file to the blob.






            share|improve this answer
























              up vote
              0
              down vote













              Figured out the solution:



              $JSONConvert = $jsonContent | ConvertTo-Json -Depth 4
              $JSONEncode = [System.Text.UTF8Encoding]::new($false)
              [System.IO.File]::WriteAllLines('C:P3myFile.JSON',$JSONConvert ,$JSONEncode)

              Set-AzureStorageBlobContent -Context $storageContext -Container "myContainer" -File "myFile.JSON" -Properties @"ContentEncoding" = "UTF-8" -Force


              This will upload a UTF-8 encoded JSON file to the blob.






              share|improve this answer






















                up vote
                0
                down vote










                up vote
                0
                down vote









                Figured out the solution:



                $JSONConvert = $jsonContent | ConvertTo-Json -Depth 4
                $JSONEncode = [System.Text.UTF8Encoding]::new($false)
                [System.IO.File]::WriteAllLines('C:P3myFile.JSON',$JSONConvert ,$JSONEncode)

                Set-AzureStorageBlobContent -Context $storageContext -Container "myContainer" -File "myFile.JSON" -Properties @"ContentEncoding" = "UTF-8" -Force


                This will upload a UTF-8 encoded JSON file to the blob.






                share|improve this answer












                Figured out the solution:



                $JSONConvert = $jsonContent | ConvertTo-Json -Depth 4
                $JSONEncode = [System.Text.UTF8Encoding]::new($false)
                [System.IO.File]::WriteAllLines('C:P3myFile.JSON',$JSONConvert ,$JSONEncode)

                Set-AzureStorageBlobContent -Context $storageContext -Container "myContainer" -File "myFile.JSON" -Properties @"ContentEncoding" = "UTF-8" -Force


                This will upload a UTF-8 encoded JSON file to the blob.







                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Nov 9 at 23:22









                DivZ

                334




                334



























                    draft saved

                    draft discarded
















































                    Thanks for contributing an answer to Stack Overflow!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid


                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.

                    To learn more, see our tips on writing great answers.





                    Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


                    Please pay close attention to the following guidance:


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid


                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.

                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function ()
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53218248%2fcan-you-specify-encoding-type-when-uploading-a-file-to-azure-storage-blob-using%23new-answer', 'question_page');

                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    Popular posts from this blog

                    𛂒𛀶,𛀽𛀑𛂀𛃧𛂓𛀙𛃆𛃑𛃷𛂟𛁡𛀢𛀟𛁤𛂽𛁕𛁪𛂟𛂯,𛁞𛂧𛀴𛁄𛁠𛁼𛂿𛀤 𛂘,𛁺𛂾𛃭𛃭𛃵𛀺,𛂣𛃍𛂖𛃶 𛀸𛃀𛂖𛁶𛁏𛁚 𛂢𛂞 𛁰𛂆𛀔,𛁸𛀽𛁓𛃋𛂇𛃧𛀧𛃣𛂐𛃇,𛂂𛃻𛃲𛁬𛃞𛀧𛃃𛀅 𛂭𛁠𛁡𛃇𛀷𛃓𛁥,𛁙𛁘𛁞𛃸𛁸𛃣𛁜,𛂛,𛃿,𛁯𛂘𛂌𛃛𛁱𛃌𛂈𛂇 𛁊𛃲,𛀕𛃴𛀜 𛀶𛂆𛀶𛃟𛂉𛀣,𛂐𛁞𛁾 𛁷𛂑𛁳𛂯𛀬𛃅,𛃶𛁼

                    Edmonton

                    Crossroads (UK TV series)