Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
La cantidad y el tamaño de los recursos de Amazon SNS en una AWS cuenta son limitados. Para obtener más información, consulte Amazon Simple Notification Service endpoints and quotas (Limitación y cuotas de Amazon Simple Notification Service).
Creación de políticas de protección de datos mediante el SDK AWS
Cree una política de protección de datos de Amazon SNS mediante el AWS SDK.
Para crear una política de protección de datos junto con un tema de Amazon SNS (SDK)AWS
Utilice las siguientes opciones para crear una nueva política de protección de datos junto con un tema estándar de Amazon SNS:
- Java
-
/**
* For information regarding CreateTopic see this documentation topic:
*
* https://docs.aws.amazon.com/code-samples/latest/catalog/javav2-sns-src-main-java-com-example-sns-CreateTopic.java.html
*/
public static String createSNSTopicWithDataProtectionPolicy(SnsClient snsClient, String topicName, String dataProtectionPolicy) {
try {
CreateTopicRequest request = CreateTopicRequest.builder()
.name(topicName)
.dataProtectionPolicy(dataProtectionPolicy)
.build();
CreateTopicResponse result = snsClient.createTopic(request);
return result.topicArn();
} catch (SnsException e) {
System.err.println(e.awsErrorDetails().errorMessage());
System.exit(1);
}
return "";
}
- JavaScript
-
// Import required AWS SDK clients and commands for Node.js
import {CreateTopicCommand } from "@aws-sdk/client-sns";
import {snsClient } from "./libs/snsClient.js";
// Set the parameters
const params = { Name: "TOPIC_NAME", DataProtectionPolicy: "DATA_PROTECTION_POLICY" };
const run = async () => {
try {
const data = await snsClient.send(new CreateTopicCommand(params));
console.log("Success.", data);
return data; // For unit tests.
} catch (err) {
console.log("Error", err.stack);
}
};
run();
Para crear o recuperar una política de protección de datos para un tema de Amazon SNS (AWS SDK) existente
Utilice las siguientes opciones para crear o recuperar una nueva política de protección de datos junto con un tema estándar de Amazon SNS:
- Java
-
public static void putDataProtectionPolicy(SnsClient snsClient, String topicName, String dataProtectionPolicy) {
try {
PutDataProtectionPolicyRequest request = PutDataProtectionPolicyRequest.builder()
.resourceArn(topicName)
.dataProtectionPolicy(dataProtectionPolicy)
.build();
PutDataProtectionPolicyResponse result = snsClient.putDataProtectionPolicy(request);
System.out.println("\n\nStatus was " + result.sdkHttpResponse().statusCode()
+ "\n\nTopic " + request.resourceArn()
+ " DataProtectionPolicy " + request.dataProtectionPolicy());
} catch (SnsException e) {
System.err.println(e.awsErrorDetails().errorMessage());
System.exit(1);
}
}
public static void getDataProtectionPolicy(SnsClient snsClient, String topicName) {
try {
GetDataProtectionPolicyRequest request = GetDataProtectionPolicyRequest.builder()
.resourceArn(topicName)
.build();
GetDataProtectionPolicyResponse result = snsClient.getDataProtectionPolicy(request);
System.out.println("\n\nStatus is " + result.sdkHttpResponse().statusCode()
+ "\n\nDataProtectionPolicy: \n\n" + result.dataProtectionPolicy());
} catch (SnsException e) {
System.err.println(e.awsErrorDetails().errorMessage());
System.exit(1);
}
}
- JavaScript
-
// Import required AWS SDK clients and commands for Node.js
import {PutDataProtectionPolicyCommand, GetDataProtectionPolicyCommand } from "@aws-sdk/client-sns";
import {snsClient } from "./libs/snsClient.js";
// Set the parameters
const putParams = { ResourceArn: "TOPIC_ARN", DataProtectionPolicy: "DATA_PROTECTION_POLICY" };
const runPut = async () => {
try {
const data = await snsClient.send(new PutDataProtectionPolicyCommand(putParams));
console.log("Success.", data);
return data; // For unit tests.
} catch (err) {
console.log("Error", err.stack);
}
};
runPut();
// Set the parameters
const getParams = { ResourceArn: "TOPIC_ARN" };
const runGet = async () => {
try {
const data = await snsClient.send(new GetDataProtectionPolicyCommand(getParams));
console.log("Success.", data);
return data; // For unit tests.
} catch (err) {
console.log("Error", err.stack);
}
};
runGet();