前提・実現したいこと
Azure関連です。
Python(Azure Functions)を利用し、BlobStorageのファイル格納件数を取得しようと試みております。
Storage Analyticsの「$MetricsCapacityBlob」テーブルにある「ObjectCount」を参照できれば良いのですが、
REST APIを利用して取得しようにも403Errで苦戦しております。
BlobストレージアカウントKeyとGETリクエスト文をエンコードし、ハッシュ化させたものを署名に含めようとしていますが、そこが誤りなのでしょうか。
勉強中の身で恐縮ですが、アドバイスいただけると幸いです。
(そもそも「$MetricsCapacityBlob」がREST API提供しているのかという点も引っかかり、調査しております)
該当のソースコード
・・・
StorageAccountName= "https://[MyStorageAccount].table.core.windows.net/Tables("$MetricsTransactionsBlob")"
・・・
StringToSign =
"GET\n\n\n\n\n\n\n\n\n\n\n\n"+
"x-ms-date:" + x_ms_date + "\n" +
"x-ms-version:" + x_ms_version + "\n"
en_key = base64.b64encode(StorageAccountKey.encode())
en_sing = base64.b64encode(StringToSign.encode())
hvalue = hmac.HMAC(en_key, en_sing, hashlib.sha256)
signature = str(hvalue.hexdigest())
headers = {
"Authorization":"SharedKey mystorageaccount:" + signature,
"x-ms-date": x_ms_date,
"x-ms-version":x_ms_version,
}
r_get = requests.get(StorageAccountName, headers=headers)
あなたの回答
tips
プレビュー