Azure funzione consumatore ottiene 401 quando si utilizza la stringa di connessione

0

Domanda

Sono molto nuovo a Azure meccanismi e mi sono bloccato su questo problema.

Ho un azure funzione che dovrebbe essere innescato da eventi pubblicato su un evento hub. Ho impostato la connessione sas stringa ottenuta nel caso in hub azure pagina del portale (con "gestire" grant option) e usato la stessa chiave nel EventHubTrigger annotazione (è un Java 11 funzione)

In un primo momento ho avuto un messaggio di errore che indica che la funzione IP è stato impedito di connessione, errore, mi sono liberato fuori dal controllo "consenti di fiducia di Microsoft di servizio" nelle impostazioni di rete l'evento hub.

Poi ho avuto un 401 unauthorized access.

Rimozione di tutti gli ip restrizioni evento hub (di renderlo pubblico) si parte per l'ascolto e l'elaborazione di eventi spinto in caso di hub.

Ovviamente vorrei mettere quelle restrizioni indietro, ma il 401 eccezione e non si fermerà.

Che cosa mi manca?

Modifica (Aggiunta funzione di codice):

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 è definito nelle impostazioni dell'applicazione e il suo valore è in 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

Come per la documentazione,

I diritti previsti dal regola dei criteri può essere una combinazione di:

  • Invia Dà il diritto di inviare messaggi all'entità
  • Ascoltare – Dà il diritto di ascoltare o ricevere l'entità
  • Gestire – Dà il diritto di gestire la topologia dello spazio dei nomi, tra cui la creazione e l'eliminazione di enti

Nel tuo caso, dal momento che la funzione è in ascolto di eventi dal eventhub, si dovrebbe utilizzare un ascolto politica SAS.

2021-11-24 01:15:05
0

SAS Politica dà il granulare ambito di applicazione solo a livello di entità e non a livello di consumo.

Significa che i privilegi definiti a livello dello spazio dei nomi o l'evento istanza di hub o un argomento di livello saranno applicate al consumatore un gruppo di entità.

Ho impostato la connessione sas stringa ottenuta nel caso in hub azure pagina del portale (con "gestire" grant option)

Evento mozzi token di autenticazione richiede ai propri clienti di avere sia la gestione dei diritti o ascoltare i privilegi assegnati per il suo Evento Mozzi spazio dei nomi o di un evento istanza di hub o un argomento.

Per il Codice Java nella generazione di una firma SAS (token) da una politica, fare riferimento qui.

Per leggere le informazioni dettagliate circa le regole della politica come Inviare, Ascoltare e Gestire, limite di regole applicate spazio dei nomi o entità politica e le migliori pratiche per usare SAS, si prega di dare un'occhiata a questa documentazione di Microsoft.

2021-11-24 03:18:35

Ho dato un'occhiata alla documentazione ma non ho trovato risposte. Come posso generare SAS token da codice Java se la funzione non ancora trigger? E anche se ho generato SAS token da al di fuori della funzione, in cui devo usare?
Esotopo21

si potrebbe si prega di fornire il codice di funzione come avete scritto per l'innesco di un evento.
HariKrishnaRajoli-MT

Ho modificato la domanda, il codice e la stringa di connessione che sto usando
Esotopo21

In altre lingue

Questa pagina è in altre lingue

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