C client library for Azure Event Hubs https://azure.microsoft.com/services/event-hubs
Перейти к файлу
Eric Wolz f7d90ce31e
fix submodule check (#74)
* fix submodule check

* update submodule

* update c-util
2023-11-27 16:34:03 -08:00
build fix submodule check (#74) 2023-11-27 16:34:03 -08:00
build_all cpp test 2023-04-29 14:02:52 -07:00
configs Update CMakelists for vcpkg 2019-01-30 23:12:55 -08:00
deps fix build script 2021-08-16 14:24:11 -07:00
docs Added receive tutorial section to ubuntu doc 2018-03-07 12:33:06 -08:00
eventhub_client move to c99 2023-04-29 14:36:57 -07:00
jenkins add vs2022 build 2023-04-29 13:39:43 -07:00
testtools EventHub Receiver Initial Implementation 2016-12-06 11:50:10 -08:00
tools/csharp_consumeeventsfromeventhub Update for release 2015-08-05 15:18:17 -07:00
.gitattributes Added Jenkins, license, .gitignore, .gitmodules and other scripts in newly split C SDK repo 2016-12-15 18:30:42 -08:00
.gitignore move to 1ES hosted agents 2021-08-16 13:56:37 -07:00
.gitmodules Submodule macro utils 2019-03-29 20:15:21 -07:00
CMakeLists.txt move to c99 2023-04-29 14:36:57 -07:00
LICENSE Bump version to 0.11 and update dependencies 2019-01-29 22:25:32 -08:00
README.md Update README.md 2020-12-08 20:12:31 -08:00
SECURITY.md Microsoft mandatory file 2022-09-13 09:41:34 -07:00
dependencies.cmake Update CmakeList so we can build the SDK with installed dependencies 2019-01-30 10:32:07 -08:00
thirdpartynotice.txt Added Jenkins, license, .gitignore, .gitmodules and other scripts in newly split C SDK repo 2016-12-15 18:30:42 -08:00

README.md

This SDK is no longer supported and it is maintained by Microsoft employees and external contributors in a best effort way (in their free time). To send events to Azure Event Hub in other languages please see the Azure Event Hub documentation, quickstarts section.

For use cases where connectivity to Event Hub is needed in a C development environment, please use uamqp-c or other AMQP C clients.

Azure Event Hub Client for C

The Azure Event Hubs Client for C is a library specifically aimed at clients looking to send event data into an existing Event Hub. The library builds on the compact uAMQP library for AMQP 1.0 and we include build and usage instructions for a variety of Linux flavors and also for Windows.

As the primary audience for this library is the embedded devices development community, the library also provides some level of insulation against intermittent network availability interruptions common with devices connected via wireless radio networks of any kind.

The library supports sending individual events as well as batched event submission.

To maximize portability, the code is written in ANSI C (C99) and avoids any compiler extensions. The build output is a static library.b.

The library has a dependency on azure-uamqp-c and azure-c-shared-utility; those projects are external to this project, and referenced as git submodules.

When switching branches in this repository, remember to update the submodules by:

git submodule update --init --recursive

Building the library

The build requires CMake 2.8.11 or better and a CMake supported C/C++ compiler and linker on the target platform. CMake will create all required files for building the library with the chosen tool chain.

  1. Create a directory named "build" and cd to "build".
  2. Configure your build by running: Ex 1. cmake .. Ex 2. cmake -Drun_unittests:BOOL=ON ..
  3. Build. The build process will vary by platform; for Linux the default is "make".

Linux users please note that there are dependent packages that would need to be obtained prior to building this library. Please review and tailor the build_all/linux/setup.sh to suit your environment.

Samples

The build process will also build the available samples, which reside under samples for your review.

Specific instructions are available for the following platforms:

Several of these documents are known to be outdated.