/// <summary> /// Initializes a new instance of the <see cref="EventGridPublisherClient"/> class. /// </summary> /// <param name="endpoint">Topic endpoint. For example, "https://TOPIC-NAME.REGION-NAME-1.eventgrid.azure.net/api/events".</param> /// <param name="credential">Credential used to connect to Azure.</param> /// <param name="options">Configuring options.</param> public EventGridPublisherClient(Uri endpoint, EventGridSharedAccessSignatureCredential credential, EventGridPublisherClientOptions options) { Argument.AssertNotNull(credential, nameof(credential)); options ??= new EventGridPublisherClientOptions(); _dataSerializer = options.DataSerializer ?? new JsonObjectSerializer(); _endpoint = endpoint; HttpPipeline pipeline = HttpPipelineBuilder.Build(options, new EventGridSharedAccessSignatureCredentialPolicy(credential)); _serviceRestClient = new ServiceRestClient(new ClientDiagnostics(options), pipeline, options.Version.GetVersionString()); _clientDiagnostics = new ClientDiagnostics(options); }
/// <summary>Initalizes an instance of EventGridClient.</summary> /// <param name="endpoint">Topic endpoint. For example, "https://TOPIC-NAME.REGION-NAME-1.eventgrid.azure.net/api/events".</param> /// <param name="credential">Credential used to connect to Azure.</param> public EventGridPublisherClient(Uri endpoint, EventGridSharedAccessSignatureCredential credential) : this(endpoint, credential, new EventGridPublisherClientOptions()) { }
/// <summary> /// Initializes a new instance of the <see cref="EventGridSharedAccessSignatureCredentialPolicy"/> class. /// </summary> /// <param name="credential">The <see cref="EventGridSharedAccessSignatureCredential"/> used to authenticate requests.</param> public EventGridSharedAccessSignatureCredentialPolicy(EventGridSharedAccessSignatureCredential credential) { Argument.AssertNotNull(credential, nameof(credential)); _credential = credential; }