QueueServiceClient.get_queue_client does not inherit credentials
washcycle opened this issue · 0 comments
washcycle commented
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)