Zautomatyzuj strumieniowanie danych Amazon Connect za pomocą AWS CDK

15 lutego 2022

Wielu klientów chce szybko i spójnie udostępniać zasoby chmury Amazon Web Services (AWS) z zarządzaniem cyklem życia, traktując infrastrukturę jako kod (IaC). Powszechnie używanymi usługami są AWS CloudFormation i HashiCorp Terraform. Obecnie klienci ręcznie konfigurują strumieniowanie danych Amazon Connect, ponieważ usługa nie jest dostępna w ramach typów zasobów CloudFormation. Klienci mogą chcieć go rozszerzyć, aby pobierać dane kontaktowe i agenta w czasie rzeczywistym. Integracja odbywa się ręcznie i może powodować problemy z IaC.

Rekordy śledzenia kontaktu (CTR) Amazon Connect rejestrują zdarzenia związane z kontaktem w centrum kontaktowym. Strumienie zdarzeń agenta Amazon Connect to strumienie danych Amazon Kinesis, które zapewniają raportowanie aktywności agentów w czasie zbliżonym do rzeczywistego w instancji Amazon Connect. Zdarzenia publikowane w strumieniu obejmują te zdarzenia kontaktowego panelu sterowania (CCP):

  • Logowanie agenta;
  • Wylogowanie agenta;
  • Agent łączy się z kontaktem;
  • Zmiana statusu agenta, np. dostępny do obsługi kontaktów, podczas przerwy lub na szkoleniu.

W tym artykule twórcy przedstawią, jak zautomatyzować przesyłanie strumieniowe danych Amazon Connect za pomocą AWS Cloud Development Kit (AWS CDK). AWS CDK to platforma programistyczna typu open source do definiowania zasobów aplikacji w chmurze przy użyciu znanych języków programowania. Stworzymy niestandardowy zasób CDK, który z kolei będzie korzystał z API Amazon Connect. Można to wykorzystać jako szablon do automatyzacji innych części Amazon Connect lub innych usług AWS, które nie ujawniają swojej pełnej funkcjonalności za pośrednictwem CloudFormation.

Przegląd rozwiązania automatyzacji Amazon Connect

Amazon Connect to wielokanałowe centrum kontaktowe w chmurze, które pomaga zapewnić doskonałą obsługę klienta. Będziesz przesyłać strumieniowo aktywność agentów Amazon Connect i zapisy śledzenia kontaktów do Amazon Kinesis. Należy założyć, że dane będą następnie wykorzystywane do przetwarzania przez inne usługi lub integracje stron trzecich. Oto kroki wysokiego poziomu i usługi AWS, z których będziemy korzystać, zobacz Rysunek nr 1:

  1. Amazon Connect: Stworzysz instancję i włączysz streaming danych;
  2. Zestaw narzędzi do wdrażania w chmurze: stworzysz niestandardowe zasoby i zorganizujesz automatyzację;
  3. Strumienie danych Amazon Kinesis i Amazon Kinesis Data Firehose: Aby przesyłać strumieniowo dane z Connect;
  4. Zarządzanie tożsamością i dostępem AWS (IAM): Zarządzanie dostępem i dozwolonymi działaniami we wszystkich usługach AWS;
  5. Narzędzie innej firmy lub Amazon S3: używane jako miejsce docelowe danych Connect za pośrednictwem danych Amazon Kinesis.

Zautomatyzuj strumieniowanie danych Amazon Connect za pomocą AWS CDK

Przegląd i zadania wdrożeniowe

Próbny kod tego rozwiązania znajduje się w tym repozytorium GitHub. Kod jest spakowany jako aplikacja CDK, dzięki czemu rozwiązanie można wdrożyć w ciągu kilku minut. Zadania wdrożeniowe są następujące:

  • Wdróż aplikację CDK;
  • Zaktualizuj ustawienia instancji Amazon Connect;
  • Importuj przepływ demonstracyjny i dane.

Zasoby niestandardowe (Custom Resources) umożliwiają pisanie niestandardowej logiki we wdrożeniu CloudFormation. Implementujesz logikę tworzenia, aktualizacji i usuwania, aby zdefiniować niestandardowe wdrożenie zasobów.

CDK implementuje AWSCustomResource, który jest niestandardowym zasobem wspieranym przez AWS Lambda, który używa zestawu AWS SDK do udostępniania zasobów. Oznacza to, że stos CDK wdraża aprowizację Lambda. Po wdrożeniu wywołuje operacje interfejsu API AWS SDK zdefiniowane dla cyklu życia zasobu (tworzenie, aktualizowanie i usuwanie).

Warunki wstępne

Do tego przewodnika potrzebne są następujące wymagania wstępne:

  • Konto AWS;
  • Ten post wykorzystuje stos AWS CDK napisany w Pythonie;postępuj zgodnie z instrukcjami w przewodniku CDK Getting Started, aby skonfigurować swoje środowisko;
  • Instancja Amazon Connect.Jeśli go nie masz, możesz wdrożyć instancję Connect i odebrać numer telefonu, patrz Konfigurowanie instancji Amazon Connect.

Wdrażanie i weryfikacja

  1. Wdróż aplikację CDK

Zasoby wymagane do tego demo są spakowane jako aplikacja CDK. Zanim zaczniesz, upewnij się, że masz dostęp z wiersza poleceń (CLI) do konta AWS, na którym chcesz wdrożyć swoje rozwiązanie.

 

  • Przejdź do katalogu cdk-app i postępuj zgodnie z instrukcjami wdrażania. Domyślnym regionem jest zwykle us-east-1. Jeśli chcesz wdrożyć w innym regionie, możesz uruchomić:    eksport AWS_DEFAULT_REGION=eu-central-1
  1. Utwórz stos CloudFormation, inicjując następujące polecenia.

source .env/bin/activate
pip install -r requirements.txt
cdk synth
cdk bootstrap
cdk deploy  --parametersinstanceId={YOUR-AMAZON-CONNECT-INSTANCE-ID}

--parameters ctrStreamName={CTRStream}

--parameters agentStreamName={AgentStream}

Uwaga: Domyślnie, stos utworzy strumień rekordów śledzenia kontaktu [ctrStreamName] jako strumień danych Kinesis. Jeśli zamiast tego chcesz użyć strumienia dostarczania Amazon Kinesis Data Firehose, możesz zmodyfikować to zachowanie, przechodząc do pliku cdk.json i dodając „ctr_stream_type”: „KINESIS_FIREHOSE” jako parametr w obszarze „context”.

Gdy stan stosu CloudFormation zostanie zaktualizowany do CREATE_COMPLETE, tworzone są następujące zasoby:

  • Kinesis Data Stream
  • IAM roles
  • Lambda
  1. Zweryfikuj integrację
  • Kinesis Data Streams zostały dodane do instancji Amazon Connect

Zautomatyzuj strumieniowanie danych Amazon Connect za pomocą AWS CDK

Sprzątanie

Możesz usunąć wszystkie zasoby udostępnione dla aplikacji CDK, uruchamiając następujące polecenie w katalogu connect-app:

cdk destroy

Nie spowoduje to usunięcia Twojej instancji Amazon Connect. Możesz ją usunąć, przechodząc do Konsoli zarządzania AWS -> Usługi -> Amazon Connect. Znajdź swoją instancję Connect i kliknij Usuń.

Podsumowanie

W tym artykule autorzy przedstawili, jak utrzymywać Amazon Connect jako infrastrukturę jako kod (IaC). Korzystając z niestandardowego zasobu AWS CDK, pokazano, jak zautomatyzować ustawianie strumieni danych Amazon Kinesis na strumieniowanie danych w Amazon Connect. To samo podejście można rozszerzyć, aby zautomatyzować ustawianie innych właściwości Amazon Connect, takich jak Amazon Lex, AWS Lambda, Amazon Polly i Customer Profiles. Takie podejście pomoże Ci zintegrować Amazon Connect z Twoją aplikacją do zarządzania przepływem pracy w szybszy i spójniejszy sposób oraz ograniczyć ręczną konfigurację.

Aby uzyskać więcej informacji, zapoznaj się z Enable Data Streaming for your instance.

źródło: AWS

 

Case Studies
Referencje

Hostersi zrealizowali usługi konsultingowe z zakresu doboru odpowiedniej bazy danych w Amazon Web Services oraz pomyślnie przeprowadzili migrację bazy danych MySQL do Amazon Aurora. 

Tomasz Ślązok
CTO Landingi
W skrócie o nas
Specjalizujemy się w dostarczaniu rozwiązań IT w obszarach projektowania infrastruktury serwerowej, wdrażania chmury obliczeniowej, opieki administracyjnej i bezpieczeństwa danych.