github.com/gophercloud/gophercloud@v1.11.0/openstack/messaging/v2/messages/doc.go (about)

     1  /*
     2  Package messages provides information and interaction with the messages through
     3  the OpenStack Messaging(Zaqar) service.
     4  
     5  Example to List Messages
     6  
     7  	listOpts := messages.ListOpts{
     8  		Limit: 10,
     9  	}
    10  
    11  	queueName := "my_queue"
    12  
    13  	pager := messages.List(client, queueName, listOpts)
    14  
    15  	err = pager.EachPage(func(page pagination.Page) (bool, error) {
    16  		allMessages, err := queues.ExtractQueues(page)
    17  		if err != nil {
    18  			panic(err)
    19  		}
    20  
    21  		for _, message := range allMessages {
    22  			fmt.Printf("%+v\n", message)
    23  		}
    24  
    25  		return true, nil
    26  	})
    27  
    28  Example to Create Messages
    29  
    30  	queueName = "my_queue"
    31  
    32  	createOpts := messages.CreateOpts{
    33  		Messages:     []messages.Messages{
    34  			{
    35  				TTL:   300,
    36  				Delay: 20,
    37  				Body: map[string]interface{}{
    38  					"event": "BackupStarted",
    39  					"backup_id": "c378813c-3f0b-11e2-ad92-7823d2b0f3ce",
    40  				},
    41  			},
    42  			{
    43  				Body: map[string]interface{}{
    44  					"event": "BackupProgress",
    45  					"current_bytes": "0",
    46  					"total_bytes": "99614720",
    47  				},
    48  			},
    49  		},
    50  	}
    51  
    52  	resources, err := messages.Create(client, queueName, createOpts).Extract()
    53  	if err != nil {
    54  		panic(err)
    55  	}
    56  
    57  Example to Get a set of Messages
    58  
    59  	queueName := "my_queue"
    60  
    61  	getMessageOpts := messages.GetMessagesOpts{
    62  		IDs: "123456",
    63  	}
    64  
    65  	messagesList, err := messages.GetMessages(client, createdQueueName, getMessageOpts).Extract()
    66  	if err != nil {
    67  		panic(err)
    68  	}
    69  
    70  Example to get a singular Message
    71  
    72  	queueName := "my_queue"
    73  	messageID := "123456"
    74  
    75  	message, err := messages.Get(client, queueName, messageID).Extract()
    76  	if err != nil {
    77  		panic(err)
    78  	}
    79  
    80  Example to Delete a set of Messages
    81  
    82  	queueName := "my_queue"
    83  
    84  	deleteMessagesOpts := messages.DeleteMessagesOpts{
    85  		IDs: []string{"9988776655"},
    86  	}
    87  
    88  	err := messages.DeleteMessages(client, queueName, deleteMessagesOpts).ExtractErr()
    89  	if err != nil {
    90  		panic(err)
    91  	}
    92  
    93  Example to Pop a set of Messages
    94  
    95  	queueName := "my_queue"
    96  
    97  	popMessagesOpts := messages.PopMessagesOpts{
    98  		Pop: 5,
    99  	}
   100  
   101  	resources, err := messages.PopMessages(client, queueName, popMessagesOpts).Extract()
   102  	if err != nil {
   103  		panic(err)
   104  	}
   105  
   106  Example to Delete a singular Message
   107  
   108  	clientID := "3381af92-2b9e-11e3-b191-71861300734d"
   109  	queueName := "my_queue"
   110  	messageID := "123456"
   111  
   112  	deleteOpts := messages.DeleteOpts{
   113  		ClaimID: "12345",
   114  	}
   115  
   116  	err := messages.Delete(client), queueName, messageID, deleteOpts).ExtractErr()
   117  	if err != nil {
   118  		panic(err)
   119  	}
   120  */
   121  package messages