Categorygithub.com/DataDog/azure-service-bus-go
modulepackage
0.10.13
Repository: https://github.com/datadog/azure-service-bus-go.git
Documentation: pkg.go.dev

# README

Microsoft Azure Service Bus Client for Golang

Go Report Card godoc Build Status Coverage Status

Microsoft Azure Service Bus is a reliable cloud messaging service (MaaS) which simplifies enterprise cloud messaging. It enables developers to build scalable cloud solutions and implement complex messaging workflows over an efficient binary protocol called AMQP.

This library provides a simple interface for sending, receiving and managing Service Bus entities such as Queues, Topics and Subscriptions.

For more information about Service Bus, check out the Azure documentation.

This library is a pure Golang implementation of Azure Service Bus over AMQP.

Preview of Service Bus for Golang

This library is currently a preview. There may be breaking interface changes until it reaches semantic version v1.0.0. If you run into an issue, please don't hesitate to log a new issue or open a pull request.

Install using Go modules

go get -u github.com/Azure/azure-service-bus-go

If you need to install Go, follow the official instructions

Examples

Find up-to-date examples and documentation on godoc.org.

Running tests

Most tests require a properly configured service bus in Azure. The easiest way to set this up is to use the Terraform deployment script. Running the integration tests will take longer than the default 10 mintues, please use a larger timeout go test -timeout 30m.

Have questions?

The developers of this library are all active on the Gopher Slack, it is likely easiest to get our attention in the Microsoft Channel. We'll also find your issue if you ask on Stack Overflow with the tags azure and go.

Code of Conduct

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.

# Packages

No description provided by the author

# Functions

AsMessageSliceIterator wraps a slice of Message pointers to allow it to be made into a MessageIterator.
IsErrNotFound returns true if the error argument is an ErrNotFound type.
NamespaceWithAzureEnvironment sets the namespace's Environment, Suffix and ResourceURI parameters according to the Azure Environment defined in "github.com/Azure/go-autorest/autorest/azure" package.
NamespaceWithConnectionString configures a namespace with the information provided in a Service Bus connection string.
NamespaceWithEnvironmentBinding configures a namespace using the environment details.
NamespaceWithTLSConfig appends to the TLS config.
NamespaceWithTokenProvider sets the token provider on the namespace.
NamespaceWithUserAgent appends to the root user-agent value.
NamespaceWithWebSocket configures the namespace and all entities to use wss:// rather than amqps://.
NewDeadLetter constructs an instance of DeadLetter which represents a dead letter queue in Azure Service Bus.
NewMessage builds an Message from a slice of data.
NewMessageBatch builds a new message batch with a default standard max message size.
NewMessageBatchIterator wraps a slice of Message pointers to allow it to be made into a MessageIterator.
NewMessageFromString builds an Message from a string message.
NewNamespace creates a new namespace configured through NamespaceOption(s).
NewQueueSession creates a new session sender and receiver to communicate with a Service Bus queue.
NewSessionHandler is a type converter that allows three funcs to be tied together into a type that fulfills the SessionHandler interface.
NewSubscriptionSession creates a new session receiver to receive from a Service Bus subscription.
NewTopicSession creates a new session receiver to receive from a Service Bus topic.
NewTransferDeadLetter constructs an instance of DeadLetter which represents a transfer dead letter queue in Azure Service Bus.
PeekFromSequenceNumber adds a filter to the Peek operation, so that no messages with a Sequence Number less than 'seq' are returned.
PeekWithPageSize adjusts how many messages are fetched at once while peeking from the server.
QueueEntityWithAutoDeleteOnIdle configures the queue to automatically delete after the specified idle interval.
QueueEntityWithAutoForward configures the queue to automatically forward messages to the specified target.
QueueEntityWithDeadLetteringOnMessageExpiration will ensure the queue sends expired messages to the dead letter queue.
QueueEntityWithDuplicateDetection configures the queue to detect duplicates for a given time window.
QueueEntityWithForwardDeadLetteredMessagesTo configures the queue to automatically forward dead letter messages to the specified target.
QueueEntityWithLockDuration configures the queue to have a duration of a peek-lock; that is, the amount of time that the message is locked for other receivers.
QueueEntityWithMaxDeliveryCount configures the queue to have a maximum number of delivery attempts before dead-lettering the message.
QueueEntityWithMaxSizeInMegabytes configures the maximum size of the queue in megabytes (1 * 1024 - 5 * 1024), which is the size of the memory allocated for the queue.
QueueEntityWithMessageTimeToLive configures the queue to set a time to live on messages.
QueueEntityWithPartitioning ensure the created queue will be a partitioned queue.
QueueEntityWithRequiredSessions will ensure the queue requires senders and receivers to have sessionIDs.
QueueWithPrefetchCount configures the queue to attempt to fetch the number of messages specified by the prefetch count at one time.
QueueWithReceiveAndDelete configures a queue to pop and delete messages off of the queue upon receiving the message.
ReceiverWithPrefetchCount configures the receiver to attempt to fetch the number of messages specified by the prefect at one time.
ReceiverWithReceiveMode configures a Receiver to use the specified receive mode.
ReceiverWithSession configures a Receiver to use a session.
SenderWithSession configures the message to send with a specific session and sequence.
SubscriptionWithAutoDeleteOnIdle configures the subscription to automatically delete after the specified idle interval.
SubscriptionWithAutoForward configures the queue to automatically forward messages to the specified entity path The ability to AutoForward to a target requires the connection have management authorization.
SubscriptionWithBatchedOperations configures the subscription to batch server-side operations.
SubscriptionWithDeadLetteringOnMessageExpiration will ensure the Subscription sends expired messages to the dead letter queue.
SubscriptionWithDefaultRuleDescription configures the subscription to set a default rule.
SubscriptionWithForwardDeadLetteredMessagesTo configures the queue to automatically forward dead letter messages to the specified target entity.
SubscriptionWithLockDuration configures the subscription to have a duration of a peek-lock; that is, the amount of time that the message is locked for other receivers.
SubscriptionWithMessageTimeToLive configures the subscription to set a time to live on messages.
SubscriptionWithPrefetchCount configures the subscription to attempt to fetch the number of messages specified by the prefetch count at one time.
SubscriptionWithReceiveAndDelete configures a subscription to pop and delete messages off of the queue upon receiving the message.
SubscriptionWithRequiredSessions will ensure the subscription requires senders and receivers to have sessionIDs.
TopicWithAutoDeleteOnIdle configures the topic to automatically delete after the specified idle interval.
TopicWithBatchedOperations configures the topic to batch server-side operations.
TopicWithDuplicateDetection configures the topic to detect duplicates for a given time window.
TopicWithExpress configures the topic to hold a message in memory temporarily before writing it to persistent storage.
TopicWithMaxSizeInMegabytes configures the maximum size of the topic in megabytes (1 * 1024 - 5 * 1024), which is the size of the memory allocated for the topic.
TopicWithMessageTimeToLive configures the topic to set a time to live on messages.
TopicWithOrdering configures the topic to support ordering of messages.
TopicWithPartitioning configures the topic to be partitioned across multiple message brokers.
TraceReqAndResponseMiddleware will print the dump of the management request and response.

# Constants

Abort exposes abandonedDisposition.
Active ...
Complete exposes completedDisposition.
Creating ...
DeadLetterQueueName is the name of the dead letter queue to be appended to the entity path.
Deleting ...
Disabled ...
Error Conditions.
Error Conditions.
Error Conditions.
Error Conditions.
Error Conditions.
Error Conditions.
Error Conditions.
Error Conditions.
Error Conditions.
Error Conditions.
Error Conditions.
Error Conditions.
PeekLockMode causes a Receiver to peek at a message, lock it so no others can consume and have the queue wait for the DispositionAction.
PremiumMaxMessageSizeInBytes is the maximum number of bytes in a message for the Premium tier.
ReceiveAndDeleteMode causes a Receiver to pop messages off of the queue without waiting for DispositionAction.
ReceiveDisabled ...
Renaming ...
Restoring ...
SendDisabled ...
StandardMaxMessageSizeInBytes is the maximum number of bytes in a message for the Standard tier.
TransferDeadLetterQueueName is the name of the transfer dead letter queue which is appended to the entity name to build the full address of the transfer dead letter queue.
Unknown ...
Version is the semantic version number.

# Structs

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
MessageSession represents and allows for interaction with a Service Bus Session.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author

# Interfaces

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author

# Type aliases

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author