Ćwiczenie — Eksplorowanie typów powiązań wejściowych i wyjściowych

Poniżej znajduje się ogólna ilustracja tego, co zbudujemy w tym ćwiczeniu.

Ilustracja z domyślnym wyzwalaczem protokołu HTTP przedstawiająca żądanie HTTP i odpowiedź, jak również odpowiednie parametry powiązania req i res.

Ilustracja z domyślnym wyzwalaczem protokołu HTTP przedstawiająca żądanie HTTP i odpowiedź, jak również odpowiednie parametry powiązania req i res.

Utworzymy funkcję, która zostanie uruchomiona, gdy odbierze żądanie HTTP, i będzie odpowiadać na każde żądanie, odsyłając komunikat. Parametry req i res są odpowiednio powiązaniem wyzwalacza i powiązaniem wyjściowym.

Tworzenie aplikacji funkcji

Utwórzmy aplikację funkcji, której będziemy używać w całym tym module. Aplikacja funkcji umożliwia grupowanie funkcji jako jednostki logicznej, co ułatwia wdrażanie i udostępnianie zasobów oraz zarządzanie nimi.

  1. Zaloguj się w witrynie Azure Portal przy użyciu tego samego konta, za pomocą którego aktywowano piaskownicę.

  2. W menu witryny Azure Portal lub na stronie głównej wybierz pozycję Utwórz zasób.

  3. Wybierz pozycję Obliczenia > Aplikacja funkcji.

  4. Ustaw właściwości aplikacji funkcji w następujący sposób:

    Właściwość Sugerowana wartość Opis
    Subskrypcja Subskrypcja Concierge Subskrypcja platformy Azure, która ma być używana dla tego konta usługi Azure Cosmos DB.
    Grupa zasobów [nazwa grupy zasobów piaskownicy] To pole jest wstępnie wypełnione nazwą grupy zasobów z Twojej piaskownicy.
    Nazwa aplikacji funkcji Nazwa unikatowa w skali globalnej Nazwa identyfikująca nową aplikację funkcji. Prawidłowe znaki to a-z, 0-9 i -.
    Publikowanie Kod Opcja publikowania plików kodu lub kontenera Docker.
    Stos środowiska uruchomieniowego Node.js Przykładowy kod w tym module jest napisany w języku JavaScript.
    Wersja Domyślne
    Region Środkowe stany USA Wybierz najbliższy region.
  5. Wybierz pozycję Przejrzyj i utwórz, a następnie Utwórz, aby aprowizować i wdrożyć aplikację funkcji.

  6. Wybierz ikonę Powiadomienie w prawym górnym rogu portalu i poszukaj komunikatu Wdrażanie w toku podobnego do następującego komunikatu.

    Zrzut ekranu przedstawiający powiadomienie, że wdrożenie aplikacji funkcji jest w toku.

  7. Wdrażanie może potrwać pewien czas. Pozostań więc w Centrum powiadomień i poszukaj komunikatu Wdrożenie zakończyło się pomyślnie podobnego do następującego komunikatu.

    Zrzut ekranu z powiadomieniem o ukończeniu wdrażania aplikacji funkcji.

  8. Po wdrożeniu aplikacji funkcji przejdź w portalu do obszaru Strona główna > Wszystkie zasoby. Aplikacja funkcji będzie wyświetlona z typem Aplikacja funkcji i będzie mieć nazwę, która została jej przez Ciebie nadana. Wybierz aplikację funkcji z listy, aby ją otworzyć.

    Porada

    Jeśli masz problem ze znalezieniem aplikacji funkcji w portalu, dowiedz się, jak dodać aplikacje funkcji do ulubionych w portalu.

  1. Zaloguj się w witrynie Azure Portal przy użyciu tego samego konta, za pomocą którego aktywowano piaskownicę.

  2. W menu witryny Azure Portal lub na stronie głównej wybierz pozycję Utwórz zasób.

  3. Wybierz pozycję Obliczenia > Aplikacja funkcji.

  4. Ustaw właściwości aplikacji funkcji w następujący sposób:

    Właściwość Sugerowana wartość Opis
    Subskrypcja Subskrypcja Concierge Subskrypcja platformy Azure, która ma być używana dla tego konta usługi Azure Cosmos DB.
    Grupa zasobów [nazwa grupy zasobów piaskownicy] To pole jest wstępnie wypełnione nazwą grupy zasobów z Twojej piaskownicy.
    Nazwa aplikacji funkcji Nazwa unikatowa w skali globalnej Nazwa identyfikująca nową aplikację funkcji. Prawidłowe znaki to a-z, 0-9 i -.
    Publikowanie Kod Opcja publikowania plików kodu lub kontenera Docker.
    Stos środowiska uruchomieniowego Node.js Przykładowy kod w tym module jest napisany w języku JavaScript.
    Wersja Domyślne
    Region Środkowe stany USA Wybierz najbliższy region.
  5. Wybierz pozycję Przejrzyj i utwórz, a następnie Utwórz, aby aprowizować i wdrożyć aplikację funkcji.

  6. Wybierz ikonę Powiadomienie w prawym górnym rogu portalu i poszukaj komunikatu Wdrażanie w toku podobnego do następującego komunikatu.

    Zrzut ekranu przedstawiający powiadomienie, że wdrożenie aplikacji funkcji jest w toku.

  7. Wdrażanie może potrwać pewien czas. Pozostań więc w Centrum powiadomień i poszukaj komunikatu Wdrożenie zakończyło się pomyślnie podobnego do następującego komunikatu.

    Zrzut ekranu z powiadomieniem o ukończeniu wdrażania aplikacji funkcji.

  8. Po wdrożeniu aplikacji funkcji przejdź w portalu do obszaru Strona główna > Wszystkie zasoby. Aplikacja funkcji będzie wyświetlona z typem Aplikacja funkcji i będzie mieć nazwę, która została jej przez Ciebie nadana. Wybierz aplikację funkcji z listy, aby ją otworzyć.

    Porada

    Jeśli masz problem ze znalezieniem aplikacji funkcji w portalu, dowiedz się, jak dodać aplikacje funkcji do ulubionych w portalu.

Tworzenie funkcji

Teraz, gdy mamy aplikację funkcji, nadszedł czas na utworzenie funkcji. Funkcja jest aktywowana za pomocą wyzwalacza. W tym module użyjemy wyzwalacza HTTP.

  1. Wybierz ikonę Funkcje w menu po lewej stronie. Spowoduje to otwarcie procesu tworzenia funkcji.

  2. Z górnego paska menu wybierz pozycję + Dodaj. Zostanie wyświetlony panel Dodaj funkcję.

  3. W sekcji Wybierz szablon wybierz pozycję Wyzwalacz HTTP.

  4. Jeśli chcesz, w sekcji Szczegóły szablonu, w polu tekstowym Nowa funkcja możesz zmienić nazwę. Na liście rozwijanej Poziom autoryzacji pozostaw pozycję Funkcja, a następnie wybierz pozycję Dodaj. Opcja Poziom autoryzacji określa, jakiego rodzaju klucz jest używany do bezpiecznego uzyskiwania dostępu do Twojej funkcji. Po wybraniu pozycji Funkcja elementy wywołujące funkcję będą musiały podawać specyficzny dla funkcji klucz wraz z żądaniami.

  5. W nowej funkcji wybierz pozycję </> Pobierz adres URL funkcji na górnym pasku menu.

  6. W oknie dialogowym Pobieranie adresu URL funkcji wybierz pozycję domyślne (klucz funkcji), a następnie wybierz ikonę Kopiuj do schowka na końcu adresu URL.

  7. Wklej skopiowany adres URL funkcji w pasku adresu nowej karty przeglądarki.

  8. Dodaj wartość ciągu zapytania &name=Azure na końcu tego adresu URL, a następnie naciśnij klawisz Enter na klawiaturze, aby wykonać żądanie. Powinna pojawić się odpowiedź podobna do następującej odpowiedzi zwróconej przez funkcję wyświetloną w przeglądarce.

    Hello, Azure. This HTTP triggered function executed successfully.
    

Jak do tej pory widać w tym ćwiczeniu, podczas tworzenia funkcji musisz wybrać typ wyzwalacza. Każda funkcja ma jeden wyzwalacz. W tym przykładzie używamy wyzwalacza HTTP, co oznacza, że nasza funkcja uruchamia się, gdy odbierze żądanie HTTP. Domyślna implementacja, pokazana na poniższym zrzucie ekranu w języku JavaScript, odpowiada przy użyciu wartości parametru nazwa otrzymanego w ciągu zapytania lub w treści żądania. Jeśli ciąg nie został podany, funkcja odpowiada za pomocą komunikatu zawierającego pytanie do osoby wywołującej o podanie wartości nazwy.

Porada

Kod możesz wyświetlić, wybierając pozycję Kodowanie i testowanie na lewym pasku nawigacji.

Zrzut ekranu przedstawiający domyślną implementację w języku JavaScript funkcji platformy Azure wyzwalanej przez protokół HTTP.

Przyjrzyjmy się pokrótce innemu plikowi funkcji, plikowi konfiguracji function.json. Uzyskaj dostęp do tego pliku, wybierając pozycję function.json z listy rozwijanej ścieżki pliku. Dane konfiguracji są wyświetlane na następującym listingu JSON.

Porada

Dodatkowy kod można wyświetlić, wybierając listę rozwijaną w środku ekranu Kodowanie i testowanie.

{
    "bindings": [
    {
        "authLevel": "function",
        "type": "httpTrigger",
        "direction": "in",
        "name": "req",
        "methods": [
        "get",
        "post"
        ]
    },
    {
        "type": "http",
        "direction": "out",
        "name": "res"
    }
    ],
    "disabled": false
}

Jak widać, funkcja ta ma powiązanie wyzwalacza o nazwie req typu httpTrigger i powiązanie wyjściowe o nazwie res typu HTTP. W poprzednim kodzie naszej funkcji widzieliśmy, jak uzyskaliśmy dostęp do ładunku przychodzącego żądania HTTP za pośrednictwem naszego parametru req. Analogicznie wysłaliśmy odpowiedź HTTP, po prostu ustawiając nasz parametr res. Powiązania naprawdę wykonują za nas niektóre uciążliwe prace.

Teraz, gdy mamy aplikację funkcji, nadszedł czas na utworzenie funkcji. Funkcja jest aktywowana za pomocą wyzwalacza. W tym module użyjemy wyzwalacza HTTP.

  1. Wybierz ikonę Funkcje w menu po lewej stronie. Spowoduje to otwarcie procesu tworzenia funkcji.

  2. Z górnego paska menu wybierz pozycję + Dodaj. Zostanie wyświetlony panel Dodaj funkcję.

  3. W sekcji Wybierz szablon wybierz pozycję Wyzwalacz HTTP.

  4. Jeśli chcesz, w sekcji Szczegóły szablonu, w polu tekstowym Nowa funkcja możesz zmienić nazwę. Na liście rozwijanej Poziom autoryzacji pozostaw pozycję Funkcja, a następnie wybierz pozycję Dodaj. Opcja Poziom autoryzacji określa, jakiego rodzaju klucz jest używany do bezpiecznego uzyskiwania dostępu do Twojej funkcji. Po wybraniu pozycji Funkcja elementy wywołujące funkcję będą musiały podawać specyficzny dla funkcji klucz wraz z żądaniami.

  5. W nowej funkcji wybierz pozycję </> Pobierz adres URL funkcji na górnym pasku menu.

  6. W oknie dialogowym Pobieranie adresu URL funkcji wybierz pozycję domyślne (klucz funkcji), a następnie wybierz ikonę Kopiuj do schowka na końcu adresu URL.

  7. Wklej skopiowany adres URL funkcji w pasku adresu nowej karty przeglądarki.

  8. Dodaj wartość ciągu zapytania &name=Azure na końcu tego adresu URL, a następnie naciśnij klawisz Enter na klawiaturze, aby wykonać żądanie. Powinna pojawić się odpowiedź podobna do następującej odpowiedzi zwróconej przez funkcję wyświetloną w przeglądarce.

    Zanim odpowiedź powróci, może upłynąć kilka minut, ponieważ aplikacja funkcji rozgrzewa się po raz pierwszy. Jeśli zostanie wyświetlony błąd upływu limitu czasu, odśwież, aby ponownie wysłać żądanie. Gdy funkcja będzie mogła reagować, powinna pojawić się odpowiedź podobna do następującej odpowiedzi zwróconej przez funkcję wyświetloną w przeglądarce.

    Hello, Azure. This HTTP triggered function executed successfully.
    

Jak do tej pory widać w tym ćwiczeniu, podczas tworzenia funkcji musisz wybrać typ wyzwalacza. Każda funkcja ma jeden wyzwalacz. W tym przykładzie używamy wyzwalacza HTTP, co oznacza, że nasza funkcja uruchamia się, gdy odbierze żądanie HTTP. Domyślna implementacja, pokazana na poniższej ilustracji w języku PowerShell używa polecenia cmdlet Push-OutputBinding do odpowiadania przy użyciu wartości parametru nazwa otrzymanego w ciągu zapytania lub w treści żądania. Jeśli ciąg nie został podany, funkcja odpowiada za pomocą komunikatu zawierającego monit do osoby wywołującej o podanie wartości nazwy.

Zrzut ekranu przedstawiający domyślną implementację w języku PowerShell funkcji platformy Azure wyzwalanej przez protokół HTTP.

Cały ten kod znajduje się w pliku Funkcje > Kodowanie i testowanie na pasku nawigacji po lewej stronie.

Porada

Aby wyświetlić pliki run.ps1 i function.json, wybierz menu rozwijane.

Przyjrzyjmy się pokrótce innemu plikowi funkcji, plikowi konfiguracji function.json. Uzyskaj dostęp do tego pliku, wybierając pozycję function.json z listy rozwijanej ścieżki pliku. Dane konfiguracji są wyświetlane na następującym listingu JSON.

{
  "bindings": [
    {
      "authLevel": "function",
      "type": "httpTrigger",
      "direction": "in",
      "name": "Request",
      "methods": [
        "get",
        "post"
      ]
    },
    {
      "type": "http",
      "direction": "out",
      "name": "Response"
    }
  ],
  "disabled": false
}

Jak widać, funkcja ta ma powiązanie wyzwalacza o nazwie Request typu httpTrigger i powiązanie wyjściowe o nazwie Response typu http. W poprzednim kodzie naszej funkcji widzieliśmy, jak uzyskaliśmy dostęp do ładunku przychodzącego żądania HTTP za pośrednictwem naszego parametru Request. Analogicznie wysłaliśmy odpowiedź HTTP, po prostu ustawiając nasz parametr Response. Powiązania naprawdę wykonują za nas niektóre skomplikowane zadania.

Poznawanie typów powiązań

  1. Zwróć uwagę, że pozycja funkcji obejmuje zestaw elementów menu, co pokazano na poniższym zrzucie ekranu.

    Zrzut ekranu przedstawiający menu Pzegląd.  Kodowanie i testowanie, Integracja, Monitorowanie i Klucze funkcji.

  2. Wybierz element menu Integracja, aby otworzyć kartę integracji dla naszej funkcji. Jeśli wykonano polecenia w tej lekcji, karta Integracja powinna wyglądać bardzo podobnie do poniższego zrzutu ekranu.

    Zrzut ekranu przedstawiający ekran integracji. Pozycje Wyzwalacz i Dane wejściowe prowadzą do pozycji Funkcja i dalej do pozycji Dane wyjściowe.

    Uwaga

    Zdefiniowaliśmy już wyzwalacz i powiązanie wyjściowe, co pokazano na ilustracji. Nie możemy dodać więcej niż jednego wyzwalacza. Rzeczywiście, aby zmienić wyzwalacz dla naszej funkcji, musimy najpierw usunąć wyzwalacz i utworzyć nowy. Jednak w sekcjach Dane wejściowe i Dane wyjściowe tej strony jest wyświetlany znak plus (+) umożliwiający dodanie powiązań, dzięki czemu można zaakceptować więcej niż jedną wartość wejściową i emitować więcej niż jedną wartość wyjściową.

  3. Wybierz pozycję + Dodaj dane wejściowe w kolumnie Dane wejściowe. Zostanie wyświetlony panel Tworzenie danych wejściowych zawierający listę wszystkich możliwych typów powiązań danych wejściowych podczas wybierania listy rozwijanej.

    Zrzut ekranu przedstawiający opcje dodawania danych wejściowych.

    Poświęć chwilę, aby rozpatrzeć każde z tych powiązań wejściowych (wybierając listę rozwijaną) i możliwości ich użycia w rozwiązaniu. Istnieje wiele opcji do wyboru.

  4. Wrócimy do dodawania powiązań wejściowych w dalszej części modułu, ale teraz wybierz pozycję Anuluj, aby zamknąć tę listę.

  5. Wybierz pozycję + Dodaj dane wyjściowe w obszarze Dane wyjściowe. Zostanie wyświetlony panel Tworzenie danych wyjściowych zawierający listę wszystkich możliwych typów powiązań danych wyjściowych podczas wybierania listy rozwijanej.

    Jak widać, istnieje kilka typów powiązań wyjściowych. Wrócimy do dodawania powiązań wyjściowych w dalszej części modułu, ale teraz wybierz pozycję Anuluj, aby zamknąć tę listę.

Do tej pory nauczyliśmy się tworzyć aplikację funkcji i dodawać do niej funkcję. Zobaczyliśmy w akcji prostą funkcję, która jest uruchamiana po wysłaniu do niej żądania HTTP. Rozpatrzyliśmy też interfejs użytkownika witryny Azure Portal oraz typy powiązań wejściowych i wyjściowych, które są dostępne dla naszych funkcji. W następnej lekcji użyjemy powiązania wejściowego w celu odczytania tekstu z bazy danych.