Avvio rapido: inviare un messaggio SMS
Importante
Le funzionalità SMS dipendono dal numero di telefono usato e dal paese/area geografica in cui si opera come determinato dall'indirizzo di fatturazione di Azure. Per altre informazioni, vedere Idoneità alla sottoscrizione.
Nota
Condividere le proprie opinioni e i feedback su Servizi di comunicazione di Azure con Microsoft eseguendo questo breve sondaggio.
Introduzione a Servizi di comunicazione di Azure, con l'invio di messaggi SMS tramite il modulo Comunicazione nell’interfaccia della riga di comando di Azure.
Le procedure illustrate in questa guida di avvio rapido comportano l'addebito di qualche centesimo (USD) o meno nell'account Azure.
Prerequisiti
- Un account Azure con una sottoscrizione attiva. Creare un account gratuitamente.
- Una stringa di connessione e una risorsa attiva di Servizi di comunicazione. Creare una risorsa di Servizi di comunicazione.
- Un numero di telefono abilitato per gli SMS. Ottenere un numero di telefono.
- La versione più recente dell’interfaccia della riga di comando di Azure per il sistema operativo.
Controllo dei prerequisiti
- In una finestra del terminale o di comando eseguire
az --version
per verificare se l’interfaccia della riga di comando di Azure è installata.
Configurazione
Installare il modulo di comunicazione
Eseguire il comando seguente in un terminale o in una finestra di comando per installare il modulo di comunicazione.
az extension add --name communication
Accedere all'interfaccia della riga di comando di Azure
Sarà necessario accedere all'interfaccia della riga di comando di Azure. È possibile accedere eseguendo il comando az login
dal terminale e specificando le credenziali.
Verificare che sia in uso quella corretta
Se si hanno più sottoscrizioni nel proprio account, verificare che sia in uso quella corretta per questa esercitazione.
In un terminale o in una finestra dei comandi, eseguire il comando seguente per controllare la sottoscrizione corrente.
az account show
Se è necessario modificare la sottoscrizione, è possibile farlo eseguendo il comando seguente.
az account set --subscription "<yourSubcriptionId>"
È necessario sostituire <yourSubscriptionId>
con l'ID sottoscrizione effettivo, disponibile nella sezione Sottoscrizioni nel portale di Azure.
(Facoltativo) Usare le operazioni SMS dell'interfaccia della riga di comando di Azure senza passare una stringa di connessione
È possibile configurare la variabile di ambiente AZURE_COMMUNICATION_CONNECTION_STRING
per usare le operazioni SMS dell'interfaccia della riga di comando di Azure senza dover usare --connection_string
per passare la stringa di connessione. Per configurare una variabile di ambiente, aprire una finestra della console e selezionare il sistema operativo dalle schede seguenti. Sostituire <yourConnectionString>
con la stringa di connessione effettiva.
Aprire una finestra della console e immettere il comando seguente:
setx AZURE_COMMUNICATION_CONNECTION_STRING "<yourConnectionString>"
Dopo l'aggiunta della variabile di ambiente potrebbe essere necessario riavviare eventuali programmi in esecuzione che necessitano di leggere la variabile di ambiente, inclusa la finestra della console. Se ad esempio si usa Visual Studio come editor, riavviare Visual Studio prima di eseguire l'esempio.
Operazioni
Inviare un messaggio SMS 1:1
Per inviare un messaggio SMS a un singolo destinatario, chiamare il metodo send
dal modulo SMS con un solo numero di telefono del destinatario.
az communication sms send --sender "<fromPhoneNumber>" --recipient "<toPhoneNumber>" --message "Hello world via SMS for Azure CLI!" --connection-string "<yourConnectionString>"
Effettuare queste sostituzioni nel codice:
- Sostituire
<fromPhoneNumber>
con un numero di telefono con SMS abilitati associato alla risorsa Servizi di comunicazione. - Sostituire
<toPhoneNumber>
con un numero di telefono a cui inviare un messaggio. - Sostituire
<yourConnectionString>
con la stringa di connessione.
Avviso
Specificare i numeri di telefono in formato standard internazionale E.164, ad esempio +14255550123. Il valore di <fromPhoneNumber>
può anche essere un codice breve, ad esempio 23456 o un ID mittente alfanumerico, ad esempio CONTOSO.
Inviare un messaggio SMS 1:N
Per inviare un messaggio SMS a un elenco di destinatari, chiamare il metodo send
dal modulo SMS con più numeri di telefono del destinatario.
az communication sms send --sender "<fromPhoneNumber>" --recipient "<toPhoneNumber1>" "<toPhoneNumber2>" "<toPhoneNumber3>" --message "Hello world via SMS for Azure CLI!" --connection-string "<yourConnectionString>"
Effettuare queste sostituzioni nel codice:
- Sostituire
<fromPhoneNumber>
con un numero di telefono con SMS abilitati associato alla risorsa Servizi di comunicazione. - Sostituire
<toPhoneNumberN>
con un numero di telefono N a cui inviare un messaggio. - Sostituire
<yourConnectionString>
con la stringa di connessione.
Avviso
Specificare i numeri di telefono in formato standard internazionale E.164, ad esempio +14255550123. Il valore di <fromPhoneNumber>
può anche essere un codice breve, ad esempio 23456 o un ID mittente alfanumerico, ad esempio CONTOSO.
Introduzione a Servizi di comunicazione di Azure, con l'invio di messaggi SMS tramite l’SDK SMS di Servizi di comunicazione di Azure per C#.
Le procedure illustrate in questa guida di avvio rapido comportano l'addebito di qualche centesimo (USD) o meno nell'account Azure.
Nota
Trovare il codice finalizzato per questa guida introduttiva in GitHub.
Prerequisiti
- Un account Azure con una sottoscrizione attiva. Creare un account gratuitamente.
- La versione più recente di .NET Core SDK per il sistema operativo.
- Una stringa di connessione e una risorsa attiva di Servizi di comunicazione. Creare una risorsa di Servizi di comunicazione.
- Un numero di telefono abilitato per gli SMS. Ottenere un numero di telefono.
Controllo dei prerequisiti
- In una finestra del terminale o di comando eseguire il comando
dotnet
per verificare se l’SDK .NET è installato. - Per visualizzare i numeri di telefono associati alla risorsa di Servizi di comunicazione, accedere al portale di Azure e individuare la risorsa di Servizi di comunicazione. Nel riquadro di spostamento a sinistra selezionare Numeri di telefono.
Configurare l'ambiente dell'applicazione
Per configurare un ambiente per l'invio di messaggi, seguire questa procedura nelle sezioni seguenti.
Creare una nuova applicazione C#
In una finestra di una console, ad esempio cmd, PowerShell o Bash, usare il comando
dotnet new
per creare una nuova app console con il nomeSmsQuickstart
. Questo comando crea un semplice progetto C# "Hello World" con un unico file di origine: Program.cs.dotnet new console -o SmsQuickstart
Passare alla cartella dell'app appena creata e usare il comando
dotnet build
per compilare l'applicazione.cd SmsQuickstart dotnet build
Installare il pacchetto
Rimanendo nella directory dell'applicazione, installare il pacchetto dell’SDK SMS di Servizi di comunicazione di Azure per .NET usando il comando seguente.
dotnet add package Azure.Communication.Sms --version 1.0.0
Aggiungere una direttiva
using
all'inizio di Program.cs per includere lo spazio dei nomiAzure.Communication
.using System; using System.Collections.Generic; using Azure; using Azure.Communication; using Azure.Communication.Sms;
Modello a oggetti
Le classi e le interfacce seguenti gestiscono alcune delle principali funzionalità dell’SDK SMS di Servizi di comunicazione di Azure per C#.
Nome | Descrizione |
---|---|
SmsClient | Questa classe è necessaria per tutte le funzionalità SMS. È possibile crearne un'istanza con le informazioni della sottoscrizione e usarla per inviare messaggi SMS. |
SmsSendOptions | Questa classe fornisce opzioni per configurare i report di recapito. Se enable_delivery_report è impostato su True, viene generato un evento quando il recapito ha esito positivo. |
SmsSendResult | Questa classe contiene il risultato del servizio SMS. |
Autenticare il client
Aprire Program.cs in un editor di testo e sostituire il corpo del metodo Main
con il codice per inizializzare un oggetto SmsClient
con la stringa di connessione. Il codice seguente recupera la stringa di connessione per la risorsa da una variabile di ambiente denominata COMMUNICATION_SERVICES_CONNECTION_STRING
. Vedere come gestire la stringa di connessione della risorsa.
// This code retrieves your connection string
// from an environment variable.
string connectionString = Environment.GetEnvironmentVariable("COMMUNICATION_SERVICES_CONNECTION_STRING");
SmsClient smsClient = new SmsClient(connectionString);
Inviare un messaggio SMS 1:1
Per inviare un messaggio SMS a un singolo destinatario, chiamare la funzione Send
o SendAsync
da SmsClient. Aggiungere questo codice alla fine del metodo Main
in Program.cs:
SmsSendResult sendResult = smsClient.Send(
from: "<from-phone-number>",
to: "<to-phone-number>",
message: "Hello World via SMS"
);
Console.WriteLine($"Sms id: {sendResult.MessageId}");
Effettuare queste sostituzioni nel codice:
- Sostituire
<from-phone-number>
con un numero di telefono con SMS abilitati associato alla risorsa Servizi di comunicazione. - Sostituire
<to-phone-number>
con il numero di telefono a cui inviare un messaggio.
Avviso
Specificare i numeri di telefono in formato standard internazionale E.164, ad esempio +14255550123. Il valore di <from-phone-number>
può anche essere un codice breve, ad esempio 23456 o un ID mittente alfanumerico, ad esempio CONTOSO.
Inviare un messaggio SMS 1:N con opzioni
Per inviare un messaggio SMS a un elenco di destinatari, chiamare la funzione Send
o SendAsync
dal SmsClient con un elenco di numeri di telefono del destinatario. È anche possibile fornire parametri facoltativi per specificare se il report di recapito deve essere abilitato e impostare tag personalizzati.
Response<IReadOnlyList<SmsSendResult>> response = smsClient.Send(
from: "<from-phone-number>",
to: new string[] { "<to-phone-number-1>", "<to-phone-number-2>" },
message: "Weekly Promotion!",
options: new SmsSendOptions(enableDeliveryReport: true) // OPTIONAL
{
Tag = "marketing", // custom tags
});
IEnumerable<SmsSendResult> results = response.Value;
foreach (SmsSendResult result in results)
{
Console.WriteLine($"Sms id: {result.MessageId}");
Console.WriteLine($"Send Result Successful: {result.Successful}");
}
Effettuare queste sostituzioni nel codice:
- Sostituire
<from-phone-number>
con un numero di telefono con SMS abilitati associato alla risorsa Servizi di comunicazione. - Sostituire
<to-phone-number-1>
e<to-phone-number-2>
con i numeri di telefono a cui inviare un messaggio.
Avviso
Specificare i numeri di telefono in formato standard internazionale E.164, ad esempio +14255550123. Il valore di <from-phone-number>
può anche essere un codice breve, ad esempio 23456 o un ID mittente alfanumerico, ad esempio CONTOSO.
Il parametro enableDeliveryReport
è facoltativo ed è possibile usarlo per configurare i report di recapito. Questa funzionalità è utile per gli scenari in cui si vogliono generare eventi quando vengono recapitati messaggi SMS. Per configurare i report di recapito per i messaggi SMS, vedere la guida di avvio rapido Gestire gli eventi SMS.
È possibile usare il parametro Tag
per applicare un tag al report di recapito.
Eseguire il codice
Eseguire l'applicazione dalla directory dell'applicazione con il comando dotnet run
.
dotnet run
Codice di esempio
È possibile scaricare l'app di esempio da GitHub.
Iniziare a usare Servizi di comunicazione di Azure usando l’SKD SMS JavaScript di Servizi di comunicazione per inviare messaggi SMS.
Le procedure illustrate in questa guida di avvio rapido comportano l'addebito di qualche centesimo (USD) o meno nell'account Azure.
Nota
Trovare il codice finalizzato per questa guida introduttiva in GitHub.
Prerequisiti
- Un account Azure con una sottoscrizione attiva. Creare un account gratuitamente.
- Versioni di Active LTS e Maintenance LTS Node.js(sono consigliate le versioni 8.11.1 e 10.14.1).
- Una stringa di connessione e una risorsa attiva di Servizi di comunicazione. Creare una risorsa di Servizi di comunicazione.
- Un numero di telefono abilitato per gli SMS. Ottenere un numero di telefono.
Controllo dei prerequisiti
- In un terminale o una finestra di comando eseguire
node --version
per verificare che Node.js sia installato. - Per visualizzare i numeri di telefono associati alla risorsa di Servizi di comunicazione, accedere al portale di Azure e individuare la risorsa di Servizi di comunicazione. Nel riquadro di spostamento a sinistra selezionare Numeri di telefono.
Configurare l'ambiente dell'applicazione
Per configurare un ambiente per l'invio di messaggi, seguire questa procedura nelle sezioni seguenti.
Creare una nuova applicazione Node.js
Aprire la finestra del terminale o di comando, quindi eseguire il comando seguente per creare una nuova directory per l'app e passare a tale directory.
mkdir sms-quickstart && cd sms-quickstart
Eseguire il comando seguente per creare un file package.json con le impostazioni predefinite.
npm init -y
Usare un editor di testo per creare un file denominato send-sms.js nella directory radice del progetto.
Nelle sezioni seguenti, tutto il codice sorgente per questa guida di avvio rapido verrà aggiunto al file send-sms.js appena creato.
Installare il pacchetto
Usare il comando npm install
per installare SDK SMS di Servizi di comunicazione di Azure per JavaScript.
npm install @azure/communication-sms --save
L'opzione --save
elenca la libreria come dipendenza nel file package.json.
Modello a oggetti
Le classi e le interfacce seguenti gestiscono alcune delle principali funzionalità dell’SDK SMS di Servizi di comunicazione di Azure per Node.js.
Nome | Descrizione |
---|---|
SmsClient | Questa classe è necessaria per tutte le funzionalità SMS. È possibile crearne un'istanza con le informazioni della sottoscrizione e usarla per inviare messaggi SMS. |
SmsSendRequest | Questa interfaccia è il modello per la creazione della richiesta SMS. Viene usata per configurare i numeri di telefono del mittente e del destinatario e il contenuto dell'SMS. |
SmsSendOptions | Questa interfaccia fornisce opzioni per configurare i report di recapito. Se enableDeliveryReport è impostato su true , viene generato un evento quando il recapito ha esito positivo. |
SmsSendResult | Questa classe contiene il risultato del servizio SMS. |
Autenticare il client
Per autenticare un client, importare SmsClient dall’SDK e crearne un'istanza con la stringa di connessione. È possibile recuperare la stringa di connessione per la risorsa da una variabile di ambiente. Ad esempio, il codice in questa sezione recupera la stringa di connessione dalla variabile di ambiente COMMUNICATION_SERVICES_CONNECTION_STRING
. Vedere come gestire la stringa di connessione della risorsa.
Per importare il client e crearne un'istanza:
Creare un file denominato send-sms.js.
Aggiungere il codice seguente al file send-sms.js.
const { SmsClient } = require('@azure/communication-sms');
// This code retrieves your connection string
// from an environment variable.
const connectionString = process.env['COMMUNICATION_SERVICES_CONNECTION_STRING'];
// Instantiate the SMS client.
const smsClient = new SmsClient(connectionString);
Inviare un messaggio SMS 1:N
Per inviare un messaggio SMS a un elenco di destinatari, chiamare la funzione send
dal SmsClient con un elenco di numeri di telefono del destinatario. Se si vuole inviare un messaggio a un singolo destinatario, includere un solo numero nell'elenco. Aggiungere questo codice alla fine di send-sms.js:
async function main() {
const sendResults = await smsClient.send({
from: "<from-phone-number>",
to: ["<to-phone-number-1>", "<to-phone-number-2>"],
message: "Hello World 👋🏻 via SMS"
});
// Individual messages can encounter errors during sending.
// Use the "successful" property to verify the status.
for (const sendResult of sendResults) {
if (sendResult.successful) {
console.log("Success: ", sendResult);
} else {
console.error("Something went wrong when trying to send this message: ", sendResult);
}
}
}
main();
Effettuare queste sostituzioni nel codice:
- Sostituire
<from-phone-number>
con un numero di telefono con SMS abilitati associato alla risorsa Servizi di comunicazione. - Sostituire
<to-phone-number-1>
e<to-phone-number-2>
con i numeri di telefono a cui inviare un messaggio.
Avviso
Specificare i numeri di telefono in formato standard internazionale E.164, ad esempio +14255550123. Il valore di <from-phone-number>
può anche essere un codice breve, ad esempio 23456 o un ID mittente alfanumerico, ad esempio CONTOSO.
Inviare un messaggio SMS 1:N con opzioni
È anche possibile fornire un oggetto facoltativo per specificare se il report di recapito deve essere abilitato e impostare tag personalizzati.
async function main() {
const sendResults = await smsClient.send({
from: "<from-phone-number>",
to: ["<to-phone-number-1>", "<to-phone-number-2>"],
message: "Weekly Promotion!"
}, {
// Optional parameters
enableDeliveryReport: true,
tag: "marketing"
});
// Individual messages can encounter errors during sending.
// Use the "successful" property to verify the status.
for (const sendResult of sendResults) {
if (sendResult.successful) {
console.log("Success: ", sendResult);
} else {
console.error("Something went wrong when trying to send this message: ", sendResult);
}
}
}
main();
Effettuare queste sostituzioni nel codice:
- Sostituire
<from-phone-number>
con un numero di telefono con SMS abilitati associato alla risorsa Servizi di comunicazione. - Sostituire
<to-phone-number-1>
e<to-phone-number-2>
con i numeri di telefono a cui inviare un messaggio.
Avviso
Specificare i numeri di telefono in formato standard internazionale E.164, ad esempio +14255550123. Il valore di <from-phone-number>
può anche essere un codice breve, ad esempio 23456 o un ID mittente alfanumerico, ad esempio CONTOSO.
Il parametro enableDeliveryReport
è facoltativo ed è possibile usarlo per configurare i report di recapito. Questa funzionalità è utile per gli scenari in cui si vogliono generare eventi quando vengono recapitati messaggi SMS. Per configurare i report di recapito per i messaggi SMS, vedere la guida di avvio rapido Gestire gli eventi SMS.
tag
è facoltativo. È possibile usarlo per applicare un tag al report di recapito.
Eseguire il codice
Usare il comando node
per eseguire il codice aggiunto al file send-sms.js.
node ./send-sms.js
Introduzione a Servizi di comunicazione di Azure, con l'invio di messaggi SMS tramite l’SDK SMS di Servizi di comunicazione di Azure per Python.
Le procedure illustrate in questa guida di avvio rapido comportano l'addebito di qualche centesimo (USD) o meno nell'account Azure.
Nota
Trovare il codice finalizzato per questa guida introduttiva in GitHub.
Prerequisiti
- Un account Azure con una sottoscrizione attiva. Creare un account gratuitamente.
- Python 3.7+.
- Una stringa di connessione e una risorsa attiva di Servizi di comunicazione. Creare una risorsa di Servizi di comunicazione.
- Un numero di telefono abilitato per gli SMS. Ottenere un numero di telefono.
Controllo dei prerequisiti
- In una finestra del terminale o di comando eseguire il comando
python --version
per verificare se Python è installato. - Per visualizzare i numeri di telefono associati alla risorsa di Servizi di comunicazione, accedere al portale di Azure e individuare la risorsa di Servizi di comunicazione. Nel riquadro di spostamento a sinistra selezionare Numeri di telefono.
Configurare l'ambiente dell'applicazione
Per configurare un ambiente per l'invio di messaggi, seguire questa procedura nelle sezioni seguenti.
Creare una nuova applicazione Python
Aprire la finestra del terminale o di comando. Usare quindi il seguente comando per creare una nuova directory per l'app e passare a tale directory.
mkdir sms-quickstart && cd sms-quickstart
Usare un editor di testo per creare un file denominato start-sms.py nella directory radice del progetto e aggiungere la struttura per il programma, inclusa la gestione delle eccezioni di base.
import os from azure.communication.sms import SmsClient try: # Quickstart code goes here. except Exception as ex: print('Exception:') print(ex)
Nelle sezioni seguenti, tutto il codice sorgente per questa guida di avvio rapido verrà aggiunto al file send-sms.py appena creato.
Installare il pacchetto
Rimanendo nella directory dell'applicazione, installare il pacchetto dell’SDK SMS di Servizi di comunicazione di Azure per Python usando il comando seguente.
pip install azure-communication-sms
Modello a oggetti
Le classi e le interfacce seguenti gestiscono alcune delle principali funzionalità dell’SDK SMS di Servizi di comunicazione di Azure per Python.
Nome | Descrizione |
---|---|
SmsClient | Questa classe è necessaria per tutte le funzionalità SMS. È possibile crearne un'istanza con le informazioni della sottoscrizione e usarla per inviare messaggi SMS. |
SmsSendResult | Questa classe contiene il risultato del servizio SMS. |
Autenticare il client
Creare un'istanza di SmsClient con la stringa di connessione. Vedere come gestire la stringa di connessione della risorsa.
# Create the SmsClient object that you use to send SMS messages.
sms_client = SmsClient.from_connection_string(<connection_string>)
Per semplicità, questa guida introduttiva usa stringhe di connessione, ma negli ambienti di produzione è consigliabile usare le entità servizio.
Inviare un messaggio SMS 1:1
Per inviare un messaggio SMS a un singolo destinatario, chiamare il metodo send
dal SmsClient con un solo numero di telefono del destinatario. È anche possibile fornire parametri facoltativi per specificare se il report di recapito deve essere abilitato e impostare tag personalizzati. Aggiungere questo codice alla fine del blocco try
in send-sms.py:
# Call send() with SMS values.
sms_responses = sms_client.send(
from_="<from-phone-number>",
to="<to-phone-number>",
message="Hello World via SMS",
enable_delivery_report=True, # optional property
tag="custom-tag") # optional property
Effettuare queste sostituzioni nel codice:
- Sostituire
<from-phone-number>
con un numero di telefono con SMS abilitati associato al servizio di comunicazione. - Sostituire
<to-phone-number>
con il numero di telefono a cui inviare un messaggio.
Avviso
Specificare i numeri di telefono in formato standard internazionale E.164, ad esempio +14255550123. Il valore di <from-phone-number>
può anche essere un codice breve, ad esempio 23456 o un ID mittente alfanumerico, ad esempio CONTOSO.
Inviare un messaggio SMS 1:N
Per inviare un messaggio SMS a un elenco di destinatari, chiamare il metodo send
dal SmsClient con un elenco di numeri di telefono del destinatario. È anche possibile fornire parametri facoltativi per specificare se il report di recapito deve essere abilitato e impostare tag personalizzati. Aggiungere questo codice alla fine del blocco try
in send-sms.py:
# Call send() with SMS values.
sms_responses = sms_client.send(
from_="<from-phone-number>",
to=["<to-phone-number-1>", "<to-phone-number-2>"],
message="Hello World via SMS",
enable_delivery_report=True, # optional property
tag="custom-tag") # optional property
Effettuare queste sostituzioni nel codice:
- Sostituire
<from-phone-number>
con un numero di telefono con SMS abilitati associato al servizio di comunicazione. - Sostituire
<to-phone-number-1>
e<to-phone-number-2>
con i numeri di telefono a cui inviare un messaggio.
Avviso
Specificare i numeri di telefono in formato standard internazionale E.164, ad esempio +14255550123. Il valore di <from-phone-number>
può anche essere un codice breve, ad esempio 23456 o un ID mittente alfanumerico, ad esempio CONTOSO.
Parametri facoltativi
Il parametro enable_delivery_report
è facoltativo ed è possibile usarlo per configurare i report di recapito. Questa funzionalità è utile per gli scenari in cui si vogliono generare eventi quando vengono recapitati messaggi SMS. Per configurare i report di recapito per i messaggi SMS, vedere la guida di avvio rapido Gestire gli eventi SMS.
Il parametro tag
è facoltativo ed è possibile usarlo per aggiungere un tag al report di recapito.
Eseguire il codice
Eseguire l'applicazione dalla directory dell'applicazione con il comando python
.
python send-sms.py
Lo script Python completo dovrebbe essere simile al codice seguente:
import os
from azure.communication.sms import SmsClient
try:
# Create the SmsClient object that you use to send SMS messages.
sms_client = SmsClient.from_connection_string("<connection string>")
# Call send() with SMS values.
sms_responses = sms_client.send(
from_="<from-phone-number>",
to="<to-phone-number>",
message="Hello World via SMS",
enable_delivery_report=True, # optional property
tag="custom-tag") # optional property
except Exception as ex:
print('Exception:')
print(ex)
Introduzione a Servizi di comunicazione di Azure, con l'invio di messaggi SMS tramite l’SDK SMS di Servizi di comunicazione di Azure per Java.
Le procedure illustrate in questa guida di avvio rapido comportano l'addebito di qualche centesimo (USD) o meno nell'account Azure.
Nota
Trovare il codice finalizzato per questa guida introduttiva in GitHub.
Prerequisiti
- Un account Azure con una sottoscrizione attiva. Creare un account gratuitamente.
- Java Development Kit (JDK), versione 8 o successiva.
- Apache Maven.
- Una stringa di connessione e una risorsa attiva di Servizi di comunicazione. Creare una risorsa di Servizi di comunicazione.
- Un numero di telefono abilitato per gli SMS. Ottenere un numero di telefono.
Controllo dei prerequisiti
- In una finestra del terminale o di comando eseguire
mvn -v
per verificare se Maven è installato. - Per visualizzare i numeri di telefono associati alla risorsa di Servizi di comunicazione, accedere al portale di Azure e individuare la risorsa di Servizi di comunicazione. Nel riquadro di spostamento a sinistra selezionare Numeri di telefono.
Configurare l'ambiente dell'applicazione
Per configurare un ambiente per l'invio di messaggi, seguire questa procedura nelle sezioni seguenti.
Creare una nuova applicazione Java
Aprire la finestra del terminale o di comando e passare alla directory in cui creare l'applicazione Java. Eseguire il comando seguente per generare il progetto Java dal modello maven-archetype-quickstart.
- Prompt dei comandi
mvn archetype:generate -DgroupId=com.communication.quickstart -DartifactId=communication-quickstart -DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeVersion=1.4 -DinteractiveMode=false
- PowerShell
mvn archetype:generate "-DgroupId=com.communication.quickstart" "-DartifactId=communication-quickstart" "-DarchetypeArtifactId=maven-archetype-quickstart" "-DarchetypeVersion=1.4" "-DinteractiveMode=false"
L'obiettivo generate
crea una directory con lo stesso nome del valore artifactId
. In questa directory, la directory src/main/java contiene il codice sorgente del progetto, la directory src/test/java contiene l'origine di test e il file pom.xml è il modello a oggetti del progetto (POM).
Installare il pacchetto
Aprire il file pom.xml nell'editor di testo. Aggiungere l'elemento di dipendenza seguente al gruppo di dipendenze.
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-communication-sms</artifactId>
<version>1.0.1</version>
</dependency>
Configurare il framework dell'app
Aprire /src/main/java/com/communication/quickstart/App.java in un editor di testo, aggiungere le direttive import e rimuovere l'istruzione System.out.println("Hello world!");
:
package com.communication.quickstart;
import com.azure.communication.sms.models.*;
import com.azure.core.credential.AzureKeyCredential;
import com.azure.communication.sms.*;
import com.azure.core.util.Context;
import java.util.Arrays;
public class App
{
public static void main( String[] args )
{
// Quickstart code goes here.
}
}
Modello a oggetti
Le classi e le interfacce seguenti gestiscono alcune delle principali funzionalità dell’SDK SMS di Servizi di comunicazione di Azure per Java.
Nome | Descrizione |
---|---|
SmsClientBuilder | Questa classe crea l'oggetto SmsClient. Specificare un endpoint, le credenziali e un client HTTP. |
SmsClient | Questa classe è necessaria per tutte le funzionalità SMS. Viene usata per inviare messaggi SMS. |
SmsSendOptions | Questa classe fornisce opzioni per l’aggiunta di tag personalizzati e la configurazione dei report di recapito. Se deliveryReportEnabled è impostato su True, viene generato un evento quando il recapito ha esito positivo. |
SmsSendResult | Questa classe contiene il risultato del servizio SMS. |
Autenticare il client
Per autenticare un client, creare un'istanza di SmsClient
con la stringa di connessione. Per le credenziali, usare Key
dal portale di Azure. Vedere come gestire la stringa di connessione della risorsa. Inoltre, è possibile inizializzare il client con qualsiasi client HTTP personalizzato che implementi l'interfaccia com.azure.core.http.HttpClient
.
Per creare un'istanza di un cliente, aggiungere il codice seguente al metodo main
:
// You can get your endpoint and access key from your resource in the Azure portal.
String endpoint = "https://<resource-name>.communication.azure.com/";
AzureKeyCredential azureKeyCredential = new AzureKeyCredential("<access-key-credential>");
SmsClient smsClient = new SmsClientBuilder()
.endpoint(endpoint)
.credential(azureKeyCredential)
.buildClient();
È anche possibile specificare l'intera stringa di connessione usando la funzione connectionString
invece di fornire l'endpoint e la chiave di accesso.
// You can get your connection string from your resource in the Azure portal.
String connectionString = "endpoint=https://<resource-name>.communication.azure.com/;accesskey=<access-key>";
SmsClient smsClient = new SmsClientBuilder()
.connectionString(connectionString)
.buildClient();
Inviare un messaggio SMS 1:1
Per inviare un messaggio SMS a un singolo destinatario, chiamare il metodo send
dal SmsClient con un solo numero di telefono del destinatario. È anche possibile fornire parametri facoltativi per specificare se il report di recapito deve essere abilitato e impostare tag personalizzati.
SmsSendResult sendResult = smsClient.send(
"<from-phone-number>",
"<to-phone-number>",
"Weekly Promotion");
System.out.println("Message Id: " + sendResult.getMessageId());
System.out.println("Recipient Number: " + sendResult.getTo());
System.out.println("Send Result Successful:" + sendResult.isSuccessful());
Effettuare queste sostituzioni nel codice:
- Sostituire
<from-phone-number>
con un numero di telefono con SMS abilitati associato alla risorsa Servizi di comunicazione. - Sostituire
<to-phone-number>
con un numero di telefono a cui inviare un messaggio.
Avviso
Specificare i numeri di telefono in formato standard internazionale E.164, ad esempio +14255550123. Il valore di <from-phone-number>
può anche essere un codice breve, ad esempio 23456 o un ID mittente alfanumerico, ad esempio CONTOSO.
Inviare un messaggio SMS 1:N con opzioni
Per inviare un messaggio SMS a un elenco di destinatari, chiamare il metodo send
con un elenco di numeri di telefono del destinatario. È anche possibile fornire parametri facoltativi per specificare se il report di recapito deve essere abilitato e impostare tag personalizzati.
SmsSendOptions options = new SmsSendOptions();
options.setDeliveryReportEnabled(true);
options.setTag("Marketing");
Iterable<SmsSendResult> sendResults = smsClient.sendWithResponse(
"<from-phone-number>",
Arrays.asList("<to-phone-number1>", "<to-phone-number2>"),
"Weekly Promotion",
options /* Optional */,
Context.NONE).getValue();
for (SmsSendResult result : sendResults) {
System.out.println("Message Id: " + result.getMessageId());
System.out.println("Recipient Number: " + result.getTo());
System.out.println("Send Result Successful:" + result.isSuccessful());
}
Effettuare queste sostituzioni nel codice:
- Sostituire
<from-phone-number>
con un numero di telefono con SMS abilitati associato alla risorsa Servizi di comunicazione - Sostituire
<to-phone-number-1>
e<to-phone-number-2>
con i numeri di telefono a cui inviare un messaggio.
Avviso
Specificare i numeri di telefono in formato standard internazionale E.164, ad esempio +14255550123. Il valore di <from-phone-number>
può anche essere un codice breve, ad esempio 23456 o un ID mittente alfanumerico, ad esempio CONTOSO.
Il metodo setDeliveryReportEnabled
viene usato per configurare la creazione di report di recapito. Questa funzionalità è utile per gli scenari in cui si vogliono generare eventi quando vengono recapitati messaggi SMS. Per configurare i report di recapito per i messaggi SMS, vedere la guida di avvio rapido Gestire gli eventi SMS.
È possibile usare il metodo setTag
per applicare un tag al report di recapito.
Eseguire il codice
Passare alla directory che contiene il file pom.xml e compilare il progetto tramite il comando
mvn
.mvn compile
Compilare il pacchetto.
mvn package
Eseguire il comando
mvn
seguente per eseguire l'app.- Prompt dei comandi
mvn exec:java -Dexec.mainClass="com.communication.quickstart.App" -Dexec.cleanupDaemonThreads=false
- PowerShell
mvn exec:java "-Dexec.mainClass=com.communication.quickstart.App" "-Dexec.cleanupDaemonThreads=false"
Usando il connettore SMS di Servizi di comunicazione di Azure e App per la logica di Azure, è possibile creare flussi di lavoro automatizzati in grado di inviare messaggi SMS. Questa guida di avvio rapido illustra come inviare automaticamente messaggi SMS in risposta a un evento trigger, che rappresenta il primo passaggio del flusso di lavoro di un'app per la logica. Un evento trigger può essere un messaggio di posta elettronica in arrivo, la pianificazione di una ricorrenza, un evento della risorsa Griglia di eventi di Azure o qualsiasi altro trigger supportato da App per la logica di Azure.
Anche se questa guida di avvio rapido illustra come usare il connettore per rispondere a un trigger, è anche possibile usarlo per rispondere ad altre azioni, che costituiscono i passaggi che seguono il trigger in un flusso di lavoro. Se non si ha familiarità con App per la logica, vedere Che cos'è App per la logica di Azure prima di iniziare.
Nota
Le procedure illustrate in questa guida di avvio rapido comportano l'addebito di qualche centesimo (USD) o meno nell'account Azure.
Prerequisiti
Un account Azure con una sottoscrizione attiva; in alternativa, creare un account gratuito.
Una risorsa attiva di Servizi di comunicazione di Azure; in alternativa, creare una risorsa di Servizi di comunicazione.
Una risorsa attiva di App per la logica; in alternativa, creare un'app per la logica vuota ma con il trigger che si vuole usare. Attualmente, il connettore SMS di Servizi di comunicazione di Azure prevede solo azioni, quindi l'app per la logica richiede come minimo un trigger.
Questa guida di avvio rapido usa il trigger All'arrivo di un nuovo messaggio di posta elettronica, disponibile con il connettore Office 365 Outlook.
Un numero di telefono abilitato per SMS; in alternativa, ottenere un numero di telefono.
Importante
Le funzionalità SMS e PSTN dipendono dal numero di telefono usato e dal paese/area geografica in cui si opera come determinato dall'indirizzo di fatturazione di Azure. Per altre informazioni, vedere la documentazione relativa all'idoneità alla sottoscrizione.
Aggiungere un'azione SMS
Per aggiungere l'azione Invia SMS come nuovo passaggio del flusso di lavoro usando il connettore SMS di Servizi di comunicazione di Azure, seguire questa procedura nel portale di Azure con il flusso di lavoro dell'app per la logica aperto in Progettazione app per la logica:
Nella finestra di progettazione, nel passaggio in cui aggiungere la nuova azione, selezionare Nuovo passaggio. In alternativa, per aggiungere la nuova azione tra passaggi, spostare il puntatore sulla freccia tra questi passaggi, selezionare il segno più (+), quindi selezionare Aggiungi un'azione.
Nella casella di ricerca Scegliere un'operazione immettere
Azure Communication Services
. Nell'elenco di azioni selezionare Invia SMS.Ora creare una connessione alla risorsa di Servizi di comunicazione.
All'interno della stessa sottoscrizione:
Specificare un nome per la connessione.
Selezionare la risorsa di Servizi di comunicazione di Azure.
Seleziona Crea.
Uso della stringa di connessione dalla risorsa Servizi di comunicazione:
Specificare un nome per la connessione.
Selezionare l’autenticazione ConnectionString Authentication nell'elenco a discesa.
Immettere la stringa di connessione della risorsa Servizi di comunicazione.
Seleziona Crea.
Uso dell'entità servizio (fare riferimento alla creazione dell'entità servizio):
Specificare un nome per la connessione.
Selezionare Autenticazione dell'entità servizio (applicazione Microsoft Entra) nell'elenco a discesa.
Immettere l'ID tenant, l'ID client e il segreto client dell'entità servizio.
Immettere il valore dell'URL dell'endpoint di Servizi di comunicazione della risorsa Servizi di comunicazione.
Seleziona Crea.
Nell'azione Invia SMS specificare le informazioni seguenti:
I numeri di telefono di origine e di destinazione. A scopo di test, è possibile usare il proprio numero di telefono come destinazione.
Il contenuto del messaggio da inviare, ad esempio "Hello from Logic Apps!".
Ecco un'azione Invia SMS con le informazioni di esempio:
Al termine, nella barra degli strumenti di progettazione, seleziona Salva.
Eseguire quindi il flusso di lavoro per i test.
Testare il flusso di lavoro
Per avviare manualmente il flusso di lavoro, selezionare Esegui nella barra degli strumenti della finestra di progettazione. In alternativa, è possibile attendere che il trigger venga attivato. In entrambi i casi, il flusso di lavoro dovrà inviare un messaggio SMS al numero di telefono di destinazione specificato. Per altre informazioni, vedere Come eseguire il flusso di lavoro.
Pulire le risorse del flusso di lavoro
Per pulire il flusso di lavoro dell'app per la logica e le risorse correlate, vedere come pulire le risorse di App per la logica.
Risoluzione dei problemi
Per la risoluzione dei problemi correlati al recapito di SMS, è possibile abilitare la creazione di report di recapito con Griglia di eventi per acquisire i dettagli di recapito.
Pulire le risorse
Se si vuole pulire e rimuovere una sottoscrizione a Servizi di comunicazione, è possibile eliminare la risorsa o il gruppo di risorse. L'eliminazione del gruppo di risorse comporta anche l'eliminazione di tutte le altre risorse associate. Altre informazioni sulla pulizia delle risorse.
Verifica gratuita
Per utilizzare un nuovo numero verde per l'invio di messaggi SMS, è obbligatorio sottoporsi a un processo di verifica gratuita. Per indicazioni su come completare la verifica del numero verde, vedere Avvio rapido per l'invio di una verifica gratuita. Si noti che solo i numeri verdi verificati sono autorizzati a inviare traffico SMS. Il traffico SMS proveniente da numeri verdi non verificati indirizzato a numeri di telefono statunitensi e CA verrà bloccato.
Passaggi successivi
In questa guida di avvio rapido si è appreso come inviare messaggi SMS tramite Servizi di comunicazione di Azure.