Azure função consumidor fica 401 quando usando a seqüência de caracteres de conexão

0

Pergunta

Eu sou muito novo para o Azure mecanismos e eu fiquei preso sobre este problema.

Eu tenho uma azure função, que é suposto ser desencadeada por eventos publicados em um evento de hub. Eu definir o sas seqüência de caracteres de conexão, obtido em caso de hub azure página do portal (com "gerenciar" grant option) e utilizada a mesma chave no EventHubTrigger de anotação (Que é um Java de função 11)

Em primeiro lugar eu tenho um erro indicando que a função IP foi impedido de conexão, erro me livrei fora através da verificação "permitir confiável de serviços da Microsoft" nas configurações de rede do evento hub.

Então eu tenho um plano 401 acesso não autorizado.

Remover todas as restrições de IPs a partir do evento hub (tornando-público) inicia a ouvir e processar os eventos empurrado em caso de hub.

Obviamente, eu gostaria de colocar essas restrições de volta, mas o 401 excepção de não parar.

O que eu estou ausente?

Editar (Adicionar o código de função):

public class Function {
    @FunctionName("feed-collector")
    public void run(
            @EventHubTrigger(name = "collect", consumerGroup = "$Default", connection = "AzureEventHubConnectionString", eventHubName = "feed-ordini", cardinality = Cardinality.MANY)
            String message,
            final ExecutionContext context
    ) {
        context.getLogger().info(message);
    }
}

AzureEventHubConnectionString é definido nas configurações do aplicativo, e seu valor está no formato

Endpoint=sb://[hub-host].servicebus.windows.net/;SharedAccessKeyName=[SasPolicyName];SharedAccessKey=[primarykey]

azure azure-eventhub azure-functions
2021-11-23 21:26:35
2
0

Conforme a documentação,

Os direitos que a regra de política pode ser uma combinação de:

  • Enviar – lhe Dá direito a enviar mensagens para a entidade
  • Ouvir – Dá o direito de ouvir ou receber, para a entidade
  • Gerir – Dá o direito de gerir a topologia do espaço de nomes, incluindo a criação e exclusão de entidades

No seu caso, uma vez que sua função é ouvir em eventos do eventhub, você deve usar uma escuta política SAS.

2021-11-24 01:15:05
0

SAS Política dá granular escopo apenas no nível da entidade e não ao nível de consumidor.

Isso significa que os privilégios definidos no nível do espaço de nomes ou o evento hub instância ou nível tópico será aplicado para o grupo de consumidores de que a entidade.

Eu definir o sas seqüência de caracteres de conexão, obtido em caso de hub azure página do portal (com "gerenciar" conceder opção)

Evento hubs token de autenticação requer que seus clientes têm a gerenciar direitos ou a ouvir privilégios atribuídos ao seu Evento Concentradores de espaço de nomes ou evento hub instância ou do tópico.

Para o Código Java na geração de uma assinatura SAS (token) a partir de uma política, consulte aqui.

Para ler a informação detalhada sobre as regras de política como Enviar, Ouvir e Gerenciar, de limite de regras aplicadas ao espaço de nomes ou entidade política e as melhores práticas ao utilizar SAS, por favor dê uma olhada nesta documentação da Microsoft.

2021-11-24 03:18:35

Eu tinha uma olhada na documentação, mas não encontrei respostas. Como posso gerar o SAS token a partir de código Java se que a função não até disparar? E mesmo se eu gerar o SAS token de fora da função, onde tenho que usá-lo?
Esotopo21

você poderia por favor fornecer o código de função de como você tenha escrito para acionar o evento.
HariKrishnaRajoli-MT

Que eu tenha editado a questão com o código e a seqüência de caracteres de conexão que eu estou usando
Esotopo21

Em outros idiomas

Esta página está em outros idiomas

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................