Freigeben über


Schnellstart: Abrufen und Verwalten von Telefonnummern

Wichtig

Die SMS- und PSTN-Funktionen hängen von Ihrer Telefonnummer und dem durch Ihre Azure-Rechnungsanschrift festgelegten Land bzw. der Region ab. Weitere Informationen finden Sie in der Dokumentation zur Abonnementberechtigung .

Wichtig

Für Bestellungen mit hohem Volumen oder für den Fall, dass Ihre gewünschte Telefonnummer nicht verfügbar ist, besuchen Sie bitte diese Seite , um weitere Unterstützung zu erhalten.

Voraussetzungen

Erwerben einer Telefonnummer

  1. Navigieren Sie im Azure-Portal zu Ihrer Kommunikationsdienstressource.

    Screenshot der Hauptseite einer Kommunikationsdiensteressource.

  2. Wählen Sie in der Übersicht der Communication Services-Ressourcen im Menü auf der linken Seite die Option „Telefonnummern“ aus.

    Screenshot der Telefonnummernseite einer Kommunikationsdiensteressource.

  3. Wählen Sie oben links auf der Seite die Option "Abrufen " aus, um Ihre Telefonnummer zu kaufen. Dadurch wird unser Shopping-Assistenten gestartet:

    Screenshot des Suchassistenten für den Telefonnummern-Warenkorb.

  4. Wählen Sie das Land/die Region aus, in dem Sie die Telefonnummer bereitstellen möchten. Die Verfügbarkeit des Landes/der Region basiert auf dem Abrechnungsort für Ihr Azure-Abonnement. Weitere Informationen dazu, welche Nummern für jedes Land/jede Region verfügbar sind, finden Sie hier. Als Nächstes wählen Sie den Nummerntyp aus. Sie können aus zwei Telefonnummerntypen auswählen: Lokal und gebührenfrei.

Hinweis

  • Massenbestellungen oder einige Länder/Regionen, z. B. die Niederlande, erfordern eine spezielle Bestellung für Telefonnummern. Wenn eine spezielle Bestellung erforderlich ist, werden Sie aufgefordert, dem unten genannten Sonderauftragsprozess zu folgen.
  • Klicken Sie im Abschnitt "Telefonnummern" auf "Sonderbestellung anfordern".
  • Öffnen Sie einen neuen Fall.
  • Wählen Sie "Azure Communication Service" als Kundenprofil aus.
  • Wählen Sie das Land/die Region aus, in dem Sie die Telefonnummern benötigen.
  • Wählen Sie "New TN Acquisition" als Falltyp aus.
  • Geben Sie die erforderlichen Details ein, und übermitteln Sie Ihre Anfrage.
  1. Wählen Sie "Suchen" aus, um Zahlen abzurufen, die Ihren ausgewählten Kriterien entsprechen. Sie haben verschiedene Filter, um nach der Nummer zu suchen, die Ihren Anforderungen entspricht, einschließlich:

    • Anwendungsfall: Dies bezieht sich darauf, ob Sie diese Nummer verwenden, um von einer Anwendung (A2P) oder von einem menschlichen Agenten (P2P) aus anzurufen.
    • Anruf: Dies dient zum Bestimmen der Anruffunktionen, die Sie für Ihre Telefonnummer wünschen: Tätigen von Anrufen und/oder Empfangen von Anrufen.
    • SMS: Dies dient zum Bestimmen der SMS-Funktionen, die Sie für Ihre Telefonnummer wünschen: Senden und/oder Empfangen von SMS-Nachrichten.
    • Benutzerdefiniert: Sie können auch benutzerdefinierte Filter hinzufügen, um ein bestimmtes Präfix oder eine Reihe von Ziffern in Ihrer Telefonnummer zu erhalten.

    Screenshot der Seite zum Kauf von Telefonnummern mit verfügbaren Telefonnummern.

  2. Sobald Sie die gewünschte Telefonnummer oder Telefonnummern gefunden haben, wählen Sie "Zum Warenkorb hinzufügen", um die Nummern im Telefoniekorb abzulegen. Diese Nummern werden 16 Minuten lang reserviert, bevor Ihr Warenkorb automatisch gelöscht wird.

    Screenshot des Einkaufswagens für Telefonnummern mit zwei Telefonnummern im Warenkorb.

    Hinweis

    Die angezeigten Preise sind die monatlichen wiederkehrenden Gebühren , die die Leasingkosten der ausgewählten Telefonnummer an Sie abdecken. Nicht in dieser Ansicht enthalten sind die Kosten für Pay-as-you-go , die anfallen, wenn Sie Anrufe tätigen oder empfangen. Die Preislisten sind hier verfügbar. Diese Kosten richten sich nach dem Nummerntyp und den angerufenen Zielen. Die Preise pro Minute für einen Anruf von einer Nummer in der Region Seattle bei einer Nummer in der Region New York und für einen Anruf von derselben Nummer bei einer Mobiltelefonnummer im Vereinigten Königreich können sich beispielsweise unterscheiden.

  3. Wählen Sie "Weiter" aus, um Ihren Kauf zu überprüfen. Um Ihren Kauf abzuschließen, wählen Sie "Jetzt kaufen" aus.

    Screenshot mit 2 Telefonnummern zum Überprüfen und Kaufen.

  4. Sie finden Ihre gekauften Nummern wieder auf der Seite " Telefonnummern ". Es kann einige Minuten dauern, bis die Nummern bereitgestellt werden.

    Screenshot der Seite

Funktionen für Telefonnummern

Auf der Seite " Telefonnummern " können Sie eine Telefonnummer auswählen, um sie zu konfigurieren.

Screenshot der Seite mit den Update-Funktionen.

Wählen Sie die Features aus den verfügbaren Optionen und dann "Speichern" aus, um Ihre Auswahl anzuwenden.

Freigeben einer Telefonnummer

Auf der Seite "Zahlen" können Sie Telefonnummern freigeben.

Screenshot, der die Seite

Wählen Sie die Telefonnummer aus, die Sie freigeben möchten, und wählen Sie dann auf der Schaltfläche "Loslassen " aus.

Voraussetzungen

Einrichten

Hinzufügen der Erweiterung

Fügen Sie die Azure Communication Services-Erweiterung für Azure CLI mithilfe des Befehls az extension hinzu.

az extension add --name communication

Anmelden bei der Azure-Befehlszeilenschnittstelle

Sie müssen sich bei Azure CLI anmelden. Sie können sich beim Ausführen des az login-Befehls vom Terminal anmelden und Ihre Anmeldeinformationen bereitstellen.

Operationen

Auflisten von erworbenen Telefonnummern

Führen Sie den folgenden Befehl aus, um alle erworbenen Telefonnummern abzurufen.

az communication phonenumber list --connection-string "<yourConnectionString>"

Nehmen Sie im Code diese Ersetzung vor:

  • Ersetzen Sie <yourConnectionString> durch Ihre Verbindungszeichenfolge.

Abrufen von Details zu erworbenen Telefonnummern

Führen Sie den folgenden Befehl aus, um die Telefonnummerndetails für eine erworbene Telefonnummer abzurufen.

az communication phonenumber show --phonenumber <purchasedPhoneNumber> --connection-string "<yourConnectionString>"

Führen Sie im Code die folgenden Ersetzungen durch:

  • Ersetzen Sie <purchasedPhoneNumber> durch eine Telefonnummer, die Ihrer Communication Services-Ressource zugeordnet ist.
  • Ersetzen Sie <yourConnectionString> durch Ihre Verbindungszeichenfolge.

Hinweis

Die Azure CLI-Option bietet Funktionalitäten nur zum Auflisten und Anzeigen von Telefonnummern. Andere Vorgänge wie Suchen, Kaufen, Bearbeiten oder Freigeben von Telefonnummern werden nicht unterstützt.

(Optional) Verwenden von Azure CLI-Telefonnummernvorgängen ohne Übergeben einer Verbindungszeichenfolge

Sie können die Umgebungsvariable AZURE_COMMUNICATION_CONNECTION_STRING so konfigurieren, dass Azure CLI-Telefonnummernvorgänge verwendet werden, ohne dass Sie --connection_string zum Übergeben der Verbindungszeichenfolge verwenden müssen. Öffnen Sie zum Konfigurieren einer Umgebungsvariablen ein Konsolenfenster, und wählen Sie über die folgenden Registerkarten Ihr Betriebssystem aus. Ersetzen Sie <yourConnectionString> durch Ihre Verbindungszeichenfolge.

Öffnen Sie ein Konsolenfenster, und geben Sie den folgenden Befehl ein:

setx AZURE_COMMUNICATION_CONNECTION_STRING "<yourConnectionString>"

Nachdem Sie die Umgebungsvariable hinzugefügt haben, müssen Sie unter Umständen alle ausgeführten Programme neu starten, von denen die Umgebungsvariable gelesen werden muss, z.B. das Konsolenfenster. Wenn Sie beispielsweise Visual Studio als Editor verwenden, müssen Sie Visual Studio neu starten, bevor Sie das Beispiel ausführen.

Hinweis

Finden Sie den fertigen Code für diesen Schnellstart auf GitHub

Voraussetzungen

Prüfen der Voraussetzungen

  • Führen Sie in einem Terminal- oder Befehlsfenster den Befehl dotnet aus, um sich zu vergewissern, dass die .NET-Clientbibliothek installiert ist.

Einrichten

Erstellen einer neuen C#-Anwendung

Verwenden Sie in einem Konsolenfenster (z. B. cmd, PowerShell oder Bash) den Befehl dotnet new zum Erstellen einer neuen Konsolen-App mit dem Namen PhoneNumbersQuickstart. Mit diesem Befehl wird ein einfaches C#-Projekt "Hello World" mit einer einzelnen Quelldatei erstellt: Program.cs.

dotnet new console -o PhoneNumbersQuickstart

Wechseln Sie zum neu erstellten App-Ordner, und verwenden Sie den Befehl dotnet build, um Ihre Anwendung zu kompilieren.

cd PhoneNumbersQuickstart
dotnet build

Installieren des Pakets

Installieren Sie im Anwendungsverzeichnis mithilfe des Befehls dotnet add package die Azure Communication PhoneNumbers-Clientbibliothek für das .NET-Paket.

dotnet add package Azure.Communication.PhoneNumbers --version 1.0.0

Fügen Sie oben using eine Direktive hinzu, um die Namespaces einzuschließen.

using System;
using System.Linq;
using System.Threading.Tasks;
using Azure.Communication.PhoneNumbers;

Ändern Sie die Main-Funktionssignatur in asynchron.

static async Task Main(string[] args)
{
  ...
}

Authentifizieren des Clients

Telefonnummernbenutzer können mithilfe der Verbindungszeichenfolge authentifiziert werden, die von einer Azure Communication Services-Ressource im Azure-Portal erworben wurde.

// Get a connection string to our Azure Communication Services resource.
var connectionString = "<connection_string>";
var client = new PhoneNumbersClient(connectionString);

Telefonnummernclients haben auch die Möglichkeit, sich mit der Microsoft Entra-Authentifizierung zu authentifizieren. Mit dieser Option müssen die Umgebungsvariablen AZURE_CLIENT_SECRET, AZURE_CLIENT_ID und AZURE_TENANT_ID für die Authentifizierung eingerichtet werden.

// Get an endpoint to our Azure Communication Services resource.
var endpoint = new Uri("<endpoint_url>");
TokenCredential tokenCredential = new DefaultAzureCredential();
client = new PhoneNumbersClient(endpoint, tokenCredential);

Verwalten von Telefonnummern

Suchen nach verfügbaren Telefonnummern

Um Telefonnummern zu kaufen, müssen Sie zuerst nach verfügbaren Telefonnummern suchen. Um nach Telefonnummern zu suchen, geben Sie die Ortsvorwahl, den Zuordnungstyp, die Telefonnummernfunktionen, den Telefonnummerntyp und die Menge an. Beachten Sie, dass die Angabe der Vorwahl für gebührenfreie Telefonnummern nicht zwingend ist.

var capabilities = new PhoneNumberCapabilities(calling:PhoneNumberCapabilityType.None, sms:PhoneNumberCapabilityType.Outbound);
var searchOptions = new PhoneNumberSearchOptions { AreaCode = "833", Quantity = 1 };

var searchOperation = await client.StartSearchAvailablePhoneNumbersAsync("US", PhoneNumberType.TollFree, PhoneNumberAssignmentType.Application, capabilities, searchOptions);
await searchOperation.WaitForCompletionAsync();

Kaufen von Telefonnummern

Das Ergebnis der Suche nach Telefonnummern ist ein PhoneNumberSearchResult. Hierin ist ein Wert SearchId enthalten, der an die API zum Kaufen von Nummern übermittelt werden kann, um die mit der Suche ermittelten Nummern zu erwerben. Beachten Sie, dass der Aufruf der API zum Kaufen von Telefonnummern für Ihr Azure-Konto zu einer Abrechnung führt.

var purchaseOperation = await client.StartPurchasePhoneNumbersAsync(searchOperation.Value.SearchId);
await purchaseOperation.WaitForCompletionResponseAsync();

Telefonnummern erhalten

Nach dem Kauf einer Nummer können Sie diese vom Client abrufen.

var getPhoneNumberResponse = await client.GetPurchasedPhoneNumberAsync("+14255550123");
Console.WriteLine($"Phone number: {getPhoneNumberResponse.Value.PhoneNumber}, country code: {getPhoneNumberResponse.Value.CountryCode}");

Sie können auch alle erworbenen Telefonnummern abrufen.

var purchasedPhoneNumbers = client.GetPurchasedPhoneNumbersAsync();
await foreach (var purchasedPhoneNumber in purchasedPhoneNumbers)
{
    Console.WriteLine($"Phone number: {purchasedPhoneNumber.PhoneNumber}, country code: {purchasedPhoneNumber.CountryCode}");
}

Funktionen für Telefonnummern

Mit einer erworbenen Nummer können Sie die Funktionen aktualisieren.

var updateCapabilitiesOperation = await client.StartUpdateCapabilitiesAsync("+14255550123", calling: PhoneNumberCapabilityType.Outbound, sms: PhoneNumberCapabilityType.InboundOutbound);
await updateCapabilitiesOperation.WaitForCompletionAsync();

Freigeben einer Telefonnummer

Sie können eine erworbene Telefonnummer freigeben.

var releaseOperation = await client.StartReleasePhoneNumberAsync("+14255550123");
await releaseOperation.WaitForCompletionResponseAsync();

Ausführen des Codes

Führen Sie die Anwendung mit dem Befehl dotnet run aus dem Anwendungsverzeichnis aus.

dotnet run

Beispielcode

Sie können die Beispiel-App von GitHub herunterladen.

Hinweis

Finden Sie den fertigen Code für diesen Schnellstart auf GitHub

Voraussetzungen

Einrichten

Erstellen einer neuen Java-Anwendung

Öffnen Sie Ihr Terminal oder Befehlsfenster. Navigieren Sie zu dem Verzeichnis, in dem Sie Ihre Java-Anwendung erstellen möchten. Führen Sie den unten angegebenen Befehl aus, um das Java-Projekt auf der Grundlage der Vorlage „maven-archetype-quickstart“ zu generieren.

mvn archetype:generate -DgroupId=com.communication.quickstart -DartifactId=communication-quickstart -DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeVersion=1.4 -DinteractiveMode=false

Wie Sie sehen, wurde durch die Aufgabe „generate“ ein Verzeichnis erstellt, das den gleichen Namen besitzt wie die Artefakt-ID (artifactId). In diesem Verzeichnis enthält das Verzeichnis „src/main/java“ den Quellcode des Projekts. Das Verzeichnis src/test/java directory enthält die Testquelle, und die Datei pom.xml ist das Projektobjektmodell (POM) des Projekts.

Installieren des Pakets

Öffnen Sie die pom.xml Datei in Ihrem Text-Editor. Fügen Sie der Gruppe der Abhängigkeiten das folgende Abhängigkeitselement hinzu:

<dependency>
    <groupId>com.azure</groupId>
    <artifactId>azure-communication-common</artifactId>
    <version>1.0.0</version>
</dependency>

<dependency>
    <groupId>com.azure</groupId>
    <artifactId>azure-communication-phonenumbers</artifactId>
    <version>1.0.0</version>
</dependency>

<dependency>
    <groupId>com.azure</groupId>
    <artifactId>azure-identity</artifactId>
    <version>1.2.3</version>
</dependency>

Einrichten des App-Frameworks

Über das Projektverzeichnis:

  1. Navigieren Sie zum Verzeichnis "/src/main/java/com/communication/quickstart ".
  2. Öffnen der App.java Datei im Editor
  3. Ersetzen Sie die Anweisung System.out.println("Hello world!");.
  4. Fügen Sie Anweisungen vom Typ import hinzu.

Verwenden Sie zum Einstieg den folgenden Code:

import com.azure.communication.phonenumbers.*;
import com.azure.communication.phonenumbers.models.*;
import com.azure.core.http.rest.*;
import com.azure.core.util.Context;
import com.azure.core.util.polling.LongRunningOperationStatus;
import com.azure.core.util.polling.PollResponse;
import com.azure.core.util.polling.SyncPoller;
import com.azure.identity.*;
import java.io.*;

public class App
{
    public static void main( String[] args ) throws IOException
    {
        System.out.println("Azure Communication Services - Phone Numbers Quickstart");
        // Quickstart code goes here
    }
}

Authentifizieren des Phone Numbers-Clients

Der PhoneNumberClientBuilder ist für die Verwendung der Microsoft Entra-Authentifizierung aktiviert

// You can find your endpoint and access key from your resource in the Azure portal
String endpoint = "https://<RESOURCE_NAME>.communication.azure.com";

PhoneNumbersClient phoneNumberClient = new PhoneNumbersClientBuilder()
    .endpoint(endpoint)
    .credential(new DefaultAzureCredentialBuilder().build())
    .buildClient();

Alternativ können Sie auch den Endpunkt und den Zugriffsschlüssel aus der Kommunikationsressource zur Authentifizierung verwenden.

// You can find your connection string from your resource in the Azure portal
String connectionString = "endpoint=https://<RESOURCE_NAME>.communication.azure.com/;accesskey=<ACCESS_KEY>";

PhoneNumbersClient phoneNumberClient = new PhoneNumbersClientBuilder()
    .connectionString(connectionString)
    .buildClient();

Verwalten von Telefonnummern

Suchen nach verfügbaren Telefonnummern

Um Telefonnummern zu kaufen, müssen Sie zuerst nach verfügbaren Telefonnummern suchen. Um nach Telefonnummern zu suchen, geben Sie die Ortsvorwahl, den Zuordnungstyp, die Telefonnummernfunktionen, den Telefonnummerntyp und die Menge an. Beachten Sie, dass die Angabe der Vorwahl für gebührenfreie Telefonnummern nicht zwingend ist.

 PhoneNumberCapabilities capabilities = new PhoneNumberCapabilities()
    .setCalling(PhoneNumberCapabilityType.INBOUND)
    .setSms(PhoneNumberCapabilityType.INBOUND_OUTBOUND);
PhoneNumberSearchOptions searchOptions = new PhoneNumberSearchOptions().setAreaCode("833").setQuantity(1);

SyncPoller<PhoneNumberOperation, PhoneNumberSearchResult> poller = phoneNumberClient
    .beginSearchAvailablePhoneNumbers("US", PhoneNumberType.TOLL_FREE, PhoneNumberAssignmentType.APPLICATION, capabilities, searchOptions, Context.NONE);
PollResponse<PhoneNumberOperation> response = poller.waitForCompletion();
String searchId = "";

if (LongRunningOperationStatus.SUCCESSFULLY_COMPLETED == response.getStatus()) {
    PhoneNumberSearchResult searchResult = poller.getFinalResult();
    searchId = searchResult.getSearchId();
    System.out.println("Searched phone numbers: " + searchResult.getPhoneNumbers());
    System.out.println("Search expires by: " + searchResult.getSearchExpiresBy());
    System.out.println("Phone number costs:" + searchResult.getCost().getAmount());
}

Kaufen von Telefonnummern

Das Ergebnis der Suche nach Telefonnummern ist ein PhoneNumberSearchResult. Hierin ist ein Wert searchId enthalten, der an die API zum Kaufen von Nummern übermittelt werden kann, um die mit der Suche ermittelten Nummern zu erwerben. Beachten Sie, dass der Aufruf der API zum Kaufen von Telefonnummern für Ihr Azure-Konto zu einer Abrechnung führt.

PollResponse<PhoneNumberOperation> purchaseResponse = phoneNumberClient.beginPurchasePhoneNumbers(searchId, Context.NONE).waitForCompletion();
System.out.println("Purchase phone numbers operation is: " + purchaseResponse.getStatus());

Telefonnummern erhalten

Nach dem Kauf einer Nummer können Sie diese vom Client abrufen.

PurchasedPhoneNumber phoneNumber = phoneNumberClient.getPurchasedPhoneNumber("+14255550123");
System.out.println("Phone Number Country Code: " + phoneNumber.getCountryCode());

Sie können auch alle erworbenen Telefonnummern abrufen.

PagedIterable<PurchasedPhoneNumber> phoneNumbers = phoneNumberClient.listPurchasedPhoneNumbers(Context.NONE);
PurchasedPhoneNumber phoneNumber = phoneNumbers.iterator().next();
System.out.println("Phone Number Country Code: " + phoneNumber.getCountryCode());

Funktionen für Telefonnummern

Mit einer erworbenen Nummer können Sie die Funktionen aktualisieren.

PhoneNumberCapabilities capabilities = new PhoneNumberCapabilities();
capabilities
    .setCalling(PhoneNumberCapabilityType.INBOUND)
    .setSms(PhoneNumberCapabilityType.INBOUND_OUTBOUND);

SyncPoller<PhoneNumberOperation, PurchasedPhoneNumber> poller = phoneNumberClient.beginUpdatePhoneNumberCapabilities("+18001234567", capabilities, Context.NONE);
PollResponse<PhoneNumberOperation> response = poller.waitForCompletion();
if (LongRunningOperationStatus.SUCCESSFULLY_COMPLETED == response.getStatus()) {
    PurchasedPhoneNumber phoneNumber = poller.getFinalResult();
    System.out.println("Phone Number Calling capabilities: " + phoneNumber.getCapabilities().getCalling()); //Phone Number Calling capabilities: inbound
    System.out.println("Phone Number SMS capabilities: " + phoneNumber.getCapabilities().getSms()); //Phone Number SMS capabilities: inbound+outbound
}

Freigeben einer Telefonnummer

Sie können eine erworbene Telefonnummer freigeben.

PollResponse<PhoneNumberOperation> releaseResponse =
    phoneNumberClient.beginReleasePhoneNumber("+14255550123", Context.NONE).waitForCompletion();
System.out.println("Release phone number operation is: " + releaseResponse.getStatus());

Ausführen des Codes

Navigieren Sie mit dem folgenden Befehl zu dem Verzeichnis, das die mvn Datei enthält, und kompilieren Sie das Projekt.

mvn compile

Erstellen Sie dann das Paket.

mvn package

Führen Sie die App mit dem folgenden mvn-Befehl aus.

mvn exec:java -Dexec.mainClass="com.communication.quickstart.App" -Dexec.cleanupDaemonThreads=false

In der Ausgabe der App wird die jeweils abgeschlossene Aktion beschrieben:

Azure Communication Services - Phone Numbers Quickstart

Searched phone numbers: [+18001234567]

Purchase phone numbers operation is: SUCCESSFULLY_COMPLETED

Phone Number Country Code: US

Phone Number Calling capabilities: inbound

Phone Number SMS capabilities: inbound

Release phone number operation is: SUCCESSFULLY_COMPLETED

Hinweis

Finden Sie den fertigen Code für diesen Schnellstart auf GitHub

Voraussetzungen

Einrichten

Erstellen einer neuen Python-Anwendung

Öffnen Sie Ihr Terminal- oder Befehlsfenster, erstellen Sie ein neues Verzeichnis für Ihre App, und navigieren Sie dann zu diesem Verzeichnis.

mkdir phone-numbers-quickstart && cd phone-numbers-quickstart

Erstellen Sie mithilfe eines Text-Editors im Stammverzeichnis des Projekts eine Datei mit dem Namen „phone_numbers_sample.py“, und fügen Sie den folgenden Code hinzu. In den folgenden Abschnitten fügen wir den restlichen Schnellstart.Code hinzu.

import os
from azure.communication.phonenumbers import PhoneNumbersClient

try:
   print('Azure Communication Services - Phone Numbers Quickstart')
   # Quickstart code goes here
except Exception as ex:
   print('Exception:')
   print(ex)

Installieren des Pakets

Installieren Sie im Anwendungsverzeichnis mithilfe des Befehls pip install das Python-Paket der Azure Communication Services-Clientbibliothek „Administration“.

pip install azure-communication-phonenumbers

Authentifizieren des Phone Numbers-Clients

Die Verwendung der PhoneNumbersClient Microsoft Entra-Authentifizierung ist aktiviert. Die Verwendung des DefaultAzureCredential-Objekts ist die einfachste Möglichkeit, um mit Azure AD zu beginnen. Sie können es mit dem Befehl pip install installieren.

pip install azure-identity

Zum Erstellen eines DefaultAzureCredential-Objekts müssen Sie AZURE_CLIENT_ID, AZURE_CLIENT_SECRET und AZURE_TENANT_ID bereits als Umgebungsvariablen mit den entsprechenden Werten aus der registrierten Azure AD-Anwendung festlegen.

Eine kurze Übersicht zum Abrufen dieser Umgebungsvariablen finden Sie im Schnellstart Einrichten von Dienstprinzipalen über die CLI.

Nachdem Sie die azure-identity-Bibliothek installiert haben, können Sie die Authentifizierung des Clients fortsetzen.

import os
from azure.communication.phonenumbers import PhoneNumbersClient
from azure.identity import DefaultAzureCredential

# You can find your endpoint from your resource in the Azure portal
endpoint = 'https://<RESOURCE_NAME>.communication.azure.com'
try:
    print('Azure Communication Services - Phone Numbers Quickstart')
    credential = DefaultAzureCredential()
    phone_numbers_client = PhoneNumbersClient(endpoint, credential)
except Exception as ex:
    print('Exception:')
    print(ex)

Alternativ können Sie auch den Endpunkt und den Zugriffsschlüssel aus der Kommunikationsressource zur Authentifizierung verwenden.

import os
from azure.communication.phonenumbers import PhoneNumbersClient

# You can find your connection string from your resource in the Azure portal
connection_string = 'https://<RESOURCE_NAME>.communication.azure.com/;accesskey=<YOUR_ACCESS_KEY>'
try:
    print('Azure Communication Services - Phone Numbers Quickstart')
    phone_numbers_client = PhoneNumbersClient.from_connection_string(connection_string)
except Exception as ex:
    print('Exception:')
    print(ex)

Funktionen

Nachdem PhoneNumbersClient authentifiziert wurde, können Sie mit der Arbeit an den verschiedenen Funktionen beginnen, die davon übernommen werden können.

Suchen nach verfügbaren Telefonnummern

Um Telefonnummern zu kaufen, müssen Sie zuerst nach verfügbaren Telefonnummern suchen. Um nach Telefonnummern zu suchen, geben Sie die Ortsvorwahl, den Zuordnungstyp, die Telefonnummernfunktionen, den Telefonnummerntyp und die Menge an (Die Standardmenge ist auf 1 festgelegt). Beachten Sie, dass die Angabe der Vorwahl für gebührenfreie Telefonnummern nicht zwingend ist.

import os
from azure.communication.phonenumbers import PhoneNumbersClient, PhoneNumberCapabilityType, PhoneNumberAssignmentType, PhoneNumberType, PhoneNumberCapabilities
from azure.identity import DefaultAzureCredential

# You can find your endpoint from your resource in the Azure portal
endpoint = 'https://<RESOURCE_NAME>.communication.azure.com'
try:
    print('Azure Communication Services - Phone Numbers Quickstart')
    credential = DefaultAzureCredential()
    phone_numbers_client = PhoneNumbersClient(endpoint, credential)
    capabilities = PhoneNumberCapabilities(
        calling = PhoneNumberCapabilityType.INBOUND,
        sms = PhoneNumberCapabilityType.INBOUND_OUTBOUND
    )
    search_poller = phone_numbers_client.begin_search_available_phone_numbers(
        "US",
        PhoneNumberType.TOLL_FREE,
        PhoneNumberAssignmentType.APPLICATION,
        capabilities,
        polling = True
    )
    search_result = search_poller.result()
    print ('Search id: ' + search_result.search_id)
    phone_number_list = search_result.phone_numbers
    print('Reserved phone numbers:')
    for phone_number in phone_number_list:
        print(phone_number)

except Exception as ex:
    print('Exception:')
    print(ex)

Kaufen von Telefonnummern

Das Ergebnis der Suche nach Telefonnummern ist ein PhoneNumberSearchResult. Hierin ist ein Wert searchId enthalten, der an die API zum Kaufen von Nummern übermittelt werden kann, um die mit der Suche ermittelten Nummern zu erwerben. Beachten Sie, dass der Aufruf der API zum Kaufen von Telefonnummern für Ihr Azure-Konto zu einer Abrechnung führt.

import os
from azure.communication.phonenumbers import (
    PhoneNumbersClient,
    PhoneNumberCapabilityType,
    PhoneNumberAssignmentType,
    PhoneNumberType,
    PhoneNumberCapabilities
)
from azure.identity import DefaultAzureCredential

# You can find your endpoint from your resource in the Azure portal
endpoint = 'https://<RESOURCE_NAME>.communication.azure.com'
try:
    print('Azure Communication Services - Phone Numbers Quickstart')
    credential = DefaultAzureCredential()
    phone_numbers_client = PhoneNumbersClient(endpoint, credential)
    capabilities = PhoneNumberCapabilities(
        calling = PhoneNumberCapabilityType.INBOUND,
        sms = PhoneNumberCapabilityType.INBOUND_OUTBOUND
    )
    search_poller = phone_numbers_client.begin_search_available_phone_numbers(
        "US",
        PhoneNumberType.TOLL_FREE,
        PhoneNumberAssignmentType.APPLICATION,
        capabilities,
        area_code="833",
        polling = True
    )
    search_result = poller.result()
    print ('Search id: ' + search_result.search_id)
    phone_number_list = search_result.phone_numbers
    print('Reserved phone numbers:')
    for phone_number in phone_number_list:
        print(phone_number)

    purchase_poller = phone_numbers_client.begin_purchase_phone_numbers(search_result.search_id, polling = True)
    purchase_poller.result()
    print("The status of the purchase operation was: " + purchase_poller.status())
except Exception as ex:
    print('Exception:')
    print(ex)

Erhalten von erworbenen Telefonnummern

Nach dem Kauf einer Nummer können Sie diese vom Client abrufen.

purchased_phone_number_information = phone_numbers_client.get_purchased_phone_number("+18001234567")
print('Phone number: ' + purchased_phone_number_information.phone_number)
print('Country code: ' + purchased_phone_number_information.country_code)

Sie können auch alle erworbenen Telefonnummern abrufen.

purchased_phone_numbers = phone_numbers_client.list_purchased_phone_numbers()
print('Purchased phone numbers:')
for purchased_phone_number in purchased_phone_numbers:
    print(purchased_phone_number.phone_number)

Funktionen für Telefonnummern

Sie können die Funktionen einer zuvor erworbenen Telefonnummer aktualisieren.

update_poller = phone_numbers_client.begin_update_phone_number_capabilities(
    "+18001234567",
    PhoneNumberCapabilityType.OUTBOUND,
    PhoneNumberCapabilityType.OUTBOUND,
    polling = True
)
update_poller.result()
print('Status of the operation: ' + update_poller.status())

Freigeben einer Telefonnummer

Sie können eine erworbene Telefonnummer freigeben.

release_poller = phone_numbers_client.begin_release_phone_number("+18001234567")
release_poller.result()
print('Status of the operation: ' + release_poller.status())

Ausführen des Codes

Navigieren Sie in einer Konsoleneingabeaufforderung zum Verzeichnis mit der Datei phone_numbers_sample.py, und führen Sie anschließend den folgenden Phyton-Befehl aus, um die App auszuführen.

python phone_numbers_sample.py

Hinweis

Finden Sie den fertigen Code für diesen Schnellstart auf GitHub

Voraussetzungen

Prüfen der Voraussetzungen

  • Führen Sie in einem Terminal- oder Befehlsfenster node --version aus, um sich zu vergewissern, dass Node.js installiert ist.

Einrichten

Erstellen einer neuen Node.js-Anwendung

Öffnen Sie zunächst Ihr Terminal- oder Befehlsfenster, erstellen Sie ein neues Verzeichnis für Ihre App, und navigieren Sie zu diesem Verzeichnis.

mkdir phone-numbers-quickstart && cd phone-numbers-quickstart

Führen Sie diesen Befehl npm init -y aus, um eine package.json Datei mit Standardeinstellungen zu erstellen.

npm init -y

Erstellen Sie eine Datei namensphone-numbers-quickstart.js im Stammverzeichnis des soeben erstellten Verzeichnisses. Führen Sie den folgenden Codeausschnitt hinzu:

async function main() {
    // quickstart code will here
}

main();

Installieren des Pakets

Verwenden Sie den Befehl npm install, um die JavaScript-Clientbibliothek für Telefonnummern von Azure Communication Services zu installieren.

npm install @azure/communication-phone-numbers --save

Die --save Option fügt die Bibliothek als Abhängigkeit in Ihrer package.jsonDatei hinzu .

Authentifizieren des Clients

Importieren Sie den PhoneNumbersClient aus der Clientbibliothek, und instanziieren Sie ihn mit Ihrer Verbindungszeichenfolge. Im folgenden Code wird die Verbindungszeichenfolge für die Ressource aus einer Umgebungsvariablen namens COMMUNICATION_SERVICES_CONNECTION_STRING abgerufen. Erfahren Sie, wie Sie die Verbindungszeichenfolge Ihrer Ressource verwalten.

Fügen Sie an den Anfang von phone-numbers-quickstart.js den folgenden Code hinzu:

const { PhoneNumbersClient } = require('@azure/communication-phone-numbers');

// This code demonstrates how to fetch your connection string
// from an environment variable.
const connectionString = process.env['COMMUNICATION_SERVICES_CONNECTION_STRING'];

// Instantiate the phone numbers client
const phoneNumbersClient = new PhoneNumbersClient(connectionString);

Verwalten von Telefonnummern

Suchen nach verfügbaren Telefonnummern

Um Telefonnummern zu kaufen, müssen Sie zuerst nach verfügbaren Telefonnummern suchen. Um nach Telefonnummern zu suchen, geben Sie die Ortsvorwahl, den Zuordnungstyp, die Telefonnummernfunktionen, den Telefonnummerntyp und die Menge an. Beachten Sie, dass die Angabe der Vorwahl für gebührenfreie Telefonnummern nicht zwingend ist.

Fügen Sie Ihrer main-Funktion den unten angegebenen Codeausschnitt hinzu:

/**
 * Search for Available Phone Number
 */

// Create search request
const searchRequest = {
    countryCode: "US",
    phoneNumberType: "tollFree",
    assignmentType: "application",
    capabilities: {
      sms: "outbound",
      calling: "none"
    },
    areaCode: "833",
    quantity: 1
  };

const searchPoller = await phoneNumbersClient.beginSearchAvailablePhoneNumbers(searchRequest);

// The search is underway. Wait to receive searchId.
const { searchId, phoneNumbers } = await searchPoller.pollUntilDone();
const phoneNumber = phoneNumbers[0];

console.log(`Found phone number: ${phoneNumber}`);
console.log(`searchId: ${searchId}`);

Kaufen von Telefonnummern

Das Ergebnis der Suche nach Telefonnummern ist ein PhoneNumberSearchResult. Hierin ist ein Wert searchId enthalten, der an die API zum Kaufen von Nummern übermittelt werden kann, um die mit der Suche ermittelten Nummern zu erwerben. Beachten Sie, dass der Aufruf der API zum Kaufen von Telefonnummern für Ihr Azure-Konto zu einer Abrechnung führt.

Fügen Sie Ihrer main-Funktion den unten angegebenen Codeausschnitt hinzu:

/**
 * Purchase Phone Number
 */

const purchasePoller = await phoneNumbersClient.beginPurchasePhoneNumbers(searchId);

// Purchase is underway.
await purchasePoller.pollUntilDone();
console.log(`Successfully purchased ${phoneNumber}`);

Funktionen für Telefonnummern

Fügen Sie, nachdem Sie nun eine Telefonnummer erworben haben, den folgenden Code hinzu, um ihre Funktionen zu aktualisieren:

/**
 * Update Phone Number Capabilities
 */

// Create update request.
// This will update phone number to send and receive sms, but only send calls.
const updateRequest = {
  sms: "inbound+outbound",
  calling: "outbound"
};

const updatePoller = await phoneNumbersClient.beginUpdatePhoneNumberCapabilities(
  phoneNumber,
  updateRequest
);

// Update is underway.
await updatePoller.pollUntilDone();
console.log("Phone number updated successfully.");

Erhalten von erworbenen Telefonnummern

Nach dem Kauf einer Nummer können Sie diese vom Client abrufen. Fügen Sie zu ihrer main-Funktion den folgenden Code hinzu, um die soeben erworbene Telefonnummer zu erhalten:

/**
 * Get Purchased Phone Number
 */

const { capabilities } = await phoneNumbersClient.getPurchasedPhoneNumber(phoneNumber);
console.log("These capabilities:", capabilities, "should be the same as these:", updateRequest, ".");

Sie können auch alle erworbenen Telefonnummern abrufen.

const purchasedPhoneNumbers = await phoneNumbersClient.listPurchasedPhoneNumbers();

for await (const purchasedPhoneNumber of purchasedPhoneNumbers) {
  console.log(`Phone number: ${purchasedPhoneNumber.phoneNumber}, country code: ${purchasedPhoneNumber.countryCode}.`);
}

Freigeben einer Telefonnummer

Nun können Sie die erworbene Telefonnummer freigeben. Fügen Sie zur main-Funktion den folgenden Codeausschnitt hinzu:

/**
 * Release Purchased Phone Number
 */

const releasePoller = await phoneNumbersClient.beginReleasePhoneNumber(phoneNumber);

// Release is underway.
await releasePoller.pollUntilDone();
console.log("Successfully release phone number.");

Ausführen des Codes

Verwenden Sie den node Befehl, um den Code auszuführen, den Sie der dateiphone-numbers-quickstart.js hinzugefügt haben.

node phone-numbers-quickstart.js

Problembehandlung

Allgemeine Fragen und Probleme:

  • Wenn eine Telefonnummer freigegeben wurde, wird sie bis zum Ende des Abrechnungszeitraums als ACS-Ressource im Azure-Portal angezeigt. Sie kann auch erst am Ende des Abrechnungszeitraums erneut erworben werden.

  • Wenn eine Communication Services-Ressource gelöscht wird, werden die Telefonnummern, die dieser Ressource zugeordnet sind, gleichzeitig automatisch freigegeben.

Nächste Schritte

In dieser Schnellstartanleitung haben Sie Folgendes gelernt:

  • Erwerben einer Telefonnummer
  • Verwalten Ihrer Telefonnummer
  • Freigeben einer Telefonnummer
  • Einreichen einer Überprüfungsanwendung für gebührenfreie Telefonnummern (falls erforderlich)