Skip to content

Commit

Permalink
[azeventgrid] Adding in a Publisher client to use with Event Grid top…
Browse files Browse the repository at this point in the history
…ics (#21521)

* Event Grid publisher client - can publish to topics.

* Fixing some issues in the publisher client and adding in examples.

* Add function specific examples.

* Adding a very basic readme for the publisher package.

* Updating changelog

* Bump the minor revision as well.

* Disable live tests if we're in a CI environment.

* Plumb in recording infra

* Rearrange client constructors.

* Test resources should work now

* Fixing tests to just get skipped in non-recording mode.

* Remove unused fakeVars

* Remove en-us

* Temp replace dead links.

* Another one failing the dead link checker.

* (comparing with others)
Looks like I was using an incorrect inputSchema for the topic.

* The error code when releasing an expired lock token has changed.

Documenting for now, will pose a question for an ongoing discussion.

* Skipping tests that are related to #21530

* Making our template look more like Python's with the scope/role assignment.

* The CloudEvent part of this test was getting set at too high a level and would affect other parts of the HTTP pipeline (including token authentication).

* Was missing an explicit set of variables so the EnvironmentCredential works.

* testing

* EnvVars should be _under_ parameters!

* A little too much copying...

* Remove the old content-header code now that we're auto-generating it in the right spot.

---------

Co-authored-by: Richard Park <[email protected]>
  • Loading branch information
richardpark-msft and Richard Park authored Sep 11, 2023
1 parent e63e5a1 commit f93cd44
Show file tree
Hide file tree
Showing 25 changed files with 1,589 additions and 44 deletions.
8 changes: 4 additions & 4 deletions sdk/messaging/azeventgrid/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
# Release History

## 0.1.1 (Unreleased)
## 0.2.0 (Unreleased)

### Features Added

### Breaking Changes

### Bugs Fixed
- The publisher client for Event Grid topics has been added as a sub-package under `publisher`.

### Other Changes

- Documentation and examples added for Event Grid namespace client.

## 0.1.0 (2023-07-11)

### Features Added
Expand Down
27 changes: 22 additions & 5 deletions sdk/messaging/azeventgrid/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@

This client module allows you to publish events and receive events using the [Pull delivery](https://learn.microsoft.com/azure/event-grid/pull-delivery-overview) API.

> NOTE: This client does not work with Event Grid topics. Use the [publisher.Client][godoc_publisher_client] in the `publisher` sub-package instead.
Key links:
- [Source code][source]
- [API Reference Documentation][godoc]
Expand All @@ -24,18 +26,20 @@ go get github.com/Azure/azure-sdk-for-go/sdk/messaging/azeventgrid

- Go, version 1.18 or higher
- An [Azure subscription](https://azure.microsoft.com/free/)
- An [Event Grid namespace](https://learn.microsoft.com/azure/event-grid/).
- An Event Grid namespace. You can create an Event Grid Namespace using the [Azure Portal](https://learn.microsoft.com/azure/event-grid/create-view-manage-namespaces).
- An [Event Grid namespace][ms_namespace]. You can create an Event Grid namespace using the [Azure Portal][ms_create_namespace].
- An [Event Grid namespace topic][ms_topic]. You can create an Event Grid namespace topic using the [Azure Portal][ms_create_topic].

### Authenticate the client

Event Grid clients authenticate using a shared key credential. An example of that can be viewed here: [ExampleNewClientWithSharedKeyCredential][godoc_example_newclient].
Event Grid namespace clients authenticate using a shared key credential. An example of that can be viewed here: [ExampleNewClientWithSharedKeyCredential][godoc_example_newclient].

# Key concepts

An Azure Event Grid [**namespace**](https://learn.microsoft.com/azure/event-grid/mqtt-event-grid-namespace-terminology#namespace) can contain multiple **namespace topics**. Publishers publish events to namespace topics. More on creating namespace topics can be found here: [link](https://learn.microsoft.com/azure/event-grid/create-view-manage-namespace-topics).
An Event Grid namespace is a container for multiple types of resources, including [**namespace topics**][ms_topic]:
- A [**namespace topic**][ms_topic] contains CloudEvents that you publish, via [Client.PublishCloudEvents][godoc_client_publish].
- A [**topic subscription**][ms_subscription], associated with a single topic, can be used to receive events via [Client.ReceiveEvents][godoc_client_receive].

To receive events, you must create an **event subscription**, which is associated with a topic. More on creating topic subscriptions can be found here: [link](https://learn.microsoft.com/azure/event-grid/create-view-manage-event-subscriptions).
Namespaces also offer access using MQTT, although that is not covered in this package.

# Examples

Expand Down Expand Up @@ -110,5 +114,18 @@ Azure SDK for Go is licensed under the [MIT](https://github.com/Azure/azure-sdk-
[cloud_shell_bash]: https://shell.azure.com/bash
[source]: https://github.com/Azure/azure-sdk-for-go/tree/main/sdk/messaging/azeventgrid
[godoc]: https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/messaging/azeventgrid
[godoc_client]: https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/messaging/azeventgrid/#Client
[godoc_client_publish]: https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/messaging/azeventgrid#Client.PublishCloudEvents
[godoc_client_receive]: https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/messaging/azeventgrid#Client.ReceiveCloudEvents
[godoc_examples]: https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/messaging/azeventgrid#pkg-examples
[godoc_example_newclient]: https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/messaging/azeventgrid#example-NewClientWithSharedKeyCredential
[ms_pulldelivery]: https://learn.microsoft.com/azure/event-grid/concepts-pull-delivery
[ms_namespace]: https://learn.microsoft.com/azure/event-grid/concepts-pull-delivery#namespaces
[ms_topic]: https://learn.microsoft.com/azure/event-grid/concepts-pull-delivery#namespace-topics
[ms_subscription]: https://learn.microsoft.com/azure/event-grid/concepts-pull-delivery#event-subscriptions
[ms_create_namespace]: https://learn.microsoft.com/azure/event-grid/create-view-manage-namespaces
[ms_create_topic]: https://learn.microsoft.com/azure/event-grid/create-view-manage-namespace-topics

<!-- Temporary until we get it in main -->
[godoc_publisher_client]: https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/messaging/azeventgrid/#Client
<!-- [godoc_publisher_client]: https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/messaging/azeventgrid/publisher#Client -->
15 changes: 10 additions & 5 deletions sdk/messaging/azeventgrid/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,13 @@ pr:
- sdk/messaging/azeventgrid

stages:
- template: /eng/pipelines/templates/jobs/archetype-sdk-client.yml
parameters:
ServiceDirectory: "messaging/azeventgrid"
RunLiveTests: true
Location: westus2
- template: /eng/pipelines/templates/jobs/archetype-sdk-client.yml
parameters:
ServiceDirectory: "messaging/azeventgrid"
RunLiveTests: true
Location: westus2
EnvVars:
AZURE_CLIENT_ID: $(AZEVENTGRID_CLIENT_ID)
AZURE_TENANT_ID: $(AZEVENTGRID_TENANT_ID)
AZURE_CLIENT_SECRET: $(AZEVENTGRID_CLIENT_SECRET)
AZURE_SUBSCRIPTION_ID: $(AZEVENTGRID_SUBSCRIPTION_ID)
5 changes: 2 additions & 3 deletions sdk/messaging/azeventgrid/client_custom.go
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//go:build go1.18
// +build go1.18

Expand All @@ -16,6 +14,7 @@ import (
"github.com/Azure/azure-sdk-for-go/sdk/azcore/messaging"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/policy"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime"
"github.com/Azure/azure-sdk-for-go/sdk/messaging/azeventgrid/internal"
)

// ClientOptions contains optional settings for [Client]
Expand All @@ -30,7 +29,7 @@ func NewClientWithSharedKeyCredential(endpoint string, key string, options *Clie
}

// TODO: I believe we're supposed to allow for dynamically updating the key at any time as well.
azc, err := azcore.NewClient(moduleName+".Client", moduleVersion, runtime.PipelineOptions{
azc, err := azcore.NewClient(internal.ModuleName+".Client", internal.ModuleVersion, runtime.PipelineOptions{
PerRetry: []policy.Policy{
&skpolicy{Key: key},
},
Expand Down
12 changes: 12 additions & 0 deletions sdk/messaging/azeventgrid/client_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,8 @@ func TestFailedAck(t *testing.T) {
})

t.Run("ReleaseCloudEvents", func(t *testing.T) {
t.Skipf("Skipping, server-bug preventing release from working properly. https://github.com/Azure/azure-sdk-for-go/issues/21530")

resp, err := c.ReleaseCloudEvents(context.Background(), c.TestVars.Topic, c.TestVars.Subscription, azeventgrid.ReleaseOptions{
LockTokens: []string{*recvResp.Value[0].BrokerProperties.LockToken},
}, nil)
Expand Down Expand Up @@ -169,6 +171,8 @@ func TestReject(t *testing.T) {
}

func TestRelease(t *testing.T) {
t.Skipf("Skipping, server-bug preventing release from working properly. https://github.com/Azure/azure-sdk-for-go/issues/21530")

c := newClientWrapper(t, nil)

ce, err := messaging.NewCloudEvent("TestAbandon", "world", []byte("event one"), nil)
Expand All @@ -188,6 +192,14 @@ func TestRelease(t *testing.T) {
LockTokens: []string{*events.Value[0].BrokerProperties.LockToken},
}, nil)
require.NoError(t, err)

if len(rejectResp.FailedLockTokens) > 0 {
for _, flt := range rejectResp.FailedLockTokens {
t.Logf("FailedLockToken:\n ec: %s\n desc: %s\n locktoken:%s", *flt.ErrorCode, *flt.ErrorDescription, *flt.LockToken)
}
require.Fail(t, "Failed to release events")
}

require.Empty(t, rejectResp.FailedLockTokens)

events, err = c.ReceiveCloudEvents(context.Background(), c.TestVars.Topic, c.TestVars.Subscription, nil)
Expand Down
121 changes: 120 additions & 1 deletion sdk/messaging/azeventgrid/example_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,20 +4,139 @@
package azeventgrid_test

import (
"context"
"fmt"
"log"
"os"

"github.com/Azure/azure-sdk-for-go/sdk/azcore/messaging"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/messaging/azeventgrid"
)

func ExampleNewClientWithSharedKeyCredential() {
endpoint := os.Getenv("EVENTGRID_ENDPOINT")
sharedKey := os.Getenv("EVENTGRID_KEY")

if endpoint == "" || sharedKey == "" {
return
}

client, err := azeventgrid.NewClientWithSharedKeyCredential(endpoint, sharedKey, nil)

if err != nil {
panic(err)
// TODO: Update the following line with your application specific error handling logic
log.Fatalf("ERROR: %s", err)
}

_ = client // ignore

// Output:
}

func ExampleClient_PublishCloudEvents() {
client := getEventGridClient()

if client == nil {
return
}

topic := os.Getenv("EVENTGRID_TOPIC")

// CloudEvent is in github.com/Azure/azure-sdk-for-go/azcore/messaging and can be
// used to transport

// you can send a variety of different payloads, all of which can be encoded by messaging.CloudEvent
var payloads = []any{
[]byte{1, 2, 3},
"hello world",
struct{ Value string }{Value: "hello world"},
}

var eventsToSend []messaging.CloudEvent

for _, payload := range payloads {
event, err := messaging.NewCloudEvent("source", "eventType", payload, nil)

if err != nil {
// TODO: Update the following line with your application specific error handling logic
log.Fatalf("ERROR: %s", err)
}

eventsToSend = append(eventsToSend, event)
}

_, err := client.PublishCloudEvents(context.TODO(), topic, eventsToSend, nil)

if err != nil {
// TODO: Update the following line with your application specific error handling logic
log.Fatalf("ERROR: %s", err)
}

// Output:
}

func ExampleClient_ReceiveCloudEvents() {
client := getEventGridClient()

if client == nil {
return
}

topic := os.Getenv("EVENTGRID_TOPIC")
subscription := os.Getenv("EVENTGRID_SUBSCRIPTION")

resp, err := client.ReceiveCloudEvents(context.TODO(), topic, subscription, &azeventgrid.ReceiveCloudEventsOptions{
MaxEvents: to.Ptr[int32](1),
MaxWaitTime: to.Ptr[int32](10), // in seconds
})

if err != nil {
// TODO: Update the following line with your application specific error handling logic
log.Fatalf("ERROR: %s", err)
}

for _, rd := range resp.Value {
lockToken := rd.BrokerProperties.LockToken

// NOTE: See the documentation for CloudEvent.Data on how your data
// is deserialized.
data := rd.Event.Data

fmt.Fprintf(os.Stderr, "Event ID:%s, data: %#v, lockToken: %s\n", rd.Event.ID, data, *lockToken)

// This will complete the message, deleting it from the subscription.
resp, err := client.AcknowledgeCloudEvents(context.TODO(), topic, subscription, azeventgrid.AcknowledgeOptions{
LockTokens: []string{*lockToken},
}, nil)

if err != nil {
// TODO: Update the following line with your application specific error handling logic
log.Fatalf("ERROR: %s", err)
}

if len(resp.FailedLockTokens) > 0 {
log.Fatalf("ERROR: %d events were not acknowledged", len(resp.FailedLockTokens))
}
}

// Output:
}

func getEventGridClient() *azeventgrid.Client {
endpoint := os.Getenv("EVENTGRID_ENDPOINT")
sharedKey := os.Getenv("EVENTGRID_KEY")

if endpoint == "" || sharedKey == "" {
return nil
}

client, err := azeventgrid.NewClientWithSharedKeyCredential(endpoint, sharedKey, nil)

if err != nil {
// TODO: Update the following line with your application specific error handling logic
log.Fatalf("ERROR: %s", err)
}

return client
}
16 changes: 12 additions & 4 deletions sdk/messaging/azeventgrid/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,25 @@ go 1.18

require (
github.com/Azure/azure-sdk-for-go/sdk/azcore v1.8.0-beta.2
github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.3.1
github.com/Azure/azure-sdk-for-go/sdk/internal v1.3.0
github.com/joho/godotenv v1.5.1
github.com/stretchr/testify v1.7.0
)

require (
github.com/AzureAD/microsoft-authentication-library-for-go v1.1.1 // indirect
github.com/davecgh/go-spew v1.1.1 // indirect
github.com/dnaeon/go-vcr v1.1.0 // indirect
github.com/dnaeon/go-vcr v1.2.0 // indirect
github.com/golang-jwt/jwt/v5 v5.0.0 // indirect
github.com/google/uuid v1.3.0 // indirect
github.com/kylelemons/godebug v1.1.0 // indirect
github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8 // indirect
github.com/pmezard/go-difflib v1.0.0 // indirect
golang.org/x/net v0.8.0 // indirect
golang.org/x/text v0.8.0 // indirect
golang.org/x/crypto v0.12.0 // indirect
golang.org/x/net v0.14.0 // indirect
golang.org/x/sys v0.11.0 // indirect
golang.org/x/text v0.12.0 // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
)
35 changes: 26 additions & 9 deletions sdk/messaging/azeventgrid/go.sum
Original file line number Diff line number Diff line change
@@ -1,29 +1,46 @@
github.com/Azure/azure-sdk-for-go/sdk/azcore v1.8.0-beta.2 h1:klbj076a7qZCoxAMac7nv/6RTLGDgojM6trEFcYQUyI=
github.com/Azure/azure-sdk-for-go/sdk/azcore v1.8.0-beta.2/go.mod h1:bjGvMhVMb+EEm3VRNQawDMUyMMjo+S5ewNjflkep/0Q=
github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.3.1 h1:LNHhpdK7hzUcx/k1LIcuh5k7k1LGIWLQfCjaneSj7Fc=
github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.3.1/go.mod h1:uE9zaUfEQT/nbQjVi2IblCG9iaLtZsuYZ8ne+PuQ02M=
github.com/Azure/azure-sdk-for-go/sdk/internal v1.3.0 h1:sXr+ck84g/ZlZUOZiNELInmMgOsuGwdjjVkEIde0OtY=
github.com/Azure/azure-sdk-for-go/sdk/internal v1.3.0/go.mod h1:okt5dMMTOFjX/aovMlrjvvXoPMBVSPzk9185BT0+eZM=
github.com/AzureAD/microsoft-authentication-library-for-go v1.1.1 h1:WpB/QDNLpMw72xHJc34BNNykqSOeEJDAWkhf0u12/Jk=
github.com/AzureAD/microsoft-authentication-library-for-go v1.1.1/go.mod h1:wP83P5OoQ5p6ip3ScPr0BAq0BvuPAvacpEuSzyouqAI=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/dnaeon/go-vcr v1.1.0 h1:ReYa/UBrRyQdant9B4fNHGoCNKw6qh6P0fsdGmZpR7c=
github.com/dnaeon/go-vcr v1.1.0/go.mod h1:M7tiix8f0r6mKKJ3Yq/kqU1OYf3MnfmBWVbPx/yU9ko=
github.com/dnaeon/go-vcr v1.2.0 h1:zHCHvJYTMh1N7xnV7zf1m1GPBF9Ad0Jk/whtQ1663qI=
github.com/dnaeon/go-vcr v1.2.0/go.mod h1:R4UdLID7HZT3taECzJs4YgbbH6PIGXB6W/sc5OLb6RQ=
github.com/golang-jwt/jwt/v5 v5.0.0 h1:1n1XNM9hk7O9mnQoNBGolZvzebBQ7p93ULHRc28XJUE=
github.com/golang-jwt/jwt/v5 v5.0.0/go.mod h1:pqrtFR0X4osieyHYxtmOUWsAWrfe1Q5UVIyoH402zdk=
github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I=
github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/joho/godotenv v1.5.1 h1:7eLL/+HRGLY0ldzfGMeQkb7vMd0as4CfYvUVzLqw0N0=
github.com/joho/godotenv v1.5.1/go.mod h1:f4LDr5Voq0i2e/R5DDNOoa2zzDfwtkZa6DnEwAbqwq4=
github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc=
github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw=
github.com/modocache/gover v0.0.0-20171022184752-b58185e213c5/go.mod h1:caMODM3PzxT8aQXRPkAt8xlV/e7d7w8GM5g0fa5F0D8=
github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8 h1:KoWmjvw+nsYOo29YJK9vDA65RGE3NrOnUtO7a+RF9HU=
github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8/go.mod h1:HKlIX3XHQyzLZPlr7++PzdhaXEj94dEiJgZDTsxEqUI=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY=
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
golang.org/x/net v0.8.0 h1:Zrh2ngAOFYneWTAIAPethzeaQLuHwhuBkuV6ZiRnUaQ=
golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc=
golang.org/x/text v0.8.0 h1:57P1ETyNKtuIjB4SRd15iJxuhj8Gc416Y78H3qgMh68=
golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
golang.org/x/crypto v0.12.0 h1:tFM/ta59kqch6LlvYnPa0yx5a83cL2nHflFhYKvv9Yk=
golang.org/x/crypto v0.12.0/go.mod h1:NF0Gs7EO5K4qLn+Ylc+fih8BSTeIjAP05siRnAh98yw=
golang.org/x/net v0.14.0 h1:BONx9s002vGdD9umnlX1Po8vOZmrgH34qlHcD1MfK14=
golang.org/x/net v0.14.0/go.mod h1:PpSgVXXLK0OxS0F31C1/tv6XNguvCrnXIDrFMspZIUI=
golang.org/x/sys v0.0.0-20210616045830-e2b7044e8c71/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.11.0 h1:eG7RXZHdqOJ1i+0lgLgCpSXAp6M3LYlAo6osgSi0xOM=
golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/text v0.12.0 h1:k+n5B8goJNdU7hSvEtMUz3d1Q6D/XW4COJSJR6fN0mc=
golang.org/x/text v0.12.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b h1:h8qDotaEPuJATrMmW04NCwg7v22aHH28wwpauUhK9Oo=
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,13 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.

package azeventgrid
package internal

// Constants to identify the module
const (
// moduleName is the module name that shows in telemetry.
moduleName = "azeventgrid"
// ModuleName is the module name that shows in telemetry.
ModuleName = "azeventgrid"

// moduleVersion is the semantic version (see http://semver.org) of this module.
moduleVersion = "v0.1.1"
// ModuleVersion is the semantic version (see http://semver.org) of this module.
ModuleVersion = "v0.2.0"
)
Loading

0 comments on commit f93cd44

Please sign in to comment.