Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O Serviço Azure Web PubSub é um serviço gerenciado pelo Azure que ajuda os desenvolvedores a criar aplicativos Web facilmente com recursos em tempo real e padrão de publicação e assinatura. Qualquer cenário que exija mensagens de publicação e assinatura em tempo real entre servidores e clientes ou entre clientes pode usar o serviço Azure Web PubSub. Recursos tradicionais em tempo real que geralmente exigem sondagem do servidor ou envio de solicitações HTTP também podem usar o serviço Azure Web PubSub.
Você pode usar essa biblioteca no lado do servidor de aplicativos para gerenciar as conexões do cliente WebSocket, conforme mostrado no seguinte diagrama:
Use esta biblioteca para:
- Enviar mensagens para hubs e grupos.
- Enviar mensagens para determinados usuários e conexões.
- Organize usuários e conexões em grupos.
- Feche conexões.
- Conceda, revogue e verifique as permissões de uma conexão existente.
Pré-requisitos
- O Python 3.6 ou posterior é necessário para usar esse pacote.
- Você precisa de uma assinatura do Azure e de uma instância de serviço do Azure WebPubSub para usar esse pacote.
- Uma instância de serviço do Azure Web PubSub existente.
Importante
O suporte a pacotes python do SDK do Azure para Python 2.7 termina em 01 de janeiro de 2022. Para obter mais informações, consulte o suporte a pacotes python do SDK do Azure.
Instalar o pacote
Use este comando para instalar o pacote:
python -m pip install azure-messaging-webpubsubservice
Criar e autenticar um WebPubSubServiceClient
Você pode autenticar o WebPubSubServiceClient usando uma cadeia de conexão:
>>> from azure.messaging.webpubsubservice import WebPubSubServiceClient
>>> service = WebPubSubServiceClient.from_connection_string(connection_string='<connection_string>', hub='hub')
Ou utilize 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 a ID do Microsoft Entra:
pip install
azure-identity.Habilite a autorização do Microsoft Entra no recurso Webpubsub.
Atualize 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())
Exemplos
Transmitir mensagens no 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 JSON: {"from": "user1", "data": "Hello world"}.
Transmitir mensagens em formato de texto sem formatação
>>> 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.
Transmitir mensagens 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'.
Registro em log
Esse SDK usa a biblioteca de log padrão do Python.
Você pode configurar o registro em log para imprimir informações de depuração em stdout ou em qualquer lugar que deseje.
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)
Da mesma forma, logging_enable pode habilitar o log detalhado para uma única chamada, mesmo quando não estiver habilitado para o WebPubSubServiceClient:
result = service.send_to_all(..., logging_enable=True)
Os detalhes da solicitação e resposta HTTP são exibidos em stdout com essa configuração de log.
Próximas etapas
Para obter mais exemplos, consulte a biblioteca de clientes de serviço do Azure Web PubSub para exemplos do Python.
Contributing
Este projeto recebe contribuições e sugestões. A maioria das contribuições exige que você concorde com um CLA (Contrato de Licença do Colaborador) declarando que você tem o direito de nos conceder e de fato concede, os direitos de usar sua contribuição. Para obter mais informações, consulte o Contrato de Licença de Colaborador.
Quando você envia uma solicitação de pull, um bot do CLA determina automaticamente se você precisa fornecer um CLA e preencher a PR corretamente, por exemplo, “rótulo”, “comentário”. Siga as instruções fornecidas pelo bot. Você só precisa realizar esta ação uma vez em todos os repositórios que utilizam nosso Acordo de Licença de Colaboração (CLA).
Este projeto adotou o Código de Conduta de Software Livre da Microsoft. Para obter mais informações, consulte Perguntas frequentes sobre o Código de Conduta ou entre em contato com a Equipe de Conduta de Software Livre com perguntas ou comentários.