Example usage for com.amazonaws.services.sns.model PublishRequest getMessageAttributes

List of usage examples for com.amazonaws.services.sns.model PublishRequest getMessageAttributes

Introduction

In this page you can find the example usage for com.amazonaws.services.sns.model PublishRequest getMessageAttributes.

Prototype


public java.util.Map<String, MessageAttributeValue> getMessageAttributes() 

Source Link

Document

Message attributes for Publish action.

Usage

From source file:smartthings.brave.sns.PublishRequestTracingHandler.java

License:Apache License

@Override
public AmazonWebServiceRequest beforeMarshalling(AmazonWebServiceRequest request) {
    if (request instanceof PublishRequest) {
        PublishRequest publishRequest = (PublishRequest) request;

        Span oneWay = tracing.tracer().nextSpan()
                .remoteEndpoint(Endpoint.newBuilder().serviceName(SERVICE_NAME).build()).kind(Span.Kind.CLIENT)
                .start();//  w  ww.  j av a  2 s  .c  o  m

        injector.inject(oneWay.context(), publishRequest.getMessageAttributes());

        String name = "unknown_topic";
        if (publishRequest.getTopicArn() != null) {
            name = publishRequest.getTopicArn();
        }
        oneWay.name(name);
        oneWay.tag(SNS_TOPIC_ARN, name);

        tracing.tracer().withSpanInScope(oneWay);
    }
    return request;
}