public static string EncodeMessageBody(BinaryData binaryData, QueueMessageEncoding messageEncoding) { if (binaryData == null) { return(null); } switch (messageEncoding) { case QueueMessageEncoding.None: return(binaryData.ToString()); case QueueMessageEncoding.Base64: if (MemoryMarshal.TryGetArray(binaryData.ToMemory(), out var segment)) { return(Convert.ToBase64String(segment.Array, segment.Offset, segment.Count)); } else { return(Convert.ToBase64String(binaryData.ToArray())); } default: throw new ArgumentException($"Unsupported message encoding {messageEncoding}", nameof(messageEncoding)); } }
public QueueClient GetEncodingClient( string queueName, QueueMessageEncoding encoding) { var options = GetOptions(); options.MessageEncoding = encoding; var service = GetServiceClient_SharedKey(options); return(InstrumentClient(service.GetQueueClient(queueName))); }
/// <summary> /// Initializes a new instance of the <see cref="QueueServiceClient"/> /// class. /// </summary> /// <param name="connectionString"> /// A connection string includes the authentication information /// required for your application to access data in an Azure Storage /// account at runtime. /// /// For more information, see /// <see href="https://docs.microsoft.com/azure/storage/common/storage-configure-connection-string"> /// Configure Azure Storage connection strings</see>. /// </param> /// <param name="options"> /// Optional client options that define the transport pipeline /// policies for authentication, retries, etc., that are applied to /// every request. /// </param> public QueueServiceClient(string connectionString, QueueClientOptions options) { var conn = StorageConnectionString.Parse(connectionString); _uri = conn.QueueEndpoint; options ??= new QueueClientOptions(); _pipeline = options.Build(conn.Credentials); _version = options.Version; _clientDiagnostics = new ClientDiagnostics(options); _clientSideEncryption = QueueClientSideEncryptionOptions.CloneFrom(options._clientSideEncryptionOptions); _storageSharedKeyCredential = conn.Credentials as StorageSharedKeyCredential; _messageEncoding = options.MessageEncoding; }
/// <summary> /// Initializes a new instance of the <see cref="QueueServiceClient"/> /// class. /// </summary> /// <param name="serviceUri"> /// A <see cref="Uri"/> referencing the queue service. /// This is likely to be similar to "https://{account_name}.queue.core.windows.net". /// </param> /// <param name="authentication"> /// An optional authentication policy used to sign requests. /// </param> /// <param name="options"> /// Optional client options that define the transport pipeline /// policies for authentication, retries, etc., that are applied to /// every request. /// </param> /// <param name="storageSharedKeyCredential"> /// The shared key credential used to sign requests. /// </param> internal QueueServiceClient( Uri serviceUri, HttpPipelinePolicy authentication, QueueClientOptions options, StorageSharedKeyCredential storageSharedKeyCredential) { _uri = serviceUri; options ??= new QueueClientOptions(); _pipeline = options.Build(authentication); _version = options.Version; _clientDiagnostics = new ClientDiagnostics(options); _clientSideEncryption = QueueClientSideEncryptionOptions.CloneFrom(options._clientSideEncryptionOptions); _storageSharedKeyCredential = storageSharedKeyCredential; _messageEncoding = options.MessageEncoding; }
public QueueClientConfiguration( HttpPipeline pipeline, StorageSharedKeyCredential sharedKeyCredential, ClientDiagnostics clientDiagnostics, QueueClientOptions.ServiceVersion version, QueueClientSideEncryptionOptions clientSideEncryption, QueueMessageEncoding messageEncoding, SyncAsyncEventHandler <QueueMessageDecodingFailedEventArgs> queueMessageDecodingFailedHandlers) : base(pipeline, sharedKeyCredential, clientDiagnostics) { Version = version; ClientSideEncryption = clientSideEncryption; MessageEncoding = messageEncoding; QueueMessageDecodingFailedHandlers = queueMessageDecodingFailedHandlers; }
public QueueClient GetEncodingClient( string queueName, QueueMessageEncoding encoding, params SyncAsyncEventHandler <QueueMessageDecodingFailedEventArgs>[] messageDecodingFailedHandlers) { var options = GetOptions(); options.MessageEncoding = encoding; foreach (var messageDecodingFailedHandler in messageDecodingFailedHandlers) { options.MessageDecodingFailed += messageDecodingFailedHandler; } var service = GetServiceClient_SharedKey_UnInstrumented(options); var queueClient = service.GetQueueClient(queueName); return(InstrumentClient(queueClient)); }
public static BinaryData DecodeMessageBody(string messageText, QueueMessageEncoding messageEncoding) { if (messageText == null) { return(new BinaryData(string.Empty)); } switch (messageEncoding) { case QueueMessageEncoding.None: return(new BinaryData(messageText)); case QueueMessageEncoding.Base64: return(new BinaryData(Convert.FromBase64String(messageText))); default: throw new ArgumentException($"Unsupported message encoding {messageEncoding}", nameof(messageEncoding)); } }
public AzureQueueReceiver(string connectionString, string queueName, QueueMessageEncoding messageEncoding = QueueMessageEncoding.None) { _connectionString = connectionString; _queueName = queueName; _messageEncoding = messageEncoding; }