PowerShellでAzure Blob Storageを操作する

みなさん、こんにちは。サイオステクノロジー武井(@noriyukitakei)です。Microsoft MVP for Microsoft Azureとして、様々な場所で情報発信をしております。よろしくお願いいたします。

ちなみに宣伝となりますが、2022/2/3(木)にマイクロソフトが主催するオンライン技術カンファレンス「Microsoft Developer Night」に登壇し、Azureのサーバーレスアーキテクチャ「Durable Functions」のセッションを行いますので、宜しくお願い致しますm(_ _)m

https://msdevjp.connpass.com/event/233822/

 

さて、話は横道にそれましたが、今回はCentOS8上で、PowerShellでAzure Blob Storageを操作してみたいと思います。

本記事は以下のマイクロソフト公式ドキュメントを参考にしております。

CentOS への PowerShell のインストール

https://docs.microsoft.com/ja-jp/powershell/scripting/install/install-centos

 

クイック スタート:PowerShell を使用して BLOB をアップロード、ダウンロード、および一覧表示する

https://docs.microsoft.com/ja-jp/azure/storage/blobs/storage-quickstart-blobs-powershell

 

まずはPowerShellをインストールしましょう。

$ curl https://packages.microsoft.com/config/rhel/8/prod.repo | sudo tee /etc/yum.repos.d/microsoft.repo
$ sudo yum install -y powershell

これで終わりです。非常に簡単ですね!!

 

次は、Azure Blob Storageの操作に必要なAZモジュールをインストールします。

$ pwsh
PS /root> Install-Module Az

ちょっと時間がかかりますが、しばらくまちましょう。

 

Azure Blob Storageへの認証方法は色々とありますが、今回は一番簡単なストレージアカウントキーによる認証を使います。ストレージアカウントにアクセスして、画面左部の「アクセスキー」をクリックして、画面右部に表示される「ストレージアカウント名」、「キー」(key1でもkey2でもどちらでもOK)をメモしておきます。

 

では準備は整いましたので、Blobにファイルをアップロードするスクリプトを作成します。ここでは、「test」というコンテナーにhoge.txtをアップロードします。

# Azure Storage Accountに認証する
$storageAccount = New-AzStorageContext -StorageAccountName [先程メモしたストレージアカウント名] -StorageAccountKey [先程メモしたキー]
$ctx = $storageAccount.Context

# コンテナーにファイルをアップロードする
Set-AzStorageBlobContent -File "/tmp/hoge.txt" -Container test -Blob "hoge.txt" -Context $ctx

 

先程作成したスクリプトを実行します。

$ pwsh upload.ps1

 

すると、こんな風にtestというコンテナーにhoge.txtがアップロードされているはずです。

 

いかがでしたでしょうか?とてもお手軽にできるかと思います。是非試してみて頂けたらと思います。

ご覧いただきありがとうございます! この投稿はお役に立ちましたか?

役に立った 役に立たなかった

0人がこの投稿は役に立ったと言っています。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です