Azure / Azure/azure-storage-python
QueueServiceClient.get_queue_client does not inherit credentials
- 主要言語
- Python
- スター
- 343
- フォーク
- 243
- PR マージ指標
- 30日以内にマージされた PR はありません
説明
### Which service(blob, file, queue) does this issue concern?
**queue**
### Which version of the SDK was used? Please provide the output of `pip freeze`.
**azure-storage-queue==12.1.6**
### What problem was encountered?
queue client created from get_queue_client does not inherit credential chain
```
from azure.identity import AzureCliCredential, ChainedTokenCredential, ManagedIdentityCredential
from azure.identity.aio import DefaultAzureCredential
from azure.keyvault.secrets.aio import SecretClient
import os
from azure.storage.queue import (
QueueClient,
QueueServiceClient,
BinaryBase64EncodePolicy,
BinaryBase64DecodePolicy
)
managed_identity = ManagedIdentityCredential()
azure_cli = AzureCliCredential()
credential_chain = ChainedTokenCredential(managed_identity, azure_cli)
# client = SecretClient("https://my-vault.vault.azure.net", credential_chain)
q_name="test-q"
print("Creating queue: " + q_name)
queue_service = QueueServiceClient("https://XXXXXX.queue.core.windows.net", credential=credential_chain)
# Create the queue
queue_client = queue_service.get_queue_client(q_name)
queue_client.send_message('foo bar')
```
### Have you found a mitigation/solution?
Call Queue client after get_queue_client
```
queue_service = QueueServiceClient("https://tozara.queue.core.windows.net", credential=credential_chain)
# Create the queue
queue_client = queue_service.get_queue_client(q_name)
queue_client = QueueClient("https://xxxxxx.queue.core.windows.net", queue_name = q_name, credential=credential_chain)
```
コントリビューションガイド
調査の方向性
QueueServiceClient.get_queue_client から始め、issue に示されている ChainedTokenCredential を使用して azure-storage-queue==12.1.6 で例を再現します。send_message が呼び出されたときに、返されたキュー クライアントがその credential をどのように処理するか確認します。get_queue_client を通じて作成されたクライアントが、継承された credential チェーンを使用してメッセージを送信できれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- python
- 領域
- api, cloud
- issue の種類
- バグ
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 活発さ
- 停滞
- 明瞭さ
- 明確に書かれている
- 初心者へのやさしさ
- 38/100