Udostępnij za pośrednictwem


Biblioteka klienta pakietu SMS usługi Azure Communication dla języka Python — wersja 1.0.1

Ten pakiet zawiera zestaw SDK języka Python dla Azure Communication Services dla programu SMS. Dowiedz się więcej o Azure Communication Services tutaj

Kod | źródłowy Pakiet (Pypi) | Dokumentacja referencyjna interfejsu | API Dokumentacja produktu

Wprowadzenie

Wymagania wstępne

  • Do korzystania z tego pakietu wymagany jest język Python w wersji 2.7 lub 3.6 lub nowszej.
  • Wdrożony zasób usług komunikacyjnych. Aby go skonfigurować, możesz użyć witryny Azure Portal lub Azure PowerShell.
  • Musisz mieć skonfigurowany numer telefonu skojarzony z subskrypcją platformy Azure

Instalowanie pakietu

Zainstaluj bibliotekę klienta sms usługi Azure Communication dla języka Python przy użyciu narzędzia pip:

pip install azure-communication-sms

Kluczowe pojęcia

Pakiet SMS usługi Azure Communication służy do wykonywania następujących czynności:

  • Wysyłanie wiadomości SMS 1:1
  • Wysyłanie wiadomości SMS 1:N

Przykłady

W poniższej sekcji przedstawiono kilka fragmentów kodu obejmujących niektóre z najbardziej typowych zadań Azure Communication Services, w tym:

Inicjowanie klienta

Aby zainicjować klienta programu SMS, parametry połączenia można użyć do utworzenia wystąpienia. Alternatywnie można również użyć uwierzytelniania usługi Active Directory przy użyciu opcji DefaultAzureCredential.

from azure.communication.sms import SmsClient
from azure.identity import DefaultAzureCredential

connection_str = "endpoint=ENDPOINT;accessKey=KEY"
sms_client = SmsClient.from_connection_string(connection_string)

# To use Azure Active Directory Authentication (DefaultAzureCredential) make sure to have
# AZURE_TENANT_ID, AZURE_CLIENT_ID and AZURE_CLIENT_SECRET as env variables.
endpoint = "https://<RESOURCE_NAME>.communication.azure.com"
sms_client = SmsClient(endpoint, DefaultAzureCredential())

Wysyłanie wiadomości SMS 1:1

Po zainicjowaniu klienta można wywołać metodę send :

from azure.communication.sms import SendSmsOptions

sms_responses = sms_client.send(
    from_="<from-phone-number>",
    to="<to-phone-number-1>",
    message="Hello World via SMS",
    enable_delivery_report=True, # optional property
    tag="custom-tag") # optional property
  • from_: numer telefonu z włączoną obsługą wiadomości SMS skojarzony z usługą komunikacji.
  • to: numer telefonu lub lista numerów telefonów, do których chcesz wysłać wiadomość.
  • message: komunikat, który chcesz wysłać.
  • enable_delivery_report: opcjonalny parametr, którego można użyć do skonfigurowania raportowania dostarczania. Jest to przydatne w scenariuszach, w których chcesz emitować zdarzenia podczas dostarczania wiadomości SMS.
  • tag: opcjonalny parametr, którego można użyć do skonfigurowania tagowania niestandardowego.

Wysyłanie wiadomości SMS 1:N

Po zainicjowaniu klienta można wywołać metodę send :

from azure.communication.sms import SendSmsOptions

sms_responses = sms_client.send(
    from_="<from-phone-number>",
    to=["<to-phone-number-1>", "<to-phone-number-2>", "<to-phone-number-3>"],
    message="Hello World via SMS",
    enable_delivery_report=True, # optional property
    tag="custom-tag") # optional property
  • from_: numer telefonu z włączoną obsługą wiadomości SMS skojarzony z usługą komunikacji.
  • to: numer telefonu lub lista numerów telefonów, do których chcesz wysłać wiadomość.
  • message: komunikat, który chcesz wysłać.
  • enable_delivery_report: opcjonalny parametr, którego można użyć do skonfigurowania raportowania dostarczania. Jest to przydatne w scenariuszach, w których chcesz emitować zdarzenia podczas dostarczania wiadomości SMS.
  • tag: opcjonalny parametr, którego można użyć do skonfigurowania tagowania niestandardowego.

Rozwiązywanie problemów

Operacje sms zgłaszają wyjątek, jeśli żądanie do serwera zakończy się niepowodzeniem. Klient programu SMS zgłosi wyjątki zdefiniowane w usłudze Azure Core. Wyjątki nie zostaną zgłoszone, jeśli błąd jest spowodowany przez pojedynczy komunikat, tylko wtedy, gdy coś nie powiedzie się z ogólnym żądaniem. Użyj flagi pomyślnej, aby zweryfikować poszczególne wyniki, aby sprawdzić, czy wiadomość została wysłana.

try:
    sms_responses = sms_client.send(
        from_="<leased-phone-number>",
        to=["<to-phone-number-1>", "<to-phone-number-2>", "<to-phone-number-3>"],
        message="Hello World via SMS")
        
    for sms_response in sms_responses:
        if (sms_response.successful):
            print("Message with message id {} was successful sent to {}"
            .format(sms_response.message_id, sms_response.to))
        else:
            print("Message failed to send to {} with the status code {} and error: {}"
            .format(sms_response.to, sms_response.http_status_code, sms_response.error_message))
except Exception as ex:
    print('Exception:')
    print(ex)

Następne kroki

Więcej przykładów kodu

Zapoznaj się z katalogiem samples , aby uzyskać szczegółowe przykłady użycia tej biblioteki do wysyłania wiadomości SMS.

Przekazywanie opinii

Jeśli wystąpią jakiekolwiek usterki lub sugestie, zgłoś problem w sekcji Problemy w projekcie

Współtworzenie

W tym projekcie zachęcamy do współtworzenia i zgłaszania sugestii. Współtworzenie w większości przypadków wymaga zgody na umowę licencyjną dotyczącą współautorów (CLA, Contributor License Agreement), zgodnie z którą współautor ma prawo udzielić i faktycznie udziela nam praw do używania wytworzonej przez siebie zawartości. Aby uzyskać szczegółowe informacje, odwiedź stronę https://cla.microsoft.com.

Po przesłaniu żądania ściągnięcia robot CLA automatycznie określi, czy musisz przekazać umowę CLA, i doda odpowiednie informacje do tego żądania (na przykład etykietę czy komentarz). Po prostu postępuj zgodnie z instrukcjami robota. Wystarczy zrobić to raz dla wszystkich repozytoriów, w przypadku których jest używana nasza umowa CLA.

W tym projekcie przyjęto Kodeks postępowania oprogramowania Open Source firmy Microsoft. Aby uzyskać więcej informacji, zobacz Często zadawane pytania dotyczące kodeksu postępowania lub skontaktuj się z opencode@microsoft.com dodatkowymi pytaniami lub komentarzami.