Snabbstart: Hämta och hantera telefonnummer
Viktigt!
SMS- och PSTN-funktioner beror på vilket telefonnummer du använder och det land/den region som du arbetar inom enligt din Azure-faktureringsadress. Mer information finns i dokumentationen om prenumerationsberättigande.
Viktigt!
För beställningar med stora volymer eller om det önskade telefonnumret inte är tillgängligt kan du gå till den här sidan för ytterligare hjälp.
Förutsättningar
- Ett Azure-konto med en aktiv prenumeration. Skapa ett konto utan kostnad.
- En aktiv Communication Services-resurs.
Hämta ett telefonnummer
Om du vill börja etablera nummer går du till din Communication Services-resurs på Azure Portal.
Sök efter tillgängliga telefonnummer
Gå till bladet Telefonnummer på resursmenyn.
Tryck på knappen Hämta för att starta guiden. Guiden på bladet Telefonnummer vägleder dig genom en rad frågor som hjälper dig att välja det telefonnummer som passar bäst för ditt scenario.
Du måste först välja det land/den region där du vill etablera telefonnumret. När du har valt Land/region måste du sedan välja det användningsfall som passar bäst för dina behov.
Välj telefonnummerfunktioner
Konfigurationen av ditt telefonnummer är uppdelad i två steg:
- Valet av taltyp
- Valet av antal funktioner
Du kan välja mellan två typer av telefonnummer: Lokal och Avgiftsfri. När du har valt en nummertyp kan du sedan välja funktionen.
I vårt exempel har vi valt en avgiftsfri nummertyp med funktionen Ringa samtal och Skicka och ta emot SMS.
Härifrån klickar du på knappen Nästa: Nummer längst ned på sidan för att anpassa de telefonnummer som du vill etablera.
Anpassa telefonnummer
På sidan Nummer anpassar du de telefonnummer som du vill etablera.
Kommentar
Den här snabbstarten visar anpassningsflödet för avgiftsfria nummertyper. Upplevelsen kan vara något annorlunda om du har valt typen Lokalt nummer, men slutresultatet blir detsamma.
Välj riktnummer i listan över tillgängliga riktnummer och ange den kvantitet som du vill etablera och klicka sedan på Sök för att hitta nummer som uppfyller dina valda krav. De telefonnummer som uppfyller dina behov visas tillsammans med deras månadskostnad.
Kommentar
Tillgänglighet beror på nummertyp, plats och de funktioner som du har valt. Tal reserveras under en kort tid innan transaktionen upphör att gälla. Om transaktionen upphör att gälla måste du välja om numren.
Om du vill visa inköpssammanfattningen och placera din beställning klickar du på knappen Nästa: Sammanfattning längst ned på sidan.
Köp telefonnummer
Sammanfattningssidan granskar nummertypen, funktioner, telefonnummer och total månadskostnad för att etablera telefonnummer.
Kommentar
Priserna som visas är de månatliga återkommande avgifterna som täcker kostnaden för att hyra ut det valda telefonnumret till dig. Ingår inte i den här vyn är de betala per användning-kostnader som uppstår när du ringer eller tar emot samtal. Prislistorna finns här. Dessa kostnader beror på nummertyp och mål som anropas. Till exempel kan pris per minut för ett samtal från ett regionalt nummer i Seattle till ett regionalt nummer i New York och ett samtal från samma nummer till ett brittiskt mobilnummer vara annorlunda.
Klicka slutligen på Placera ordning längst ned på sidan för att bekräfta.
Hitta dina telefonnummer på Azure Portal
Gå till din Azure Communication Services-resurs på Azure Portal:
Välj bladet Telefonnummer på menyn för att hantera dina telefonnummer.
Kommentar
Det kan ta några minuter innan de etablerade numren visas på den här sidan.
Uppdatera funktioner för telefonnummer
På sidan Telefonnummer kan du välja ett telefonnummer för att konfigurera det.
Välj funktionerna från de tillgängliga alternativen och klicka sedan på Spara för att tillämpa ditt val.
Versionstelefonnummer
På sidan Nummer kan du släppa telefonnummer.
Välj det telefonnummer som du vill släppa och klicka sedan på knappen Släpp .
Viktigt!
Den här funktionen i Azure Communication Services är för närvarande i förhandsversion.
Förhandsversions-API:er och SDK:er tillhandahålls utan ett serviceavtal. Vi rekommenderar att du inte använder dem för produktionsarbetsbelastningar. Vissa funktioner kanske inte stöds, eller så kan de ha begränsade funktioner.
Mer information finns i Kompletterande användningsvillkor för Förhandsversioner av Microsoft Azure.
Azure Communication Services introducerar en ny användarupplevelse för att köpa telefonnummer. Den här upplevelsen flygs för närvarande, och du kan komma att introduceras för den här upplevelsen när du köper ett telefonnummer i Azure Portal. Om du har feedback om den här upplevelsen, tveka inte att ge den via knappen Ge feedback om Azure Portal tillägg.
Förutsättningar
- Ett Azure-konto med en aktiv prenumeration. Skapa ett konto utan kostnad.
- En aktiv Communication Services-resurs.
Köpa ett telefonnummer
I resursöversikten för Communication Services väljer du alternativet "Telefonnummer" i den vänstra menyn.
Välj Hämta längst upp till vänster på sidan för att köpa ditt telefonnummer. När du väljer det här startas vår shoppingguide:
Välj det land/den region där du vill etablera telefonnumret. Tillgänglighet för land/region baseras på faktureringsplatsen för din Azure-prenumeration. Mer information om vilka siffror som är tillgängliga för varje land/region finns här. Därefter väljer du nummertypen. Du kan välja mellan två typer av telefonnummer: Lokal och Avgiftsfri.
Välj Sök för att hämta nummer som uppfyller dina valda villkor. Du har olika filter för att söka efter det nummer som passar dina behov, inklusive:
- Användningsfall: Detta gäller om du använder det här numret för att anropa från ett program (A2P) eller från en mänsklig agent (P2P).
- Samtal: Detta är för att fastställa vilka samtalsfunktioner du vill ha för ditt telefonnummer: Ringa samtal och/eller ta emot samtal.
- SMS: Detta är för att fastställa vilka SMS-funktioner du vill ha för ditt telefonnummer: Skicka och/eller ta emot SMS.
- Anpassad: Du kan också lägga till anpassade filter för att hämta ett visst prefix eller en uppsättning siffror i ditt telefonnummer.
När du har hittat det telefonnummer eller nummer du väljer väljer du Lägg till i kundvagn för att lagra numren i telefonvagnen. Dessa nummer lagras i 16 minuter innan din kundvagn rensas automatiskt.
Kommentar
Priserna som visas är de månatliga återkommande avgifterna som täcker kostnaden för att hyra ut det valda telefonnumret till dig. Ingår inte i den här vyn är de betala per användning-kostnader som uppstår när du ringer eller tar emot samtal. Prislistorna finns här. Dessa kostnader beror på nummertyp och mål som anropas. Till exempel kan pris per minut för ett samtal från ett regionalt nummer i Seattle till ett regionalt nummer i New York och ett samtal från samma nummer till ett brittiskt mobilnummer vara annorlunda.
Välj Nästa för att granska ditt köp. Slutför köpet genom att välja Köp nu.
Du hittar dina köpta nummer på sidan Telefonnummer . Det kan ta några minuter innan talen etableras.
Uppdatera funktioner för telefonnummer
På sidan Telefonnummer kan du välja ett telefonnummer för att konfigurera det.
Välj funktionerna från de tillgängliga alternativen och välj sedan Spara för att tillämpa ditt val.
Versionstelefonnummer
På sidan Nummer kan du släppa telefonnummer.
Välj det telefonnummer som du vill släppa och välj sedan på knappen Släpp .
Förutsättningar
Ett Azure-konto med en aktiv prenumeration. Skapa ett konto utan kostnad.
En aktiv Communication Services-resurs och anslutningssträng. Skapa en Communication Services-resurs.
Installera Azure CLI.
Ett köpt telefonnummer.
Konfigurera
Lägga till tillägget
Lägg till Azure Communication Services-tillägget för Azure CLI med hjälp az extension
av kommandot .
az extension add --name communication
Logga in på Azure CLI
Du måste logga in på Azure CLI. Du kan logga in med az login
kommandot från terminalen och ange dina autentiseringsuppgifter.
Operations
Lista köpta telefonnummer
Kör följande kommando för att hämta alla köpta telefonnummer.
az communication phonenumber list --connection-string "<yourConnectionString>"
Gör den här ersättningen i koden:
- Ersätt
<yourConnectionString>
med din anslutningssträng.
Hämta information om köpta telefonnummer
Kör följande kommando för att hämta telefonnummerinformationen för ett köpt telefonnummer.
az communication phonenumber show --phonenumber <purchasedPhoneNumber> --connection-string "<yourConnectionString>"
Gör följande ersättningar i koden:
- Ersätt
<purchasedPhoneNumber>
med ett telefonnummer som är associerat med din Communication Services-resurs. - Ersätt
<yourConnectionString>
med din anslutningssträng.
Kommentar
Azure CLI-alternativet innehåller endast funktioner för att lista och visa telefonnummer. Det stöder inte andra åtgärder som att söka, köpa, redigera eller släppa telefonnummer.
(Valfritt) Använda Azure CLI-telefonnummeråtgärder utan att skicka in en anslutningssträng
Du kan konfigurera AZURE_COMMUNICATION_CONNECTION_STRING
miljövariabeln så att den använder Azure CLI-telefonnummeråtgärder utan att behöva använda --connection_string
för att skicka in anslutningssträng. Om du vill konfigurera en miljövariabel öppnar du ett konsolfönster och väljer ditt operativsystem på flikarna nedan. Ersätt <yourConnectionString>
med din faktiska anslutningssträng.
Öppna ett konsolfönster och ange följande kommando:
setx AZURE_COMMUNICATION_CONNECTION_STRING "<yourConnectionString>"
När du har lagt till miljövariabeln kan du behöva starta om alla program som körs och som behöver läsa in miljövariabeln, däribland konsolfönstret. Om du till exempel använder Visual Studio som redigerare startar du om Visual Studio innan du kör exemplet.
Kommentar
Hitta den färdiga koden för den här snabbstarten på GitHub
Förutsättningar
- Ett Azure-konto med en aktiv prenumeration. Skapa ett konto utan kostnad.
- Den senaste versionen av .NET Core-klientbiblioteket för ditt operativsystem.
- En aktiv Communication Services-resurs och anslutningssträng. Skapa en Communication Services-resurs.
Kravkontroll
- I ett terminal- eller kommandofönster kör du
dotnet
kommandot för att kontrollera att .NET-klientbiblioteket är installerat.
Konfigurera
Skapa ett nytt C#-program
I ett konsolfönster (till exempel cmd, PowerShell eller Bash) använder du dotnet new
kommandot för att skapa en ny konsolapp med namnet PhoneNumbersQuickstart
. Det här kommandot skapar ett enkelt "Hello World"-C#-projekt med en enda källfil: Program.cs.
dotnet new console -o PhoneNumbersQuickstart
Ändra katalogen till den nyligen skapade appmappen dotnet build
och använd kommandot för att kompilera programmet.
cd PhoneNumbersQuickstart
dotnet build
Installera -paketet
Installera Azure Communication PhoneNumbers-klientbiblioteket för .NET-paketet med hjälp av kommandot medan du fortfarande är i programkatalogen dotnet add package
.
dotnet add package Azure.Communication.PhoneNumbers --version 1.0.0
Lägg till ett using
direktiv överst i Program.cs för att inkludera namnrymderna.
using System;
using System.Linq;
using System.Threading.Tasks;
using Azure.Communication.PhoneNumbers;
Uppdatera Main
funktionssignaturen så att den är asynkron.
static async Task Main(string[] args)
{
...
}
Autentisera klienten
Telefonnummerklienter kan autentiseras med hjälp av anslutningssträng som hämtats från en Azure Communication Services-resurser i Azure Portal.
// Get a connection string to our Azure Communication Services resource.
var connectionString = "<connection_string>";
var client = new PhoneNumbersClient(connectionString);
Telefonnummerklienter har också möjlighet att autentisera med Microsoft Entra-autentisering. Med det här alternativet AZURE_CLIENT_SECRET
AZURE_CLIENT_ID
måste miljövariabler och AZURE_TENANT_ID
miljövariabler konfigureras för autentisering.
// Get an endpoint to our Azure Communication Services resource.
var endpoint = new Uri("<endpoint_url>");
TokenCredential tokenCredential = new DefaultAzureCredential();
client = new PhoneNumbersClient(endpoint, tokenCredential);
Hantera telefonnummer
Sök efter tillgängliga telefonnummer
För att kunna köpa telefonnummer måste du först söka efter tillgängliga telefonnummer. Om du vill söka efter telefonnummer anger du riktnummer, tilldelningstyp, telefonnummerfunktioner, telefonnummertyp och kvantitet. Observera att för den avgiftsfria telefonnummertypen är det valfritt att ange riktnummer.
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();
Köpa telefonnummer
Resultatet av att söka efter telefonnummer är en PhoneNumberSearchResult
. Detta innehåller en SearchId
som kan skickas till API:et för inköpsnummer för att hämta numren i sökningen. Observera att om du anropar API:et för inköpstelefonnummer debiteras ditt Azure-konto.
var purchaseOperation = await client.StartPurchasePhoneNumbersAsync(searchOperation.Value.SearchId);
await purchaseOperation.WaitForCompletionResponseAsync();
Hämta telefonnummer
Efter ett inköpsnummer kan du hämta det från klienten.
var getPhoneNumberResponse = await client.GetPurchasedPhoneNumberAsync("+14255550123");
Console.WriteLine($"Phone number: {getPhoneNumberResponse.Value.PhoneNumber}, country code: {getPhoneNumberResponse.Value.CountryCode}");
Du kan också hämta alla köpta telefonnummer.
var purchasedPhoneNumbers = client.GetPurchasedPhoneNumbersAsync();
await foreach (var purchasedPhoneNumber in purchasedPhoneNumbers)
{
Console.WriteLine($"Phone number: {purchasedPhoneNumber.PhoneNumber}, country code: {purchasedPhoneNumber.CountryCode}");
}
Uppdatera funktioner för telefonnummer
Med ett köpt nummer kan du uppdatera funktionerna.
var updateCapabilitiesOperation = await client.StartUpdateCapabilitiesAsync("+14255550123", calling: PhoneNumberCapabilityType.Outbound, sms: PhoneNumberCapabilityType.InboundOutbound);
await updateCapabilitiesOperation.WaitForCompletionAsync();
Versionstelefonnummer
Du kan släppa ett köpt telefonnummer.
var releaseOperation = await client.StartReleasePhoneNumberAsync("+14255550123");
await releaseOperation.WaitForCompletionResponseAsync();
Kör koden
Kör programmet från programkatalogen dotnet run
med kommandot .
dotnet run
Exempelkod
Du kan ladda ned exempelappen från GitHub
Kommentar
Hitta den färdiga koden för den här snabbstarten på GitHub
Förutsättningar
- Ett Azure-konto med en aktiv prenumeration. Skapa ett konto utan kostnad.
- Java Development Kit (JDK) version 8 eller senare.
- Apache Maven.
- En distribuerad Communication Services-resurs och anslutningssträng. Skapa en Communication Services-resurs.
Inrätta
Skapa ett nytt Java-program
Öppna terminalen eller kommandofönstret. Navigera till katalogen där du vill skapa ditt Java-program. Kör kommandot nedan för att generera Java-projektet från mallen maven-archetype-quickstart.
mvn archetype:generate -DgroupId=com.communication.quickstart -DartifactId=communication-quickstart -DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeVersion=1.4 -DinteractiveMode=false
Du kommer att märka att aktiviteten "generera" skapade en katalog med samma namn som artifactId
. Under den här katalogen innehåller katalogen src/main/java projektkällkoden, src/test/java directory
innehåller testkällan och pom.xml
filen är projektets projektobjektmodell eller POM.
Installera -paketet
Öppna filen pom.xml i textredigeraren. Lägg till följande beroendeelement i gruppen med beroenden.
<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>
Konfigurera appramverket
Från projektkatalogen:
- Navigera till katalogen /src/main/java/com/communication/quickstart
- Öppna filen App.java i redigeringsprogrammet
- Ersätt -instruktionen
System.out.println("Hello world!");
- Lägga till
import
direktiv
Börja med följande kod:
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
}
}
Autentisera telefonnummerklienten
PhoneNumberClientBuilder är aktiverad för att använda Microsoft Entra-autentisering
// 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();
Du kan också använda slutpunkten och åtkomstnyckeln från kommunikationsresursen för att autentisera.
// 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();
Hantera telefonnummer
Sök efter tillgängliga telefonnummer
För att kunna köpa telefonnummer måste du först söka efter tillgängliga telefonnummer. Om du vill söka efter telefonnummer anger du riktnummer, tilldelningstyp, telefonnummerfunktioner, telefonnummertyp och kvantitet. Observera att för den avgiftsfria telefonnummertypen är det valfritt att ange riktnummer.
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());
}
Köp telefonnummer
Resultatet av att söka efter telefonnummer är phoneNumberSearchResult. Detta innehåller en searchId
som kan skickas till API:et för inköpsnummer för att hämta numren i sökningen. Observera att om du anropar API:et för inköpstelefonnummer debiteras ditt Azure-konto.
PollResponse<PhoneNumberOperation> purchaseResponse = phoneNumberClient.beginPurchasePhoneNumbers(searchId, Context.NONE).waitForCompletion();
System.out.println("Purchase phone numbers operation is: " + purchaseResponse.getStatus());
Hämta telefonnummer
Efter ett inköpsnummer kan du hämta det från klienten.
PurchasedPhoneNumber phoneNumber = phoneNumberClient.getPurchasedPhoneNumber("+14255550123");
System.out.println("Phone Number Country Code: " + phoneNumber.getCountryCode());
Du kan också hämta alla köpta telefonnummer.
PagedIterable<PurchasedPhoneNumber> phoneNumbers = phoneNumberClient.listPurchasedPhoneNumbers(Context.NONE);
PurchasedPhoneNumber phoneNumber = phoneNumbers.iterator().next();
System.out.println("Phone Number Country Code: " + phoneNumber.getCountryCode());
Uppdatera funktioner för telefonnummer
Med ett köpt nummer kan du uppdatera funktionerna.
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
}
Versionstelefonnummer
Du kan släppa ett köpt telefonnummer.
PollResponse<PhoneNumberOperation> releaseResponse =
phoneNumberClient.beginReleasePhoneNumber("+14255550123", Context.NONE).waitForCompletion();
System.out.println("Release phone number operation is: " + releaseResponse.getStatus());
Kör koden
Navigera till katalogen som innehåller pom.xml-filen och kompilera projektet med hjälp av följande mvn
kommando.
mvn compile
Skapa sedan paketet.
mvn package
Kör följande mvn
kommando för att köra appen.
mvn exec:java -Dexec.mainClass="com.communication.quickstart.App" -Dexec.cleanupDaemonThreads=false
Utdata från appen beskriver varje åtgärd som har slutförts:
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
Kommentar
Hitta den färdiga koden för den här snabbstarten på GitHub
Förutsättningar
- Ett Azure-konto med en aktiv prenumeration. Skapa ett konto utan kostnad.
- Python 3.7+.
- En distribuerad Communication Services-resurs och anslutningssträng. Skapa en Communication Services-resurs.
Konfigurera
Skapa ett nytt Python-program
Öppna terminalen eller kommandofönstret och skapa en ny katalog för din app och navigera sedan till den.
mkdir phone-numbers-quickstart && cd phone-numbers-quickstart
Använd en textredigerare för att skapa en fil med namnet phone_numbers_sample.py i projektrotkatalogen och lägga till följande kod. Vi lägger till den återstående snabbstartskoden i följande avsnitt.
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)
Installera -paketet
Installera Azure Communication Services Administration-klientbiblioteket för Python-paketet med hjälp av kommandot medan du fortfarande är i programkatalogen pip install
.
pip install azure-communication-phonenumbers
Autentisera telefonnummerklienten
PhoneNumbersClient
Är aktiverad för att använda Microsoft Entra-autentisering. DefaultAzureCredential
Att använda objektet är det enklaste sättet att komma igång med Microsoft Entra-ID och du kan installera det med hjälp av pip install
kommandot .
pip install azure-identity
Om du skapar ett DefaultAzureCredential
objekt måste du ha AZURE_CLIENT_ID
, AZURE_CLIENT_SECRET
och AZURE_TENANT_ID
redan angett som miljövariabler med motsvarande värden från ditt registrerade Microsoft Entra-program.
Om du vill ha en snabb upprampning av hur du hämtar dessa miljövariabler kan du följa snabbstarten Konfigurera tjänstens huvudnamn från CLI.
När du har installerat azure-identity
biblioteket kan vi fortsätta att autentisera klienten.
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)
Du kan också använda slutpunkten och åtkomstnyckeln från kommunikationsresursen för att autentisera.
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)
Funktioner
När har autentiserats PhoneNumbersClient
kan vi börja arbeta med de olika funktioner som kan utföras.
Sök efter tillgängliga telefonnummer
För att kunna köpa telefonnummer måste du först söka efter tillgängliga telefonnummer. Om du vill söka efter telefonnummer anger du riktnummer, tilldelningstyp, telefonnummerfunktioner, telefonnummertyp och kvantitet (standardkvantitet är inställt på 1). Observera att för den avgiftsfria telefonnummertypen är det valfritt att ange riktnummer.
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)
Köp telefonnummer
Resultatet av att söka efter telefonnummer är en PhoneNumberSearchResult
. Detta innehåller en searchId
som kan skickas till API:et för inköpsnummer för att hämta numren i sökningen. Observera att om du anropar API:et för inköpstelefonnummer debiteras ditt Azure-konto.
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)
Hämta köpta telefonnummer
Efter ett inköpsnummer kan du hämta det från klienten.
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)
Du kan också hämta alla köpta telefonnummer.
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)
Uppdatera funktioner för telefonnummer
Du kan uppdatera funktionerna i ett tidigare köpt telefonnummer.
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())
Versionstelefonnummer
Du kan släppa ett köpt telefonnummer.
release_poller = phone_numbers_client.begin_release_phone_number("+18001234567")
release_poller.result()
print('Status of the operation: ' + release_poller.status())
Kör koden
Gå till katalogen som innehåller phone_numbers_sample.py-filen från en konsolprompt och kör sedan följande Python-kommando för att köra appen.
python phone_numbers_sample.py
Kommentar
Hitta den färdiga koden för den här snabbstarten på GitHub
Förutsättningar
- Ett Azure-konto med en aktiv prenumeration. Skapa ett konto utan kostnad.
- Node.js Active LTS- och Maintenance LTS-versioner (8.11.1 och 10.14.1 rekommenderas).
- En aktiv Communication Services-resurs och anslutningssträng. Skapa en Communication Services-resurs.
Kravkontroll
- I ett terminal- eller kommandofönster kör du
node --version
för att kontrollera att Node.js är installerat.
Konfigurera
Skapa ett nytt Node.js-program
Öppna först terminalen eller kommandofönstret, skapa en ny katalog för din app och navigera till den.
mkdir phone-numbers-quickstart && cd phone-numbers-quickstart
Kör npm init -y
för att skapa en package.json fil med standardinställningar.
npm init -y
Skapa en fil med namnet phone-numbers-quickstart.js i roten på den katalog som du nyss skapade. Lägg till följande kodfragment i det:
async function main() {
// quickstart code will here
}
main();
Installera -paketet
npm install
Använd kommandot för att installera Azure Communication Services Phone Numbers-klientbiblioteket för JavaScript.
npm install @azure/communication-phone-numbers --save
Alternativet --save
lägger till biblioteket som ett beroende i din package.json-fil .
Autentisera klienten
Importera PhoneNumbersClient från klientbiblioteket och instansiera det med din anslutningssträng. Koden nedan hämtar anslutningssträng för resursen från en miljövariabel med namnet COMMUNICATION_SERVICES_CONNECTION_STRING
. Lär dig hur du hanterar resursens anslutningssträng.
Lägg till följande kod överst i phone-numbers-quickstart.js:
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);
Hantera telefonnummer
Sök efter tillgängliga telefonnummer
För att kunna köpa telefonnummer måste du först söka efter tillgängliga telefonnummer. Om du vill söka efter telefonnummer anger du riktnummer, tilldelningstyp, telefonnummerfunktioner, telefonnummertyp och kvantitet. Observera att för den avgiftsfria telefonnummertypen är det valfritt att ange riktnummer.
Lägg till följande kodfragment i funktionen main
:
/**
* 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}`);
Köpa telefonnummer
Resultatet av att söka efter telefonnummer är en PhoneNumberSearchResult
. Detta innehåller en searchId
som kan skickas till API:et för inköpsnummer för att hämta numren i sökningen. Observera att om du anropar API:et för inköpstelefonnummer debiteras ditt Azure-konto.
Lägg till följande kodfragment i funktionen main
:
/**
* Purchase Phone Number
*/
const purchasePoller = await phoneNumbersClient.beginPurchasePhoneNumbers(searchId);
// Purchase is underway.
await purchasePoller.pollUntilDone();
console.log(`Successfully purchased ${phoneNumber}`);
Uppdatera funktioner för telefonnummer
När ett telefonnummer nu har köpts lägger du till följande kod för att uppdatera dess funktioner:
/**
* 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.");
Hämta köpta telefonnummer
Efter ett inköpsnummer kan du hämta det från klienten. Lägg till följande kod i funktionen main
för att hämta det telefonnummer som du precis har köpt:
/**
* Get Purchased Phone Number
*/
const { capabilities } = await phoneNumbersClient.getPurchasedPhoneNumber(phoneNumber);
console.log("These capabilities:", capabilities, "should be the same as these:", updateRequest, ".");
Du kan också hämta alla köpta telefonnummer.
const purchasedPhoneNumbers = await phoneNumbersClient.listPurchasedPhoneNumbers();
for await (const purchasedPhoneNumber of purchasedPhoneNumbers) {
console.log(`Phone number: ${purchasedPhoneNumber.phoneNumber}, country code: ${purchasedPhoneNumber.countryCode}.`);
}
Versionstelefonnummer
Nu kan du släppa det köpta telefonnumret. Lägg till kodfragmentet nedan i funktionen main
:
/**
* Release Purchased Phone Number
*/
const releasePoller = await phoneNumbersClient.beginReleasePhoneNumber(phoneNumber);
// Release is underway.
await releasePoller.pollUntilDone();
console.log("Successfully release phone number.");
Kör koden
node
Använd kommandot för att köra koden som du lade till i filen phone-numbers-quickstart.js.
node phone-numbers-quickstart.js
Felsökning
Vanliga frågor och problem:
När ett telefonnummer släpps visas telefonnumret i din ACS-resurs på Azure Portal till slutet av faktureringsperioden. Det kan inte heller köpas om förrän i slutet av faktureringsperioden.
När en Communication Services-resurs tas bort släpps de telefonnummer som är associerade med resursen automatiskt samtidigt.
Nästa steg
I den här snabbstarten lärde du dig att:
- Köpa ett telefonnummer
- Hantera ditt telefonnummer
- Släpp ett telefonnummer
- Skicka in ett avgiftsfritt verifieringsprogram (se om det behövs)