Azure funkce spotřebitel dostane 401 při použití připojovací řetězec

0

Otázka

Jsem velmi nový Azure mechanismy a zasekl jsem se na tento problém.

Mám azure funkce, která má být spuštěna akce zveřejněny na událost hub. Jsem nastavit sas připojovací řetězec získaný v případě hub azure portal page (s "spravovat" grant option) a používá tentýž klíč v EventHubTrigger anotace (je To Java, 11 funkcí)

Nejprve jsem se zobrazí chybová zpráva, že funkce IP bylo zabráněno připojení, chyby jsem se zbavil zaškrtnutím "povolit důvěryhodné služby společnosti Microsoft" v nastavení sítě v případě hub.

Pak jsem dostal 401 neoprávněný přístup.

Odstranění všech Ip adres, omezení, od událostí hub (což je veřejné) to začne poslouchat a zpracování události tlačil v případě hub.

Samozřejmě bych rád, aby tato omezení zpět, ale 401 výjimkou nezastaví.

Co jsem chybí?

Upravit (Přidání funkce, kód):

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 je definována v nastavení aplikace a jeho hodnota je ve formátu

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

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

Dle dokumentace,

Práva stanovená v politice pravidlo může být kombinace:

  • Poslat – Dává právo posílat zprávy subjektu
  • Poslouchej – Dává právo, aby poslouchat, nebo přijímat účetní jednotky
  • Spravovat – Dává právo spravovat topologii oboru názvů, včetně vytváření a mazání entit

Ve vašem případě, protože vaše funkce je poslech na události z eventhub, měli byste použít poslouchat politiky SAS.

2021-11-24 01:15:05
0

SAS Politika poskytuje granulární působnosti pouze na úrovni subjektu , a nikoli na úrovni spotřebitele.

To znamená, že oprávnění definovaná na úrovni oboru názvů nebo v případě hub stupně nebo úroveň téma bude aplikován na skupinu spotřebitelů daného subjektu.

Jsem nastavit sas připojovací řetězec získaný v případě hub azure portal page (s "spravovat" grant option)

Akce náboje token ověřování vyžaduje, aby jeho klienti buď mají správa práv nebo poslouchat oprávnění přiřazeno jeho Případě Uzly oboru názvů nebo událost hub stupně nebo téma.

Pro Kód v jazyce Java v generování podpisu (SAS token) od politiky, viz zde.

Přečíst detailní informace o pravidla, jako je Odeslat, Poslouchat a Spravovat, omezit pravidel vztahujících se k oboru názvů nebo subjekt, politiky a osvědčené postupy při použití SAS, prosím, podívejte se na tuto dokumentaci společnosti Microsoft.

2021-11-24 03:18:35

Podíval jsem se na dokumentaci ale nenašel jsem žádné odpovědi. Jak mohu generovat SAS token z Java kódu, pokud funkce nebude ani spoušť? A i když jsem vytvářet SAS token mimo funkci, kde mám na to použít?
Esotopo21

mohl byste mi prosím poskytnout kód funkce, jak jste napsal pro spuštění události.
HariKrishnaRajoli-MT

Jsem upravil otázku kód a řetězec připojení používám
Esotopo21

V jiných jazycích

Tato stránka je v jiných jazycích

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