みなさん、こんにちは。サイオステクノロジー武井(@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がアップロードされているはずです。
いかがでしたでしょうか?とてもお手軽にできるかと思います。是非試してみて頂けたらと思います。