Share via


EventGridClient.ReleaseCloudEventsAsync Method

Definition

Overloads

ReleaseCloudEventsAsync(String, String, RequestContent, Nullable<Int32>, RequestContext)

[Protocol Method] Release batch of Cloud Events. The server responds with an HTTP 200 status code if the request is successfully accepted. The response body will include the set of successfully released lockTokens, along with other failed lockTokens with their corresponding error information.

ReleaseCloudEventsAsync(String, String, ReleaseOptions, Nullable<ReleaseDelay>, CancellationToken)

Release batch of Cloud Events. The server responds with an HTTP 200 status code if the request is successfully accepted. The response body will include the set of successfully released lockTokens, along with other failed lockTokens with their corresponding error information.

ReleaseCloudEventsAsync(String, String, RequestContent, Nullable<Int32>, RequestContext)

Source:
EventGridClient.cs

[Protocol Method] Release batch of Cloud Events. The server responds with an HTTP 200 status code if the request is successfully accepted. The response body will include the set of successfully released lockTokens, along with other failed lockTokens with their corresponding error information.

public virtual System.Threading.Tasks.Task<Azure.Response> ReleaseCloudEventsAsync (string topicName, string eventSubscriptionName, Azure.Core.RequestContent content, int? releaseDelayInSeconds = default, Azure.RequestContext context = default);
abstract member ReleaseCloudEventsAsync : string * string * Azure.Core.RequestContent * Nullable<int> * Azure.RequestContext -> System.Threading.Tasks.Task<Azure.Response>
override this.ReleaseCloudEventsAsync : string * string * Azure.Core.RequestContent * Nullable<int> * Azure.RequestContext -> System.Threading.Tasks.Task<Azure.Response>
Public Overridable Function ReleaseCloudEventsAsync (topicName As String, eventSubscriptionName As String, content As RequestContent, Optional releaseDelayInSeconds As Nullable(Of Integer) = Nothing, Optional context As RequestContext = Nothing) As Task(Of Response)

Parameters

topicName
String

Topic Name.

eventSubscriptionName
String

Event Subscription Name.

content
RequestContent

The content to send as the body of the request.

releaseDelayInSeconds
Nullable<Int32>

Release cloud events with the specified delay in seconds. Allowed values: "0" | "10" | "60" | "600" | "3600".

context
RequestContext

The request context, which can override default behaviors of the client pipeline on a per-call basis.

Returns

The response returned from the service.

Exceptions

topicName, eventSubscriptionName or content is null.

topicName or eventSubscriptionName is an empty string, and was expected to be non-empty.

Service returned a non-success status code.

Examples

This sample shows how to call ReleaseCloudEventsAsync and parse the result.

Uri endpoint = new Uri("<https://my-service.azure.com>");
AzureKeyCredential credential = new AzureKeyCredential("<key>");
EventGridClient client = new EventGridClient(endpoint, credential);

using RequestContent content = RequestContent.Create(new
{
    lockTokens = new object[]
    {
        "<lockTokens>"
    },
});
Response response = await client.ReleaseCloudEventsAsync("<topicName>", "<eventSubscriptionName>", content);

JsonElement result = JsonDocument.Parse(response.ContentStream).RootElement;
Console.WriteLine(result.GetProperty("failedLockTokens")[0].GetProperty("lockToken").ToString());
Console.WriteLine(result.GetProperty("failedLockTokens")[0].GetProperty("error").GetProperty("code").ToString());
Console.WriteLine(result.GetProperty("failedLockTokens")[0].GetProperty("error").GetProperty("message").ToString());
Console.WriteLine(result.GetProperty("succeededLockTokens")[0].ToString());

This sample shows how to call ReleaseCloudEventsAsync with all parameters and request content and parse the result.

Uri endpoint = new Uri("<https://my-service.azure.com>");
AzureKeyCredential credential = new AzureKeyCredential("<key>");
EventGridClient client = new EventGridClient(endpoint, credential);

using RequestContent content = RequestContent.Create(new
{
    lockTokens = new object[]
    {
        "<lockTokens>"
    },
});
Response response = await client.ReleaseCloudEventsAsync("<topicName>", "<eventSubscriptionName>", content, releaseDelayInSeconds: 0);

JsonElement result = JsonDocument.Parse(response.ContentStream).RootElement;
Console.WriteLine(result.GetProperty("failedLockTokens")[0].GetProperty("lockToken").ToString());
Console.WriteLine(result.GetProperty("failedLockTokens")[0].GetProperty("error").GetProperty("code").ToString());
Console.WriteLine(result.GetProperty("failedLockTokens")[0].GetProperty("error").GetProperty("message").ToString());
Console.WriteLine(result.GetProperty("failedLockTokens")[0].GetProperty("error").GetProperty("target").ToString());
Console.WriteLine(result.GetProperty("failedLockTokens")[0].GetProperty("error").GetProperty("innererror").GetProperty("code").ToString());
Console.WriteLine(result.GetProperty("succeededLockTokens")[0].ToString());

Applies to

ReleaseCloudEventsAsync(String, String, ReleaseOptions, Nullable<ReleaseDelay>, CancellationToken)

Source:
EventGridClient.cs

Release batch of Cloud Events. The server responds with an HTTP 200 status code if the request is successfully accepted. The response body will include the set of successfully released lockTokens, along with other failed lockTokens with their corresponding error information.

public virtual System.Threading.Tasks.Task<Azure.Response<Azure.Messaging.EventGrid.Namespaces.ReleaseResult>> ReleaseCloudEventsAsync (string topicName, string eventSubscriptionName, Azure.Messaging.EventGrid.Namespaces.ReleaseOptions releaseOptions, Azure.Messaging.EventGrid.Namespaces.ReleaseDelay? releaseDelayInSeconds = default, System.Threading.CancellationToken cancellationToken = default);
abstract member ReleaseCloudEventsAsync : string * string * Azure.Messaging.EventGrid.Namespaces.ReleaseOptions * Nullable<Azure.Messaging.EventGrid.Namespaces.ReleaseDelay> * System.Threading.CancellationToken -> System.Threading.Tasks.Task<Azure.Response<Azure.Messaging.EventGrid.Namespaces.ReleaseResult>>
override this.ReleaseCloudEventsAsync : string * string * Azure.Messaging.EventGrid.Namespaces.ReleaseOptions * Nullable<Azure.Messaging.EventGrid.Namespaces.ReleaseDelay> * System.Threading.CancellationToken -> System.Threading.Tasks.Task<Azure.Response<Azure.Messaging.EventGrid.Namespaces.ReleaseResult>>
Public Overridable Function ReleaseCloudEventsAsync (topicName As String, eventSubscriptionName As String, releaseOptions As ReleaseOptions, Optional releaseDelayInSeconds As Nullable(Of ReleaseDelay) = Nothing, Optional cancellationToken As CancellationToken = Nothing) As Task(Of Response(Of ReleaseResult))

Parameters

topicName
String

Topic Name.

eventSubscriptionName
String

Event Subscription Name.

releaseOptions
ReleaseOptions

ReleaseOptions.

releaseDelayInSeconds
Nullable<ReleaseDelay>

Release cloud events with the specified delay in seconds.

cancellationToken
CancellationToken

The cancellation token to use.

Returns

Exceptions

topicName, eventSubscriptionName or releaseOptions is null.

topicName or eventSubscriptionName is an empty string, and was expected to be non-empty.

Examples

This sample shows how to call ReleaseCloudEventsAsync.

Uri endpoint = new Uri("<https://my-service.azure.com>");
AzureKeyCredential credential = new AzureKeyCredential("<key>");
EventGridClient client = new EventGridClient(endpoint, credential);

ReleaseOptions releaseOptions = new ReleaseOptions(new string[] { "<lockTokens>" });
Response<ReleaseResult> response = await client.ReleaseCloudEventsAsync("<topicName>", "<eventSubscriptionName>", releaseOptions);

This sample shows how to call ReleaseCloudEventsAsync with all parameters.

Uri endpoint = new Uri("<https://my-service.azure.com>");
AzureKeyCredential credential = new AzureKeyCredential("<key>");
EventGridClient client = new EventGridClient(endpoint, credential);

ReleaseOptions releaseOptions = new ReleaseOptions(new string[] { "<lockTokens>" });
Response<ReleaseResult> response = await client.ReleaseCloudEventsAsync("<topicName>", "<eventSubscriptionName>", releaseOptions, releaseDelayInSeconds: ReleaseDelay.By0Seconds);

Applies to