Azure / Azure/azure-storage-python

QueueServiceClient.get_queue_client does not inherit credentials

オープン
#689 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
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

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。