package mq_http import ( "fmt" mq_http_sdk "github.com/aliyunmq/mq-http-go-sdk" "strconv" ) func wechatNotifyProducer(bodyStr string) error { // 设置HTTP协议客户端接入点,进入消息队列RocketMQ版控制台实例详情页面的接入点区域查看。 endpoint := "http://1389288909295870.mqrest.cn-hangzhou.aliyuncs.com" // 请确保环境变量ALIBABA_CLOUD_ACCESS_KEY_ID、ALIBABA_CLOUD_ACCESS_KEY_SECRET已设置。 // AccessKey ID,阿里云身份验证标识。 accessKey := "LTAI5tPyV7FynQNTfEvbEBuX" // AccessKey Secret,阿里云身份验证密钥。 secretKey := "tZmTh8cV98xAQgtlRU0soWcb6Tpd4T" // 消息所属的Topic,在消息队列RocketMQ版控制台创建。 topic := "notify" // Topic所属的实例ID,在消息队列RocketMQ版控制台创建。 // 若实例有命名空间,则实例ID必须传入;若实例无命名空间,则实例ID传入null空值或字符串空值。实例的命名空间可以在消息队列RocketMQ版控制台的实例详情页面查看。 instanceId := "MQ_INST_1389288909295870_BYSoMttI" tag := "voucher_notify_dev" //tag := "voucher_notify_pro" client := mq_http_sdk.NewAliyunMQClient(endpoint, accessKey, secretKey, "") mqProducer := client.GetProducer(instanceId, topic) // 循环发送2条消息。 for i := 0; i < 1; i++ { var msg mq_http_sdk.PublishMessageRequest msg = mq_http_sdk.PublishMessageRequest{ MessageBody: bodyStr, //消息内容。 MessageTag: tag, // 消息标签。 Properties: map[string]string{}, // 消息属性。 MessageKey: "MessageKey", // 设置消息的Key。 } // 设置消息自定义属性。 msg.Properties["a"] = strconv.Itoa(i) ret, err := mqProducer.PublishMessage(msg) if err != nil { return err } fmt.Printf("Publish ---->\n\tMessageId:%s, BodyMD5:%s, \n", ret.MessageId, ret.MessageBodyMD5) } return nil }