Azure / Azure/azure-storage-python

QueueServiceClient.get_queue_client does not inherit credentials

Abierto
#689 0 comentarios 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
Python
Estrellas
343
Forks
243
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

### 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)
```

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

Start at QueueServiceClient.get_queue_client and reproduce the example with azure-storage-queue==12.1.6, using the ChainedTokenCredential shown in the issue. Verify how the returned queue client handles that credential when send_message is called. Done means a client created through get_queue_client can send the message using the inherited credential chain.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
python
Área
api, cloud
Tipo de issue
Error
Dificultad
3/5
Tiempo estimado
1-2 días
Estado de actividad
Estancado
Claridad
Bien especificado
Aptitud para principiantes
38/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.