-
Notifications
You must be signed in to change notification settings - Fork 82
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add PACKAGE.md for CloudNative.CloudEvents #309
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,49 @@ | ||
## About | ||
|
||
CloudNative.CloudEvents is a NuGet package that provides support for creating, encoding, decoding, sending, and receiving CNCF CloudEvents. | ||
|
||
## Key Features | ||
|
||
* Supports constructing a spec-compliant CloudEvent | ||
* Provides abstractions for building custom CloudEvent formatters | ||
|
||
## How to Use | ||
|
||
To start using the CloudNative.CloudEvents package in a .NET application, follow these steps: | ||
|
||
### Installation | ||
|
||
```sh | ||
dotnet add package CloudNative.CloudEvents | ||
``` | ||
|
||
### Configuration | ||
|
||
In the application of your choosing, construct a `CloudEvent` as follows: | ||
|
||
```C# | ||
using CloudNative.CloudEvents; | ||
|
||
CloudEvent cloudEvent = new CloudEvent | ||
{ | ||
Id = "event-id", | ||
Type = "event-type", | ||
Source = new Uri("https://cloudevents.io/"), | ||
Time = DateTimeOffset.UtcNow, | ||
DataContentType = "text/plain", | ||
Data = "This is CloudEvent data" | ||
}; | ||
``` | ||
|
||
This package only provides the abstractions for constructing a CloudEvent. For complete deserialization and serialization behavior, you will need to use an accompanying formatter library. For more information on configuring and using CloudNative.CloudEvents, refer to the [official documentation](https://github.com/cloudevents/sdk-csharp/tree/main/docs). | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Possibly give an example one such formatter library? (I'd use the System.Text.Json formatter, personally.) |
||
|
||
## Main Types | ||
|
||
The main types provided by this library are: | ||
|
||
* `CloudEvent`: Represents a spec-compliant CloudEvent. | ||
* `CloudEventFormatter`: Provides an abstract class that can be extended to implement an event formatter. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Possibly mention extension methods (the names of the types are probably irrelevant) for HTTP conversion? |
||
|
||
## Feedback & Contributing | ||
|
||
CloudNative.CloudEvents is released as open-source under the [Apache license](https://licenses.nuget.org/Apache-2.0). Bug reports and contributions are welcome at [the GitHub repository](https://github.com/cloudevents/sdk-csharp). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Possibly add the HTTP binding support that's in this core package?