public static PublishRequest ToPublishRequest(this SnsPreparedMessage message) { return(new PublishRequest(message.Destination, message.Body) { MessageAttributes = message.MessageAttributes.ToDictionary(x => x.Key, x => new SnsMessageAttributeValue { DataType = x.Value.DataType, StringValue = x.Value.StringValue, BinaryValue = x.Value.BinaryValue, }) }); }
async Task ApplyMulticastOperationMappingIfNecessary(MulticastTransportOperation transportOperation, SnsPreparedMessage snsPreparedMessage) { if (transportOperation == null || snsPreparedMessage == null) { return; } var existingTopicArn = await topicCache.GetTopicArn(transportOperation.MessageType).ConfigureAwait(false); snsPreparedMessage.Destination = existingTopicArn; }