Documentation
¶
Overview ¶
Package messages provides information and interaction with the messages through the OpenStack Messaging(Zaqar) service.
Example to List Messages
listOpts := messages.ListOpts{
Limit: 10,
}
queueName := "my_queue"
pager := messages.List(client, queueName, listOpts)
err = pager.EachPage(func(page pagination.Page) (bool, error) {
allMessages, err := queues.ExtractQueues(page)
if err != nil {
panic(err)
}
for _, message := range allMessages {
fmt.Printf("%+v\n", message)
}
return true, nil
})
Example to Create Messages
queueName = "my_queue"
createOpts := messages.CreateOpts{
Messages: []messages.Messages{
{
TTL: 300,
Delay: 20,
Body: map[string]interface{}{
"event": "BackupStarted",
"backup_id": "c378813c-3f0b-11e2-ad92-7823d2b0f3ce",
},
},
{
Body: map[string]interface{}{
"event": "BackupProgress",
"current_bytes": "0",
"total_bytes": "99614720",
},
},
},
}
resources, err := messages.Create(client, queueName, createOpts).Extract()
if err != nil {
panic(err)
}
Example to Get a set of Messages
queueName := "my_queue"
getMessageOpts := messages.GetMessagesOpts{
IDs: "123456",
}
messagesList, err := messages.GetMessages(client, createdQueueName, getMessageOpts).Extract()
if err != nil {
panic(err)
}
Example to get a singular Message
queueName := "my_queue"
messageID := "123456"
message, err := messages.Get(client, queueName, messageID).Extract()
if err != nil {
panic(err)
}
Example to Delete a set of Messages
queueName := "my_queue"
deleteMessagesOpts := messages.DeleteMessagesOpts{
IDs: []string{"9988776655"},
}
err := messages.DeleteMessages(client, queueName, deleteMessagesOpts).ExtractErr()
if err != nil {
panic(err)
}
Example to Pop a set of Messages
queueName := "my_queue"
popMessagesOpts := messages.PopMessagesOpts{
Pop: 5,
}
resources, err := messages.PopMessages(client, queueName, popMessagesOpts).Extract()
if err != nil {
panic(err)
}
Example to Delete a singular Message
clientID := "3381af92-2b9e-11e3-b191-71861300734d"
queueName := "my_queue"
messageID := "123456"
deleteOpts := messages.DeleteOpts{
ClaimID: "12345",
}
err := messages.Delete(client), queueName, messageID, deleteOpts).ExtractErr()
if err != nil {
panic(err)
}
Index ¶
- func DeleteMessageURL(client *gophercloud.ServiceClient, queueName string, messageID string) string
- func List(client *gophercloud.ServiceClient, queueName string, opts ListOptsBuilder) pagination.Pager
- type BatchCreateOpts
- type CreateOpts
- type CreateOptsBuilder
- type CreateResult
- type DeleteMessagesOpts
- type DeleteMessagesOptsBuilder
- type DeleteOpts
- type DeleteOptsBuilder
- type DeleteResult
- type GetMessagesOpts
- type GetMessagesOptsBuilder
- type GetMessagesResult
- type GetResult
- type ListOpts
- type ListOptsBuilder
- type Message
- type MessagePage
- type PopMessage
- type PopMessagesOpts
- type PopMessagesOptsBuilder
- type PopResult
- type ResourceList
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DeleteMessageURL ¶
func DeleteMessageURL(client *gophercloud.ServiceClient, queueName string, messageID string) string
func List ¶
func List(client *gophercloud.ServiceClient, queueName string, opts ListOptsBuilder) pagination.Pager
ListMessages lists messages on a specific queue based off queue name.
Types ¶
type BatchCreateOpts ¶
type BatchCreateOpts []CreateOpts
BatchCreateOpts is an array of CreateOpts.
func (BatchCreateOpts) ToMessageCreateMap ¶
func (opts BatchCreateOpts) ToMessageCreateMap() (map[string]interface{}, error)
ToMessageCreateMap constructs a request body from BatchCreateOpts.
type CreateOpts ¶
type CreateOpts struct {
// TTL specifies how long the server waits before marking the message
// as expired and removing it from the queue.
TTL int `json:"ttl,omitempty"`
// Delay specifies how long the message can be claimed.
Delay int `json:"delay,omitempty"`
// Body specifies an arbitrary document that constitutes the body of the message being sent.
Body map[string]interface{} `json:"body" required:"true"`
}
CreateOpts params to be used with Create.
func (CreateOpts) ToMap ¶
func (opts CreateOpts) ToMap() (map[string]interface{}, error)
ToMap constructs a request body from UpdateOpts.
type CreateOptsBuilder ¶
CreateOptsBuilder Builder.
type CreateResult ¶
type CreateResult struct {
gophercloud.Result
}
CreateResult is the response of a Create operations.
func Create ¶
func Create(client *gophercloud.ServiceClient, queueName string, opts CreateOptsBuilder) (r CreateResult)
Create creates a message on a specific queue based of off queue name.
func (CreateResult) Extract ¶
func (r CreateResult) Extract() (ResourceList, error)
Extract interprets any CreateResult as a ResourceList.
type DeleteMessagesOpts ¶
type DeleteMessagesOpts struct {
IDs []string `q:"ids,omitempty"`
}
DeleteMessagesOpts params to be used with DeleteMessages.
func (DeleteMessagesOpts) ToMessagesDeleteQuery ¶
func (opts DeleteMessagesOpts) ToMessagesDeleteQuery() (string, error)
ToMessagesDeleteQuery formats a DeleteMessagesOpts structure into a query string.
type DeleteMessagesOptsBuilder ¶
DeleteMessagesOptsBuilder allows extensions to add additional parameters to the DeleteMessages request.
type DeleteOpts ¶
type DeleteOpts struct {
// ClaimID instructs Delete to delete a message that is associated with a claim ID
ClaimID string `q:"claim_id,omitempty"`
}
DeleteOpts params to be used with Delete.
func (DeleteOpts) ToMessageDeleteQuery ¶
func (opts DeleteOpts) ToMessageDeleteQuery() (string, error)
ToMessageDeleteQuery formats a DeleteOpts structure into a query string.
type DeleteOptsBuilder ¶
DeleteOptsBuilder allows extensions to add additional parameters to the delete request.
type DeleteResult ¶
type DeleteResult struct {
gophercloud.ErrResult
}
DeleteResult is the result from a Delete operation. Call its ExtractErr method to determine if the call succeeded or failed.
func Delete ¶
func Delete(client *gophercloud.ServiceClient, queueName string, messageID string, opts DeleteOptsBuilder) (r DeleteResult)
Delete deletes a specific message from the queue.
func DeleteMessages ¶
func DeleteMessages(client *gophercloud.ServiceClient, queueName string, opts DeleteMessagesOptsBuilder) (r DeleteResult)
DeleteMessages deletes multiple messages based off of ID.
type GetMessagesOpts ¶
type GetMessagesOpts struct {
IDs []string `q:"ids,omitempty"`
}
GetMessagesOpts params to be used with GetMessages.
func (GetMessagesOpts) ToGetMessagesListQuery ¶
func (opts GetMessagesOpts) ToGetMessagesListQuery() (string, error)
ToGetMessagesListQuery formats a GetMessagesOpts structure into a query string.
type GetMessagesOptsBuilder ¶
GetMessagesOptsBuilder allows extensions to add additional parameters to the GetMessages request.
type GetMessagesResult ¶
type GetMessagesResult struct {
gophercloud.Result
}
GetMessagesResult is the response of a GetMessages operations.
func GetMessages ¶
func GetMessages(client *gophercloud.ServiceClient, queueName string, opts GetMessagesOptsBuilder) (r GetMessagesResult)
GetMessages requests details on a multiple messages, by IDs.
func (GetMessagesResult) Extract ¶
func (r GetMessagesResult) Extract() ([]Message, error)
Extract interprets any GetMessagesResult as a list of Message.
type GetResult ¶
type GetResult struct {
gophercloud.Result
}
GetResult is the response of a Get operations.
func Get ¶
func Get(client *gophercloud.ServiceClient, queueName string, messageID string) (r GetResult)
Get requests details on a single message, by ID.
type ListOpts ¶
type ListOpts struct {
// Limit instructs List to refrain from sending excessively large lists of queues
Limit int `q:"limit,omitempty"`
// Marker and Limit control paging. Marker instructs List where to start listing from.
Marker string `q:"marker,omitempty"`
// Indicate if the messages can be echoed back to the client that posted them.
Echo bool `q:"echo,omitempty"`
// Indicate if the messages list should include the claimed messages.
IncludeClaimed bool `q:"include_claimed,omitempty"`
//Indicate if the messages list should include the delayed messages.
IncludeDelayed bool `q:"include_delayed,omitempty"`
}
ListOpts params to be used with List.
func (ListOpts) ToMessageListQuery ¶
type ListOptsBuilder ¶
ListOptsBuilder allows extensions to add additional parameters to the List request.
type Message ¶
type Message struct {
Body map[string]interface{} `json:"body"`
Age int `json:"age"`
Href string `json:"href"`
ID string `json:"id"`
TTL int `json:"ttl"`
Checksum string `json:"checksum"`
}
Message represents a message on a queue.
func ExtractMessages ¶
func ExtractMessages(r pagination.Page) ([]Message, error)
ExtractMessage extracts message into a list of Message.
type MessagePage ¶
type MessagePage struct {
pagination.LinkedPageBase
}
MessagePage contains a single page of all clusters from a ListDetails call.
func (MessagePage) IsEmpty ¶
func (r MessagePage) IsEmpty() (bool, error)
IsEmpty determines if a MessagePage contains any results.
func (MessagePage) NextPageURL ¶
func (r MessagePage) NextPageURL() (string, error)
NextPageURL uses the response's embedded link reference to navigate to the next page of results.
type PopMessage ¶
type PopMessage struct {
Body map[string]interface{} `json:"body"`
Age int `json:"age"`
ID string `json:"id"`
TTL int `json:"ttl"`
ClaimCount int `json:"claim_count"`
ClaimID string `json:"claim_id"`
}
PopMessage represents a message returned from PopMessages.
type PopMessagesOpts ¶
type PopMessagesOpts struct {
Pop int `q:"pop,omitempty"`
}
PopMessagesOpts params to be used with PopMessages.
func (PopMessagesOpts) ToMessagesPopQuery ¶
func (opts PopMessagesOpts) ToMessagesPopQuery() (string, error)
ToMessagesPopQuery formats a PopMessagesOpts structure into a query string.
type PopMessagesOptsBuilder ¶
PopMessagesOptsBuilder allows extensions to add additional parameters to the DeleteMessages request.
type PopResult ¶
type PopResult struct {
gophercloud.Result
}
CreateResult is the response of a Create operations.
func PopMessages ¶
func PopMessages(client *gophercloud.ServiceClient, queueName string, opts PopMessagesOptsBuilder) (r PopResult)
PopMessages deletes and returns multiple messages based off of number of messages.
func (PopResult) Extract ¶
func (r PopResult) Extract() ([]PopMessage, error)
Extract interprets any PopResult as a list of PopMessage.
type ResourceList ¶
type ResourceList struct {
Resources []string `json:"resources"`
}
ResourceList represents the result of creating a message.