Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Gestione dei numeri SNS di telefono e degli abbonamenti Amazon
Amazon SNS offre diverse opzioni per gestire chi riceve SMS messaggi dal tuo account. Con una frequenza limitata, puoi attivare i numeri di telefono che hanno scelto di non ricevere SMS messaggi dal tuo account. Per interrompere l'invio di messaggi agli SMS abbonati, puoi rimuovere gli abbonamenti o gli argomenti che li pubblicano.
Disattivazione della ricezione di messaggi SMS
Laddove richiesto dalle leggi e dai regolamenti locali (come Stati Uniti e Canada), SMS i destinatari possono utilizzare i propri dispositivi per annullare l'iscrizione rispondendo al messaggio con una delle seguenti risposte:
-
ARRET(francese)
-
CANCEL
-
END
-
OPT-OUT
-
OPTOUT
-
QUIT
-
REMOVE
-
STOP
-
TD
-
UNSUBSCRIBE
Per rinunciare, il destinatario deve rispondere con lo stesso numero di origine SNS utilizzato da Amazon per recapitare il messaggio. Dopo la rinuncia, il destinatario non riceverà più i SMS messaggi recapitati dal destinatario, a Account AWS meno che tu non inserisca il numero di telefono.
Se il numero di telefono è abbonato a un SNS argomento di Amazon, la disattivazione non rimuove l'abbonamento, ma i SMS messaggi non verranno recapitati a tale abbonamento a meno che tu non attivi il numero di telefono.
Gestione dei numeri di telefono e degli abbonamenti tramite la console Amazon SNS
Puoi utilizzare la SNS console Amazon per controllare quali numeri di telefono ricevono SMS messaggi dal tuo account.
Inserimento di un numero di telefono che è stato disattivato dalla console Amazon SNS
Puoi vedere quali numeri di telefono sono stati disattivati dalla ricezione di SMS messaggi dal tuo account e puoi attivare questi numeri di telefono per riprendere l'invio di messaggi.
Puoi inserire un numero di telefono solo una volta ogni 30 giorni.
Accedi alla SNSconsole Amazon.
-
Nel menu della console, imposta il selettore della regione su una regione che supporta la SMS messaggistica.
-
Nel pannello di navigazione, scegli Messaggi di testo (SMS).
-
Nella pagina Messaggi di testo mobili (SMS), nella sezione Numeri di telefono disattivati, vengono visualizzati i numeri di telefono disattivati.
-
Seleziona la casella di controllo relativa al numero di telefono che desideri attivare e scegli Accetta. Il numero di telefono non è più disattivato e riceverà SMS i messaggi che gli invierai.
Eliminazione di un SMS abbonamento dalla console Amazon SNS
Elimina un SMS abbonamento per interrompere l'invio di SMS messaggi a quel numero di telefono quando pubblichi contenuti nei tuoi argomenti.
-
Nel riquadro di navigazione, scegli Sottoscrizioni.
-
Seleziona le caselle di controllo delle sottoscrizioni da eliminare. Scegli Actions (Operazioni), quindi Delete Subscriptions (Elimina sottoscrizioni).
-
Nella finestra Delete (Elimina) scegli Delete (Elimina). Amazon SNS elimina l'abbonamento e visualizza un messaggio di successo.
Eliminazione di un argomento dalla console Amazon SNS
Elimina un argomento quando non desideri più pubblicare messaggi per gli endpoint dotati di sottoscrizione all'argomento.
-
Nel pannello di navigazione, scegliere Argomenti.
-
Seleziona le caselle di controllo degli argomenti da eliminare. Scegli Actions (Operazioni), quindi Delete Topics (Elimina argomenti).
-
Nella finestra Delete (Elimina) scegli Delete (Elimina). Amazon SNS elimina l'argomento e visualizza un messaggio di successo.
Gestione dei numeri di telefono e degli abbonamenti tramite il AWS SDK
Puoi utilizzarlo AWS SDKs per effettuare richieste programmatiche ad Amazon SNS e gestire i numeri di telefono che possono ricevere SMS messaggi dal tuo account.
Per utilizzare un AWS SDK, devi configurarlo con le tue credenziali. Per ulteriori informazioni, consulta File di configurazione e credenziali condivisi nella Guida di riferimento agli strumenti AWS SDKs e agli strumenti.
Visualizzazione di tutti i numeri di telefono disattivati utilizzando il AWS SDK
Per visualizzare tutti i numeri di telefono esclusi, invia una ListPhoneNumbersOptedOut
richiesta ad Amazon. SNS API
I seguenti esempi di codice mostrano come utilizzare. ListPhoneNumbersOptedOut
- CLI
-
- AWS CLI
-
Per elencare le opzioni di disattivazione dei SMS messaggi
L'list-phone-numbers-opted-out
esempio seguente elenca i numeri di telefono a cui è stato negato il consenso alla ricezione dei messaggi. SMS
aws sns list-phone-numbers-opted-out
Output:
{
"phoneNumbers": [
"+15555550100"
]
}
- Java
-
- SDKper Java 2.x
-
import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.sns.SnsClient;
import software.amazon.awssdk.services.sns.model.ListPhoneNumbersOptedOutRequest;
import software.amazon.awssdk.services.sns.model.ListPhoneNumbersOptedOutResponse;
import software.amazon.awssdk.services.sns.model.SnsException;
/**
* Before running this Java V2 code example, set up your development
* environment, including your credentials.
*
* For more information, see the following documentation topic:
*
* https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/get-started.html
*/
public class ListOptOut {
public static void main(String[] args) {
SnsClient snsClient = SnsClient.builder()
.region(Region.US_EAST_1)
.build();
listOpts(snsClient);
snsClient.close();
}
public static void listOpts(SnsClient snsClient) {
try {
ListPhoneNumbersOptedOutRequest request = ListPhoneNumbersOptedOutRequest.builder().build();
ListPhoneNumbersOptedOutResponse result = snsClient.listPhoneNumbersOptedOut(request);
System.out.println("Status is " + result.sdkHttpResponse().statusCode() + "\n\nPhone Numbers: \n\n"
+ result.phoneNumbers());
} catch (SnsException e) {
System.err.println(e.awsErrorDetails().errorMessage());
System.exit(1);
}
}
}
- PHP
-
- SDK per PHP
-
require 'vendor/autoload.php';
use Aws\Exception\AwsException;
use Aws\Sns\SnsClient;
/**
* Returns a list of phone numbers that are opted out of receiving SMS messages from your AWS SNS account.
*
* This code expects that you have AWS credentials set up per:
* https://docs.aws.amazon.com/sdk-for-php/v3/developer-guide/guide_credentials.html
*/
$SnSclient = new SnsClient([
'profile' => 'default',
'region' => 'us-east-1',
'version' => '2010-03-31'
]);
try {
$result = $SnSclient->listPhoneNumbersOptedOut();
var_dump($result);
} catch (AwsException $e) {
// output error message if fails
error_log($e->getMessage());
}
Verifica se un numero di telefono è stato disattivato utilizzando il AWS SDK
Per verificare se un numero di telefono è stato disattivato, invia una CheckIfPhoneNumberIsOptedOut
richiesta ad Amazon. SNS API
I seguenti esempi di codice mostrano come utilizzare. CheckIfPhoneNumberIsOptedOut
- .NET
-
- AWS SDK for .NET
-
using System;
using System.Threading.Tasks;
using Amazon.SimpleNotificationService;
using Amazon.SimpleNotificationService.Model;
/// <summary>
/// This example shows how to use the Amazon Simple Notification Service
/// (Amazon SNS) to check whether a phone number has been opted out.
/// </summary>
public class IsPhoneNumOptedOut
{
public static async Task Main()
{
string phoneNumber = "+15551112222";
IAmazonSimpleNotificationService client = new AmazonSimpleNotificationServiceClient();
await CheckIfOptedOutAsync(client, phoneNumber);
}
/// <summary>
/// Checks to see if the supplied phone number has been opted out.
/// </summary>
/// <param name="client">The initialized Amazon SNS Client object used
/// to check if the phone number has been opted out.</param>
/// <param name="phoneNumber">A string representing the phone number
/// to check.</param>
public static async Task CheckIfOptedOutAsync(IAmazonSimpleNotificationService client, string phoneNumber)
{
var request = new CheckIfPhoneNumberIsOptedOutRequest
{
PhoneNumber = phoneNumber,
};
try
{
var response = await client.CheckIfPhoneNumberIsOptedOutAsync(request);
if (response.HttpStatusCode == System.Net.HttpStatusCode.OK)
{
string optOutStatus = response.IsOptedOut ? "opted out" : "not opted out.";
Console.WriteLine($"The phone number: {phoneNumber} is {optOutStatus}");
}
}
catch (AuthorizationErrorException ex)
{
Console.WriteLine($"{ex.Message}");
}
}
}
- CLI
-
- AWS CLI
-
Per verificare la disattivazione dei SMS messaggi relativi a un numero di telefono
L'check-if-phone-number-is-opted-out
esempio seguente verifica se al numero di telefono specificato è stata disattivata la ricezione di SMS messaggi dall'account corrente AWS .
aws sns check-if-phone-number-is-opted-out \
--phone-number +1555550100
Output:
{
"isOptedOut": false
}
- Java
-
- SDKper Java 2.x
-
import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.sns.SnsClient;
import software.amazon.awssdk.services.sns.model.CheckIfPhoneNumberIsOptedOutRequest;
import software.amazon.awssdk.services.sns.model.CheckIfPhoneNumberIsOptedOutResponse;
import software.amazon.awssdk.services.sns.model.SnsException;
/**
* Before running this Java V2 code example, set up your development
* environment, including your credentials.
*
* For more information, see the following documentation topic:
*
* https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/get-started.html
*/
public class CheckOptOut {
public static void main(String[] args) {
final String usage = """
Usage: <phoneNumber>
Where:
phoneNumber - The mobile phone number to look up (for example, +1XXX5550100).
""";
if (args.length != 1) {
System.out.println(usage);
System.exit(1);
}
String phoneNumber = args[0];
SnsClient snsClient = SnsClient.builder()
.region(Region.US_EAST_1)
.build();
checkPhone(snsClient, phoneNumber);
snsClient.close();
}
public static void checkPhone(SnsClient snsClient, String phoneNumber) {
try {
CheckIfPhoneNumberIsOptedOutRequest request = CheckIfPhoneNumberIsOptedOutRequest.builder()
.phoneNumber(phoneNumber)
.build();
CheckIfPhoneNumberIsOptedOutResponse result = snsClient.checkIfPhoneNumberIsOptedOut(request);
System.out.println(
result.isOptedOut() + "Phone Number " + phoneNumber + " has Opted Out of receiving sns messages." +
"\n\nStatus was " + result.sdkHttpResponse().statusCode());
} catch (SnsException e) {
System.err.println(e.awsErrorDetails().errorMessage());
System.exit(1);
}
}
}
- JavaScript
-
- SDKper JavaScript (v3)
-
Creare il client in un modulo separato ed esportarlo.
import { SNSClient } from "@aws-sdk/client-sns";
// The AWS Region can be provided here using the `region` property. If you leave it blank
// the SDK will default to the region set in your AWS config.
export const snsClient = new SNSClient({});
Importa i moduli SDK e client e chiama ilAPI.
import { CheckIfPhoneNumberIsOptedOutCommand } from "@aws-sdk/client-sns";
import { snsClient } from "../libs/snsClient.js";
export const checkIfPhoneNumberIsOptedOut = async (
phoneNumber = "5555555555",
) => {
const command = new CheckIfPhoneNumberIsOptedOutCommand({
phoneNumber,
});
const response = await snsClient.send(command);
console.log(response);
// {
// '$metadata': {
// httpStatusCode: 200,
// requestId: '3341c28a-cdc8-5b39-a3ee-9fb0ee125732',
// extendedRequestId: undefined,
// cfId: undefined,
// attempts: 1,
// totalRetryDelay: 0
// },
// isOptedOut: false
// }
return response;
};
- PHP
-
- SDK per PHP
-
require 'vendor/autoload.php';
use Aws\Exception\AwsException;
use Aws\Sns\SnsClient;
/**
* Indicates whether the phone number owner has opted out of receiving SMS messages from your AWS SNS account.
*
* This code expects that you have AWS credentials set up per:
* https://docs.aws.amazon.com/sdk-for-php/v3/developer-guide/guide_credentials.html
*/
$SnSclient = new SnsClient([
'profile' => 'default',
'region' => 'us-east-1',
'version' => '2010-03-31'
]);
$phone = '+1XXX5550100';
try {
$result = $SnSclient->checkIfPhoneNumberIsOptedOut([
'phoneNumber' => $phone,
]);
var_dump($result);
} catch (AwsException $e) {
// output error message if fails
error_log($e->getMessage());
}
Inserimento di un numero di telefono che è stato disattivato tramite Amazon SNS API
Per inserire un numero di telefono, invia una OptInPhoneNumber
richiesta ad Amazon SNSAPI.
Puoi inserire un numero di telefono solo una volta ogni 30 giorni.
Eliminazione di un SMS abbonamento utilizzando il AWS SDK
Per eliminare un SMS abbonamento da un SNS argomento Amazon, ottieni l'abbonamento ARN inviando una ListSubscriptions
richiesta ad Amazon SNSAPI, quindi passala ARN a una Unsubscribe
richiesta.
I seguenti esempi di codice mostrano come usareUnsubscribe
.
- .NET
-
- AWS SDK for .NET
-
Annulla l'iscrizione a un argomento con un abbonamentoARN.
/// <summary>
/// Unsubscribe from a topic by a subscription ARN.
/// </summary>
/// <param name="subscriptionArn">The ARN of the subscription.</param>
/// <returns>True if successful.</returns>
public async Task<bool> UnsubscribeByArn(string subscriptionArn)
{
var unsubscribeResponse = await _amazonSNSClient.UnsubscribeAsync(
new UnsubscribeRequest()
{
SubscriptionArn = subscriptionArn
});
return unsubscribeResponse.HttpStatusCode == HttpStatusCode.OK;
}
- C++
-
- SDKper C++
-
//! Delete a subscription to an Amazon Simple Notification Service (Amazon SNS) topic.
/*!
\param subscriptionARN: The Amazon Resource Name (ARN) for an Amazon SNS topic subscription.
\param clientConfiguration: AWS client configuration.
\return bool: Function succeeded.
*/
bool AwsDoc::SNS::unsubscribe(const Aws::String &subscriptionARN,
const Aws::Client::ClientConfiguration &clientConfiguration) {
Aws::SNS::SNSClient snsClient(clientConfiguration);
Aws::SNS::Model::UnsubscribeRequest request;
request.SetSubscriptionArn(subscriptionARN);
const Aws::SNS::Model::UnsubscribeOutcome outcome = snsClient.Unsubscribe(request);
if (outcome.IsSuccess()) {
std::cout << "Unsubscribed successfully " << std::endl;
}
else {
std::cerr << "Error while unsubscribing " << outcome.GetError().GetMessage()
<< std::endl;
}
return outcome.IsSuccess();
}
- CLI
-
- AWS CLI
-
Annullamento della sottoscrizione a un argomento
Nell'esempio unsubscribe
seguente viene eliminata la sottoscrizione specificata a un argomento.
aws sns unsubscribe \
--subscription-arn arn:aws:sns:us-west-2:0123456789012:my-topic:8a21d249-4329-4871-acc6-7be709c6ea7f
Questo comando non produce alcun output.
- Java
-
- SDKper Java 2.x
-
import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.sns.SnsClient;
import software.amazon.awssdk.services.sns.model.SnsException;
import software.amazon.awssdk.services.sns.model.UnsubscribeRequest;
import software.amazon.awssdk.services.sns.model.UnsubscribeResponse;
/**
* Before running this Java V2 code example, set up your development
* environment, including your credentials.
*
* For more information, see the following documentation topic:
*
* https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/get-started.html
*/
public class Unsubscribe {
public static void main(String[] args) {
final String usage = """
Usage: <subscriptionArn>
Where:
subscriptionArn - The ARN of the subscription to delete.
""";
if (args.length < 1) {
System.out.println(usage);
System.exit(1);
}
String subscriptionArn = args[0];
SnsClient snsClient = SnsClient.builder()
.region(Region.US_EAST_1)
.build();
unSub(snsClient, subscriptionArn);
snsClient.close();
}
public static void unSub(SnsClient snsClient, String subscriptionArn) {
try {
UnsubscribeRequest request = UnsubscribeRequest.builder()
.subscriptionArn(subscriptionArn)
.build();
UnsubscribeResponse result = snsClient.unsubscribe(request);
System.out.println("\n\nStatus was " + result.sdkHttpResponse().statusCode()
+ "\n\nSubscription was removed for " + request.subscriptionArn());
} catch (SnsException e) {
System.err.println(e.awsErrorDetails().errorMessage());
System.exit(1);
}
}
}
- JavaScript
-
- SDKper JavaScript (v3)
-
Creare il client in un modulo separato ed esportarlo.
import { SNSClient } from "@aws-sdk/client-sns";
// The AWS Region can be provided here using the `region` property. If you leave it blank
// the SDK will default to the region set in your AWS config.
export const snsClient = new SNSClient({});
Importa i moduli SDK e client e chiama ilAPI.
import { UnsubscribeCommand } from "@aws-sdk/client-sns";
import { snsClient } from "../libs/snsClient.js";
/**
* @param {string} subscriptionArn - The ARN of the subscription to cancel.
*/
const unsubscribe = async (
subscriptionArn = "arn:aws:sns:us-east-1:xxxxxxxxxxxx:mytopic:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
) => {
const response = await snsClient.send(
new UnsubscribeCommand({
SubscriptionArn: subscriptionArn,
}),
);
console.log(response);
// {
// '$metadata': {
// httpStatusCode: 200,
// requestId: '0178259a-9204-507c-b620-78a7570a44c6',
// extendedRequestId: undefined,
// cfId: undefined,
// attempts: 1,
// totalRetryDelay: 0
// }
// }
return response;
};
- Kotlin
-
- SDKper Kotlin
-
suspend fun unSub(subscriptionArnVal: String) {
val request =
UnsubscribeRequest {
subscriptionArn = subscriptionArnVal
}
SnsClient { region = "us-east-1" }.use { snsClient ->
snsClient.unsubscribe(request)
println("Subscription was removed for ${request.subscriptionArn}")
}
}
- PHP
-
- SDK per PHP
-
require 'vendor/autoload.php';
use Aws\Exception\AwsException;
use Aws\Sns\SnsClient;
/**
* Deletes a subscription to an Amazon SNS topic.
*
* This code expects that you have AWS credentials set up per:
* https://docs.aws.amazon.com/sdk-for-php/v3/developer-guide/guide_credentials.html
*/
$SnSclient = new SnsClient([
'profile' => 'default',
'region' => 'us-east-1',
'version' => '2010-03-31'
]);
$subscription = 'arn:aws:sns:us-east-1:111122223333:MySubscription';
try {
$result = $SnSclient->unsubscribe([
'SubscriptionArn' => $subscription,
]);
var_dump($result);
} catch (AwsException $e) {
// output error message if fails
error_log($e->getMessage());
}
- Python
-
- SDKper Python (Boto3)
-
class SnsWrapper:
"""Encapsulates Amazon SNS topic and subscription functions."""
def __init__(self, sns_resource):
"""
:param sns_resource: A Boto3 Amazon SNS resource.
"""
self.sns_resource = sns_resource
@staticmethod
def delete_subscription(subscription):
"""
Unsubscribes and deletes a subscription.
"""
try:
subscription.delete()
logger.info("Deleted subscription %s.", subscription.arn)
except ClientError:
logger.exception("Couldn't delete subscription %s.", subscription.arn)
raise
- SAP ABAP
-
- SDKper SAP ABAP
-
TRY.
lo_sns->unsubscribe( iv_subscriptionarn = iv_subscription_arn ).
MESSAGE 'Subscription deleted.' TYPE 'I'.
CATCH /aws1/cx_snsnotfoundexception.
MESSAGE 'Subscription does not exist.' TYPE 'E'.
CATCH /aws1/cx_snsinvalidparameterex.
MESSAGE 'Subscription with "PendingConfirmation" status cannot be deleted/unsubscribed. Confirm subscription before performing unsubscribe operation.' TYPE 'E'.
ENDTRY.
Eliminazione di un argomento utilizzando il AWS
SDK
Per eliminare un argomento e tutte le relative sottoscrizioni, scarica l'argomento ARN inviando una ListTopics
richiesta ad Amazon SNSAPI, quindi passala ARN alla DeleteTopic
richiesta.
I seguenti esempi di codice mostrano come usare. DeleteTopic
- .NET
-
- AWS SDK for .NET
-
Elimina un argomento in base all'argomentoARN.
/// <summary>
/// Delete a topic by its topic ARN.
/// </summary>
/// <param name="topicArn">The ARN of the topic.</param>
/// <returns>True if successful.</returns>
public async Task<bool> DeleteTopicByArn(string topicArn)
{
var deleteResponse = await _amazonSNSClient.DeleteTopicAsync(
new DeleteTopicRequest()
{
TopicArn = topicArn
});
return deleteResponse.HttpStatusCode == HttpStatusCode.OK;
}
- C++
-
- SDKper C++
-
//! Delete an Amazon Simple Notification Service (Amazon SNS) topic.
/*!
\param topicARN: The Amazon Resource Name (ARN) for an Amazon SNS topic.
\param clientConfiguration: AWS client configuration.
\return bool: Function succeeded.
*/
bool AwsDoc::SNS::deleteTopic(const Aws::String &topicARN,
const Aws::Client::ClientConfiguration &clientConfiguration) {
Aws::SNS::SNSClient snsClient(clientConfiguration);
Aws::SNS::Model::DeleteTopicRequest request;
request.SetTopicArn(topicARN);
const Aws::SNS::Model::DeleteTopicOutcome outcome = snsClient.DeleteTopic(request);
if (outcome.IsSuccess()) {
std::cout << "Successfully deleted the Amazon SNS topic " << topicARN << std::endl;
}
else {
std::cerr << "Error deleting topic " << topicARN << ":" <<
outcome.GetError().GetMessage() << std::endl;
}
return outcome.IsSuccess();
}
- CLI
-
- AWS CLI
-
Per eliminare un SNS argomento
L'delete-topic
esempio seguente elimina l'SNSargomento specificato.
aws sns delete-topic \
--topic-arn "arn:aws:sns:us-west-2:123456789012:my-topic"
Questo comando non produce alcun output.
- Go
-
- SDKper Go V2
-
// SnsActions encapsulates the Amazon Simple Notification Service (Amazon SNS) actions
// used in the examples.
type SnsActions struct {
SnsClient *sns.Client
}
// DeleteTopic delete an Amazon SNS topic.
func (actor SnsActions) DeleteTopic(ctx context.Context, topicArn string) error {
_, err := actor.SnsClient.DeleteTopic(ctx, &sns.DeleteTopicInput{
TopicArn: aws.String(topicArn)})
if err != nil {
log.Printf("Couldn't delete topic %v. Here's why: %v\n", topicArn, err)
}
return err
}
- Java
-
- SDKper Java 2.x
-
import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.sns.SnsClient;
import software.amazon.awssdk.services.sns.model.DeleteTopicRequest;
import software.amazon.awssdk.services.sns.model.DeleteTopicResponse;
import software.amazon.awssdk.services.sns.model.SnsException;
/**
* Before running this Java V2 code example, set up your development
* environment, including your credentials.
*
* For more information, see the following documentation topic:
*
* https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/get-started.html
*/
public class DeleteTopic {
public static void main(String[] args) {
final String usage = """
Usage: <topicArn>
Where:
topicArn - The ARN of the topic to delete.
""";
if (args.length != 1) {
System.out.println(usage);
System.exit(1);
}
String topicArn = args[0];
SnsClient snsClient = SnsClient.builder()
.region(Region.US_EAST_1)
.build();
System.out.println("Deleting a topic with name: " + topicArn);
deleteSNSTopic(snsClient, topicArn);
snsClient.close();
}
public static void deleteSNSTopic(SnsClient snsClient, String topicArn) {
try {
DeleteTopicRequest request = DeleteTopicRequest.builder()
.topicArn(topicArn)
.build();
DeleteTopicResponse result = snsClient.deleteTopic(request);
System.out.println("\n\nStatus was " + result.sdkHttpResponse().statusCode());
} catch (SnsException e) {
System.err.println(e.awsErrorDetails().errorMessage());
System.exit(1);
}
}
}
- JavaScript
-
- SDKper JavaScript (v3)
-
Creare il client in un modulo separato ed esportarlo.
import { SNSClient } from "@aws-sdk/client-sns";
// The AWS Region can be provided here using the `region` property. If you leave it blank
// the SDK will default to the region set in your AWS config.
export const snsClient = new SNSClient({});
Importa i moduli SDK e client e chiama ilAPI.
import { DeleteTopicCommand } from "@aws-sdk/client-sns";
import { snsClient } from "../libs/snsClient.js";
/**
* @param {string} topicArn - The ARN of the topic to delete.
*/
export const deleteTopic = async (topicArn = "TOPIC_ARN") => {
const response = await snsClient.send(
new DeleteTopicCommand({ TopicArn: topicArn }),
);
console.log(response);
// {
// '$metadata': {
// httpStatusCode: 200,
// requestId: 'a10e2886-5a8f-5114-af36-75bd39498332',
// extendedRequestId: undefined,
// cfId: undefined,
// attempts: 1,
// totalRetryDelay: 0
// }
// }
};
- Kotlin
-
- SDKper Kotlin
-
suspend fun deleteSNSTopic(topicArnVal: String) {
val request =
DeleteTopicRequest {
topicArn = topicArnVal
}
SnsClient { region = "us-east-1" }.use { snsClient ->
snsClient.deleteTopic(request)
println("$topicArnVal was successfully deleted.")
}
}
- PHP
-
- SDK per PHP
-
require 'vendor/autoload.php';
use Aws\Exception\AwsException;
use Aws\Sns\SnsClient;
/**
* Deletes an SNS topic and all its subscriptions.
*
* This code expects that you have AWS credentials set up per:
* https://docs.aws.amazon.com/sdk-for-php/v3/developer-guide/guide_credentials.html
*/
$SnSclient = new SnsClient([
'profile' => 'default',
'region' => 'us-east-1',
'version' => '2010-03-31'
]);
$topic = 'arn:aws:sns:us-east-1:111122223333:MyTopic';
try {
$result = $SnSclient->deleteTopic([
'TopicArn' => $topic,
]);
var_dump($result);
} catch (AwsException $e) {
// output error message if fails
error_log($e->getMessage());
}
- Python
-
- SDKper Python (Boto3)
-
class SnsWrapper:
"""Encapsulates Amazon SNS topic and subscription functions."""
def __init__(self, sns_resource):
"""
:param sns_resource: A Boto3 Amazon SNS resource.
"""
self.sns_resource = sns_resource
@staticmethod
def delete_topic(topic):
"""
Deletes a topic. All subscriptions to the topic are also deleted.
"""
try:
topic.delete()
logger.info("Deleted topic %s.", topic.arn)
except ClientError:
logger.exception("Couldn't delete topic %s.", topic.arn)
raise
- SAP ABAP
-
- SDKper SAP ABAP
-
TRY.
lo_sns->deletetopic( iv_topicarn = iv_topic_arn ).
MESSAGE 'SNS topic deleted.' TYPE 'I'.
CATCH /aws1/cx_snsnotfoundexception.
MESSAGE 'Topic does not exist.' TYPE 'E'.
ENDTRY.