As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
O número e o tamanho dos recursos do Amazon SNS em uma AWS conta são limitados. Para obter mais informações, consulte Amazon Simple Notification Service endpoints and quotas (Endpoints e cotas do Amazon Simple Notification Service).
Criação de políticas de proteção de dados usando o AWS SDK
Crie uma política de proteção de dados do Amazon SNS usando o AWS SDK.
Para criar uma política de proteção de dados junto com um tópico do Amazon SNS (AWS SDK)
Use as seguintes opções para criar uma política de proteção de dados com um tópico padrão do 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 criar ou recuperar uma política de proteção de dados para um tópico AWS existente do Amazon SNS (SDK)
Use as seguintes opções para criar ou recuperar uma política de proteção de dados com um tópico padrão do 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();