Azure Blob StorageにPowerShellのInvoke-RestMethodでファイルアップロードしてみる。
はじめに
Windows10のOS標準機能でAzure Blob Storageにファイルをアップロードしたいと思い検討したところ、PowerShellの「Invoke-RestMethod」でできそうなのでやってみる。
ググったらすでに実施している人がいたので、それを参考にします。
<参考にしたサイト>
rzander.azurewebsites.net
Azure Blob Storageの設定
ストレージアカウント、コンテナの作成
Azure Storageの利用に必要なストレージアカウント、Blobの置き場所となるコンテナを作成する
動作確認
Invoke-RestMethodでファイルアップロード
下記PowerShellを実行します。
# Our source File: $file = "C:\test.txt" # Get the File-Name without path $name = (Get-Item $file).Name # The target URL with SAS Token $url = "https://testtest20210809.blob.core.windows.net" $container = "container" $SAS = "?sv=2020-08-04&ss=b&srt=o&sp=rwdlactfx&se=2021-08-09T12:02:17Z&st=2021-08-09T04:02:17Z&spr=https&sig=4JBC3Aqx1B32eWzBAPx4O0pVOFOXN9%2FSRGk4NPOKBTAg%3D" $uri = "${url}/${container}/${name}${SAS}" # Define required Headers $headers = @{ 'x-ms-blob-type' = 'BlockBlob' } # Upload File... Invoke-RestMethod -Uri $uri -Method Put -Headers $headers -InFile $file
URIのフォーマットは下記となります。
{URL}/{Container}/[Folder Structure/]{FileName}?{SAS Token}
アップロードの確認
無事アップロードされました。