Azure / Azure/azure-storage-python
QueueServiceClient.get_queue_client does not inherit credentials
- Ngôn ngữ chính
- Python
- Star
- 343
- Fork
- 243
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Mô tả
### 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)
```
Hướng dẫn đóng góp
Hướng nghiên cứu
Bắt đầu tại QueueServiceClient.get_queue_client và tái hiện ví dụ với azure-storage-queue==12.1.6, sử dụng ChainedTokenCredential được hiển thị trong issue. Xác minh cách queue client được trả về xử lý credential đó khi send_message được gọi. Hoàn tất khi một client được tạo thông qua get_queue_client có thể gửi thông báo bằng cách sử dụng chuỗi credential được kế thừa.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- python
- Lĩnh vực
- api, cloud
- Loại issue
- Lỗi
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức phù hợp với người mới
- 38/100