기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
전화번호 및 SMS 구독 관리
Amazon SNS는 계정의 SMS 메시지를 누가 수신하는지를 관리하기 위한 여러 옵션을 제공합니다. 제한된 빈도수에 한하여, 계정의 SMS 메시지 수신을 옵트아웃한 전화번호를 옵트인할 수 있습니다. SMS 구독에 메시지 전송을 중지하려면 구독 또는 구독에 게시하는 주제를 제거할 수 있습니다.
SMS 메시지 수신 옵트아웃
현지 법률 및 규정에서 요구하는 경우(예: 미국 및 캐나다), SMS 수신자는 다음 서비스와 함께 메시지에 회신하는 방식으로 디바이스를 사용하여 옵트아웃할 수 있습니다.
-
ARRET(프랑스어)
-
CANCEL
-
END
-
OPT-OUT
-
OPTOUT
-
QUIT
-
REMOVE
-
STOP
-
TD
-
UNSUBSCRIBE
옵트아웃하려면 수신자가 Amazon SNS가 메시지를 전송하는 데 사용한 것과 동일한 발신 번호로 회신해야 합니다. 수신을 거부하면 전화번호를 AWS 계정 옵트인하지 않는 한 수신자가 더 이상 수신자가 전송한 SMS 메시지를 받지 않습니다.
전화번호에서 Amazon SNS 주제를 구독하는 경우 옵트아웃하더라도 구독이 제거되지 않지만, 전화번호를 옵트인하지 않는 한 SMS 메시지는 해당 구독으로 전송되지 않습니다.
전화번호 및 구독 관리(콘솔)
Amazon SNS 콘솔을 사용하여 어떤 전화번호가 계정의 SMS 메시지를 수신하는지를 제어할 수 있습니다.
옵트아웃한 전화번호 옵트인
어떤 전화번호가 계정의 SMS 메시지 수신을 옵트아웃했는지 볼 수 있으며, 이러한 전화번호를 옵트인하여 해당 전화번호로 메시지를 전송을 다시 시작할 수 있습니다.
30일에 한 번만 전화번호를 옵트인할 수 있습니다.
Amazon SNS 콘솔
에 로그인합니다. -
콘솔 메뉴에서 리전 선택기를 SMS 메시징을 지원하는 리전으로 설정합니다.
-
탐색 창에서 문자 메시지(SMS)를 선택합니다.
-
[Text messaging (SMS)] 페이지에서 [View opted out phone numbers]를 선택합니다. [Opted out phone numbers] 페이지에 옵트아웃된 전화번호가 표시됩니다.
-
옵트인하려는 전화번호의 확인란을 선택하고 [Opt in]을 선택합니다. 전화번호가 더 이상 옵트아웃되지 않으며 전송되는 SMS 메시지를 수신합니다.
SMS 구독 삭제
SMS 구독을 삭제하여 주제에 게시할 때 해당 전화번호로 SMS 메시지를 전송하는 것을 중지합니다.
-
탐색 창에서 구독을 선택합니다.
-
삭제하려는 구독의 확인란을 선택합니다. 그런 다음 [Actions]를 선택하고 [Delete Subscriptions]를 선택합니다.
-
삭제 창에서 삭제를 선택합니다. Amazon SNS는 구독을 삭제하고 성공 메시지를 표시합니다.
주제 삭제
메시지를 구독 엔드포인트에 더 이상 게시하지 않으려는 경우 주제를 삭제합니다.
-
탐색 창에서 주제(Topics)를 선택합니다.
-
삭제하려는 주제의 확인란을 선택합니다. 그런 다음 [Actions]를 선택하고 [Delete Topics]를 선택합니다.
-
삭제 창에서 삭제를 선택합니다. Amazon SNS는 주제를 삭제하고 성공 메시지를 표시합니다.
전화번호 및 구독 관리(AWS SDK)
AWS SDK를 사용하여 Amazon SNS에 프로그래밍 방식으로 요청하고 계정에서 SMS 메시지를 수신할 수 있는 전화번호를 관리할 수 있습니다.
AWS SDK를 사용하려면 자격 증명으로 구성해야 합니다. 자세한 정보는 AWS SDK 및 도구 참조 가이드의 공유 구성 및 자격 증명 파일을 참조하세요.
옵트아웃한 모든 전화번호 보기
옵트아웃한 모든 전화번호를 보려면 Amazon SNS API를 통해 ListPhoneNumbersOptedOut
요청을 제출합니다.
다음 코드 예제는 사용 ListPhoneNumbersOptedOut
방법을 보여줍니다.
- CLI
-
- AWS CLI
-
SMS 메시지 옵트아웃을 나열하려면
다음
list-phone-numbers-opted-out
예제에서는 SMS 메시지 수신을 옵트아웃한 전화번호를 나열합니다.aws sns list-phone-numbers-opted-out
출력:
{ "phoneNumbers": [ "+15555550100" ] }
-
API 세부 정보는 AWS CLI 명령 ListPhoneNumbersOptedOut
참조를 참조하십시오.
-
- Java
-
- SDK for Java 2.x
-
참고
자세한 내용은 에서 확인할 수 GitHub 있습니다. AWS 코드 예제 리포지토리
에서 전체 예제를 찾고 설정 및 실행하는 방법을 배워보세요. 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); } } }
-
API 세부 정보는 AWS SDK for Java 2.x API ListPhoneNumbersOptedOut참조를 참조하십시오.
-
- PHP
-
- SDK for PHP
-
참고
자세한 내용은 다음과 같습니다 GitHub. AWS 코드 예제 리포지토리
에서 전체 예제를 찾고 설정 및 실행하는 방법을 배워보세요. 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()); }
-
자세한 정보는 AWS SDK for PHP 개발자 안내서를 참조하십시오.
-
API 세부 정보는 AWS SDK for PHP API ListPhoneNumbersOptedOut참조를 참조하십시오.
-
전화번호가 옵트아웃되었는지 여부 확인
전화번호가 옵트아웃되었는지 여부를 확인하려면 Amazon SNS API를 통해 CheckIfPhoneNumberIsOptedOut
요청을 제출합니다.
다음 코드 예제는 사용 방법을 보여줍니다CheckIfPhoneNumberIsOptedOut
.
- .NET
-
- AWS SDK for .NET
-
참고
더 많은 내용이 있습니다 GitHub. AWS 코드 예제 리포지토리
에서 전체 예제를 찾고 설정 및 실행하는 방법을 배워보세요. 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}"); } } }
-
API 세부 정보는 AWS SDK for .NET API CheckIfPhoneNumberIsOptedOut참조를 참조하십시오.
-
- CLI
-
- AWS CLI
-
전화번호의 SMS 메시지 옵트아웃을 확인하려면
다음
check-if-phone-number-is-opted-out
예시는 지정된 전화번호가 현재 AWS 계정으로부터 SMS 메시지 수신을 거부했는지 여부를 확인합니다.aws sns check-if-phone-number-is-opted-out \ --phone-number +1555550100
출력:
{ "isOptedOut": false }
-
API 세부 정보는 AWS CLI 명령 CheckIfPhoneNumberIsOptedOut
참조를 참조하십시오.
-
- Java
-
- SDK for Java 2.x
-
참고
자세한 내용은 에서 확인할 수 GitHub 있습니다. AWS 코드 예제 리포지토리
에서 전체 예제를 찾고 설정 및 실행하는 방법을 배워보세요. 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); } } }
-
API 세부 정보는 AWS SDK for Java 2.x API CheckIfPhoneNumberIsOptedOut참조를 참조하십시오.
-
- JavaScript
-
- JavaScript (v3) 용 SDK
-
참고
더 많은 내용이 있습니다. GitHub AWS 코드 예시 리포지토리
에서 전체 예시를 찾고 설정 및 실행하는 방법을 배워보세요. 별도의 모듈에서 클라이언트를 생성하고 내보냅니다.
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({});
SDK 및 클라이언트 모듈을 가져오고 API를 호출합니다.
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; };
-
자세한 정보는 AWS SDK for JavaScript 개발자 안내서를 참조하십시오.
-
API 세부 정보는 AWS SDK for JavaScript API CheckIfPhoneNumberIsOptedOut참조를 참조하십시오.
-
- PHP
-
- SDK for PHP
-
참고
자세한 내용은 다음과 같습니다 GitHub. AWS 코드 예제 리포지토리
에서 전체 예제를 찾고 설정 및 실행하는 방법을 배워보세요. 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()); }
-
자세한 정보는 AWS SDK for PHP 개발자 안내서를 참조하십시오.
-
API 세부 정보는 AWS SDK for PHP API CheckIfPhoneNumberIsOptedOut참조를 참조하십시오.
-
옵트아웃한 전화번호 옵트인
전화번호를 옵트인하려면 Amazon SNS API를 통해 OptInPhoneNumber
요청을 제출합니다.
30일에 한 번만 전화번호를 옵트인할 수 있습니다.
SMS 구독 삭제
Amazon SNS 주제에서 SMS 구독을 삭제하려면 Amazon SNS API를 통해 ListSubscriptions
요청을 제출하여 구독 ARN을 가져온 다음 ARN을 Unsubscribe
요청에 전달합니다.
다음 코드 예제는 사용 방법을 보여줍니다Unsubscribe
.
- .NET
-
- AWS SDK for .NET
-
참고
더 많은 내용이 있습니다 GitHub. AWS 코드 예제 리포지토리
에서 전체 예제를 찾고 설정 및 실행하는 방법을 배워보세요. 구독 ARN으로 주제 구독을 취소합니다.
/// <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; }
-
API 세부 정보는 AWS SDK for .NET API 참조의 Unsubscribe를 참조하십시오.
-
- C++
-
- SDK for C++
-
참고
더 많은 것이 있어요 GitHub. AWS 코드 예제 리포지토리
에서 전체 예제를 찾고 설정 및 실행하는 방법을 배워보세요. //! 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(); }
-
API 세부 정보는 AWS SDK for C++ API 참조의 Unsubscribe를 참조하십시오.
-
- CLI
-
- AWS CLI
-
주제 구독을 취소하려면
다음
unsubscribe
예제에서는 주제에서 지정된 구독을 삭제합니다.aws sns unsubscribe \ --subscription-arn arn:aws:sns:us-west-2:0123456789012:my-topic:8a21d249-4329-4871-acc6-7be709c6ea7f
이 명령은 출력을 생성하지 않습니다.
-
API 세부 정보는 AWS CLI 명령 참조의 Unsubscribe
를 참조하세요.
-
- Java
-
- SDK for Java 2.x
-
참고
더 많은 것이 있어요 GitHub. AWS 코드 예제 리포지토리
에서 전체 예제를 찾고 설정 및 실행하는 방법을 배워보세요. 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); } } }
-
API 세부 정보는 AWS SDK for Java 2.x API 참조의 Unsubscribe를 참조하십시오.
-
- JavaScript
-
- JavaScript (v3) 용 SDK
-
참고
더 많은 내용이 있습니다. GitHub AWS 코드 예시 리포지토리
에서 전체 예시를 찾고 설정 및 실행하는 방법을 배워보세요. 별도의 모듈에서 클라이언트를 생성하고 내보냅니다.
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({});
SDK 및 클라이언트 모듈을 가져오고 API를 호출합니다.
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; };
-
자세한 정보는 AWS SDK for JavaScript 개발자 안내서를 참조하십시오.
-
API 세부 정보는 AWS SDK for JavaScript API 참조의 Unsubscribe를 참조하십시오.
-
- Kotlin
-
- SDK for Kotlin
-
참고
더 많은 것이 있어요 GitHub. AWS 코드 예제 리포지토리
에서 전체 예제를 찾고 설정 및 실행하는 방법을 배워보세요. 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}") } }
-
API 세부 정보는 AWS SDK for Kotlin API 참조의 Unsubscribe
를 참조하십시오.
-
- PHP
-
- SDK for PHP
-
참고
더 많은 것이 있어요 GitHub. AWS 코드 예제 리포지토리
에서 전체 예제를 찾고 설정 및 실행하는 방법을 배워보세요. 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()); }
-
자세한 정보는 AWS SDK for PHP 개발자 안내서를 참조하십시오.
-
API 세부 정보는 AWS SDK for PHP API 참조의 Unsubscribe를 참조하십시오.
-
- Python
-
- SDK for Python(Boto3)
-
참고
더 많은 것이 있어요 GitHub. AWS 코드 예제 리포지토리
에서 전체 예제를 찾고 설정 및 실행하는 방법을 배워보세요. 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
-
API 세부 정보는 AWS SDK for Python (Boto3) API 참조의 Unsubscribe를 참조하십시오.
-
- SAP ABAP
-
- SDK for SAP ABAP
-
참고
더 많은 것이 있어요 GitHub. AWS 코드 예제 리포지토리
에서 전체 예제를 찾고 설정 및 실행하는 방법을 배워보세요. 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.
-
API에 대한 세부 정보는 SAP ABAP용AWS SDK API 참조의 Unsubscribe를 참조하세요.
-
주제 삭제
주제 및 해당 주제의 모든 구독을 삭제하려면 Amazon SNS API를 통해 ListTopics
요청을 제출하여 주제 ARN을 가져온 다음 ARN을 DeleteTopic
요청에 전달합니다.
다음 코드 예제는 사용 방법을 보여줍니다DeleteTopic
.
- .NET
-
- AWS SDK for .NET
-
참고
더 많은 내용이 있습니다 GitHub. AWS 코드 예제 리포지토리
에서 전체 예제를 찾고 설정 및 실행하는 방법을 배워보세요. 주제 ARN으로 주제를 삭제합니다.
/// <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; }
-
API 세부 정보는 AWS SDK for .NET API DeleteTopic참조를 참조하십시오.
-
- C++
-
- SDK for C++
-
참고
자세한 내용은 다음과 같습니다 GitHub. AWS 코드 예제 리포지토리
에서 전체 예제를 찾고 설정 및 실행하는 방법을 배워보세요. //! 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(); }
-
API 세부 정보는 AWS SDK for C++ API DeleteTopic참조를 참조하십시오.
-
- CLI
-
- AWS CLI
-
SNS 주제를 삭제하려면
다음
delete-topic
예제에서는 지정된 SNS 주제를 삭제합니다.aws sns delete-topic \ --topic-arn "arn:aws:sns:us-west-2:123456789012:my-topic"
이 명령은 출력을 생성하지 않습니다.
-
API 세부 정보는 AWS CLI 명령 DeleteTopic
참조를 참조하십시오.
-
- Go
-
- SDK for Go V2
-
참고
자세한 내용은 에서 확인할 수 GitHub 있습니다. AWS 코드 예제 리포지토리
에서 전체 예제를 찾고 설정 및 실행하는 방법을 배워보세요. // 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(topicArn string) error { _, err := actor.SnsClient.DeleteTopic(context.TODO(), &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 }
-
API 세부 정보는 AWS SDK for Go API DeleteTopic
참조를 참조하십시오.
-
- Java
-
- SDK for Java 2.x
-
참고
자세한 내용은 다음과 같습니다 GitHub. AWS 코드 예제 리포지토리
에서 전체 예제를 찾고 설정 및 실행하는 방법을 배워보세요. 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); } } }
-
API 세부 정보는 AWS SDK for Java 2.x API DeleteTopic참조를 참조하십시오.
-
- JavaScript
-
- JavaScript (v3) 용 SDK
-
참고
더 많은 내용이 있습니다. GitHub AWS 코드 예시 리포지토리
에서 전체 예시를 찾고 설정 및 실행하는 방법을 배워보세요. 별도의 모듈에서 클라이언트를 생성하고 내보냅니다.
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({});
SDK 및 클라이언트 모듈을 가져오고 API를 호출합니다.
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 // } // } };
-
자세한 정보는 AWS SDK for JavaScript 개발자 안내서를 참조하십시오.
-
API 세부 정보는 AWS SDK for JavaScript API DeleteTopic참조를 참조하십시오.
-
- Kotlin
-
- SDK for Kotlin
-
참고
자세한 내용은 다음과 같습니다 GitHub. AWS 코드 예제 리포지토리
에서 전체 예제를 찾고 설정 및 실행하는 방법을 배워보세요. 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.") } }
-
API 세부 정보는 Kotlin API용AWS SDK 레퍼런스를 참조하세요 DeleteTopic
.
-
- PHP
-
- SDK for PHP
-
참고
자세한 내용은 여기에서 확인할 수 있습니다. GitHub AWS 코드 예제 리포지토리
에서 전체 예제를 찾고 설정 및 실행하는 방법을 배워보세요. 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()); }
-
API 세부 정보는 AWS SDK for PHP API DeleteTopic참조를 참조하십시오.
-
- Python
-
- SDK for Python(Boto3)
-
참고
자세한 내용은 다음과 같습니다 GitHub. AWS 코드 예제 리포지토리
에서 전체 예제를 찾고 설정 및 실행하는 방법을 배워보세요. 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
-
API에 대한 자세한 내용은 파이썬용AWS SDK (Boto3) API 레퍼런스를 참조하십시오 DeleteTopic.
-
- SAP ABAP
-
- SDK for SAP ABAP
-
참고
자세한 내용은 다음과 같습니다. GitHub AWS 코드 예제 리포지토리
에서 전체 예제를 찾고 설정 및 실행하는 방법을 배워보세요. 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.
-
API 세부 정보는 SAP용AWS SDK ABAP API 참조를 참조하십시오 DeleteTopic.
-