Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
O Azure Web PubSub Service é um serviço gerido pelo Azure que ajuda os programadores a construir facilmente aplicações web com funcionalidades em tempo real e padrão de publicação-subscrição. Qualquer cenário que exija mensagens de publicação-subscrição em tempo real entre servidor e clientes ou entre clientes pode usar o serviço Azure Web PubSub. Funcionalidades tradicionais em tempo real, que frequentemente requerem sondagens do servidor ou submissão de pedidos HTTP, também podem usar o serviço Azure Web PubSub.
Pode usar esta biblioteca no lado do seu servidor de aplicações para gerir as ligações do cliente WebSocket, como mostrado no seguinte diagrama:
Use esta biblioteca para:
- Envia mensagens para hubs e grupos.
- Envie mensagens a utilizadores e ligações específicas.
- Organizar utilizadores e ligações em grupos.
- Ligações próximas.
- Conceder, revogar e verificar permissões para uma ligação existente.
Pré-requisitos
- É necessário Python 3.6 ou posterior para usar este pacote.
- Precisa de uma subscrição Azure e de uma instância de serviço Azure WebPubSub para usar este pacote.
- Uma instância existente do serviço Azure Web PubSub.
Importante
O suporte para pacotes Python do Azure SDK para Python 2.7 termina a 01 de janeiro de 2022. Para mais informações, consulte o suporte a pacotes Python do Azure SDK.
Instale o pacote
Use este comando para instalar o pacote:
python -m pip install azure-messaging-webpubsubservice
Criar e autenticar um WebPubSubServiceClient
Pode autenticar o WebPubSubServiceClient usando uma cadeia de ligação:
>>> from azure.messaging.webpubsubservice import WebPubSubServiceClient
>>> service = WebPubSubServiceClient.from_connection_string(connection_string='<connection_string>', hub='hub')
Ou usar o endpoint de serviço e a chave de acesso:
>>> from azure.messaging.webpubsubservice import WebPubSubServiceClient
>>> from azure.core.credentials import AzureKeyCredential
>>> service = WebPubSubServiceClient(endpoint='<endpoint>', hub='hub', credential=AzureKeyCredential("<access_key>"))
Ou use o Microsoft Entra ID:
pip install
azure-identity.Ative a autorização Microsoft Entra no seu recurso Webpubsub.
Atualizar o 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
Mensagens transmitidas em 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'
})
O cliente WebSocket recebe texto serializado em JSON: {"from": "user1", "data": "Hello world"}.
Mensagens de difusão em formato de texto simples
>>> 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')
O cliente WebSocket recebe texto: Hello world.
Mensagens de difusão em formato binário
>>> 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')
O cliente WebSocket recebe texto binário: b'Hello world'.
Exploração Florestal
Este SDK utiliza uma biblioteca de registo padrão em Python.
Podes configurar o registo para imprimir informação de depuração para o stdout ou para onde quiseres.
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)
De forma semelhante, logging_enable pode permitir registos detalhados para uma única chamada, mesmo quando não está ativado para o WebPubSubServiceClient:
result = service.send_to_all(..., logging_enable=True)
Os detalhes dos pedidos e respostas HTTP são impressos em stdout com esta configuração de registo.
Próximos passos
Para mais exemplos, consulte a biblioteca cliente de serviços Azure Web PubSub para Exemplos de Python.
Contributing
Este projeto acolhe contribuições e sugestões. A maioria das contribuições exige que você concorde com um Contrato de Licença de Colaborador (CLA) declarando que você tem o direito de, e realmente concede, os direitos de usar sua contribuição. Para mais informações, consulte Contrato de Licença de Contribuidor.
Quando submete um pull request, um CLA-bot determina automaticamente se precisa de fornecer um CLA e marca o PR de forma apropriada, por exemplo, "etiqueta", "comentário". Siga as instruções fornecidas pelo bot. Só precisas de fazer esta ação uma vez em todos os repositórios usando o nosso CLA.
Este projeto adotou o Código de Conduta do Microsoft Open Source. Para mais informações, consulte o FAQ do Código de Conduta ou contacte a Equipa de Conduta Open Source com questões ou comentários.