Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
El servicio Azure Web PubSub es un servicio administrado por Azure que ayuda a los desarrolladores a crear fácilmente aplicaciones web con características en tiempo real y patrón de publicación y suscripción. Cualquier escenario que requiera mensajería de publicación y suscripción en tiempo real entre el servidor y los clientes o entre clientes puede usar el servicio Azure Web PubSub. Las características tradicionales en tiempo real que a menudo requieren sondeo desde el servidor o el envío de solicitudes HTTP también pueden usar el servicio Azure Web PubSub.
Puede usar esta biblioteca en el lado servidor de aplicaciones para administrar las conexiones de cliente de WebSocket, como se muestra en el diagrama siguiente:
Use esta biblioteca para:
- Enviar mensajes a centros y grupos.
- Enviar mensajes a usuarios y conexiones concretos.
- Organice los usuarios y las conexiones en grupos.
- Cierre las conexiones.
- Conceda, revoque y compruebe los permisos de una conexión existente.
Prerrequisitos
- Se requiere Python 3.6 o posterior para usar este paquete.
- Necesita una suscripción de Azure y una instancia de servicio de Azure WebPubSub para usar este paquete.
- Una instancia de servicio de Azure Web PubSub existente.
Importante
La compatibilidad con paquetes de Python del SDK de Azure para Python 2.7 finaliza el 01 de enero de 2022. Para más información, consulte Compatibilidad con paquetes de Python del SDK de Azure.
Instalar el paquete
Use este comando para instalar el paquete:
python -m pip install azure-messaging-webpubsubservice
Creación y autenticación de webPubSubServiceClient
Puede autenticar WebPubSubServiceClient mediante una cadena de conexión:
>>> from azure.messaging.webpubsubservice import WebPubSubServiceClient
>>> service = WebPubSubServiceClient.from_connection_string(connection_string='<connection_string>', hub='hub')
O bien, use el punto de conexión de servicio y la clave de acceso:
>>> from azure.messaging.webpubsubservice import WebPubSubServiceClient
>>> from azure.core.credentials import AzureKeyCredential
>>> service = WebPubSubServiceClient(endpoint='<endpoint>', hub='hub', credential=AzureKeyCredential("<access_key>"))
O bien, use el identificador de Entra de Microsoft:
pip install
azure-identity.Habilite la autorización de Microsoft Entra en el recurso webpubsub.
Actualice el código para usar DefaultAzureCredential.
>>> from azure.messaging.webpubsubservice import WebPubSubServiceClient >>> from azure.identity import DefaultAzureCredential >>> service = WebPubSubServiceClient(endpoint='<endpoint>', hub='hub', credential=DefaultAzureCredential())
Examples
Difusión de mensajes en formato JSON
>>> from azure.messaging.webpubsubservice import WebPubSubServiceClient
>>> service = WebPubSubServiceClient.from_connection_string('<connection_string>', hub='hub1')
>>> service.send_to_all(message = {
'from': 'user1',
'data': 'Hello world'
})
El cliente de WebSocket recibe texto serializado JSON: {"from": "user1", "data": "Hello world"}.
Difusión de mensajes en formato de texto plano
>>> from azure.messaging.webpubsubservice import WebPubSubServiceClient
>>> service = WebPubSubServiceClient.from_connection_string('<connection_string>', hub='hub1')
>>> service.send_to_all(message = 'Hello world', content_type='text/plain')
El cliente de WebSocket recibe texto: Hello world.
Difusión de mensajes en formato binario
>>> import io
>>> from azure.messaging.webpubsubservice import WebPubSubServiceClient
>>> service = WebPubSubServiceClient.from_connection_string('<connection_string>', hub='hub')
>>> service.send_to_all(message=io.StringIO('Hello World'), content_type='application/octet-stream')
El cliente webSocket recibe texto binario: b'Hello world'.
Registro
Este SDK usa la biblioteca de registro estándar de Python.
Puede configurar el registro para imprimir información de depuración en stdout o en cualquier ubicación que quiera.
import sys
import logging
from azure.identity import DefaultAzureCredential
>>> from azure.messaging.webpubsubservice import WebPubSubServiceClient
# Create a logger for the 'azure' SDK
logger = logging.getLogger('azure')
logger.setLevel(logging.DEBUG)
# Configure a console output
handler = logging.StreamHandler(stream=sys.stdout)
logger.addHandler(handler)
endpoint = "<endpoint>"
credential = DefaultAzureCredential()
# This WebPubSubServiceClient will log detailed information about its HTTP sessions, at DEBUG level
service = WebPubSubServiceClient(endpoint=endpoint, hub='hub', credential=credential, logging_enable=True)
Del mismo modo, logging_enable puede habilitar el registro detallado para una sola llamada, incluso cuando no está habilitado para :WebPubSubServiceClient
result = service.send_to_all(..., logging_enable=True)
Los detalles de solicitud y respuesta HTTP se imprimen en stdout con esta configuración de registro.
Pasos siguientes
Para más ejemplos, consulte Biblioteca cliente del servicio Azure Web PubSub para ejemplos de Python.
Contributing
Este proyecto da la bienvenida a las contribuciones y sugerencias. La mayoría de las contribuciones requieren que acepte un Contrato de licencia para el colaborador (CLA) que declara que tiene el derecho a concedernos y nos concede los derechos para usar su contribución. Para obtener más información, consulte Contrato de licencia de colaborador.
Cuando se envía una solicitud de incorporación de cambios, un bot de CLA determina de forma automática si tiene que aportar un CLA y completar la PR adecuadamente, por ejemplo, "etiqueta" o "comentario". Siga las instrucciones proporcionadas por el bot. Solo será necesario que realice esta acción una vez en todos los repositorios con nuestro CLA.
Este proyecto ha adoptado el código de conducta de código abierto de Microsoft. Para obtener más información, consulte Preguntas más frecuentes sobre el código de conducta o póngase en contacto con el equipo de conducta de código abierto con preguntas o comentarios.