[MUSIC]
Hi there and welcome to another addition of Tuesdays with Corey.
We are live, not live.
We are on the show today with Mr.
Dan Rosanova, who is the product manager
in charge of the recently launched Azure Event Grid.
And so, Azure Event Grid.
I'm gonna take a pass at this, you tell me if I got it,
because I've been talking to a lot of people about it.
So the way to think about this is you got a bunch of,
let's say, serverless capabilities.
Things like Azure Functions or things like Azure Logic Apps.
No servers underneath, they run code,
they can launch execution and they're all event driven.
So basically, an event fires and your Azure Function runs, right?
So it's super cool and
we've seen a lot of usage in those capabilities.
But the sort of the half of that's missing, right?
And half of that's missing is managing the events itself, and
this is what this new Azure Event Grid service does.
It basically allows you to, from any source to any destination,
it doesn't even have to be those serverless products.
You can now fire an event, and react to an event,
all using Azure Event Grid as a single place to manage and
host all of the events that you want to run across the platform.
Is that the right?
>> Yeah, that's it.
>> Wow, Wow.
>> Pretty good. >> It's a cool service.
>> It is, yeah.
>> So you've been working on this, what, how long?
It's like six months, five months, something like that.
Tell me. >> Something like that,
active development, yeah.
>> Yeah, got it, good.
And so, this is and it's built on service fabric.
>> It is, yeah. >> It's built on Service Fabric,
which enables the scale and so on.
Anything about it that you're like, I love it?
>> One of the things that I think is really unique about it
is, not only can you subscribe or be delivering all these
events around it- >> Sure.
>> -you get some intelligence in that.
[CROSSTALK] So you can get only the intent of events you want,
yeah, which is pretty important.
>> Again, it treats events as first class.
>> Absolutely. >> So you can now filter them,
you can do what?
Prefix base, event type base, what have you.
>> Yep, and even suffix.
>> Even that.
That's the [INAUDIBLE].
Just in case.
>> We call it ends with so if you [INAUDIBLE]
>> The ends with,
versus starts with.
>> Yeah. >> Yes.
>> Begins with.
>> What's that?
>> Begins with, yeah.
>> I don't know why you had to change that.
Okay, so today you're going to show us a demo.
>> Yeah, absolutely.
>> What is the demo gonna be?
>> So in addition, one of the things that's really
cool about grid is in addition to being able to react to all of
the stuff going on in Azure- >> Yes.
>> -you actually get the same exact experience and technology
for your own applications >> Yes.
>> So you can send your own events and
other people can subscribe.
>> Custom events can go through this sucker.
>> Absolutely. >> That's really nice.
>> And so, the thing we're gonna start with today is using,
actually, Cloudshelf to go create our own event grid topic.
>> Yes. >> And then send some events
to it with cURL.
>> Okay.
>> So, this is like the 100 level.
>> 100 level.
[CROSSTALK] >> But, 100 level for
developers right?
Because this means you're using custom events, you're listening.
>> And you're in CloudShelf.
So yeah [CROSSTALK], okay.
Well, let's go in and take a little look and
see what we got here.
>> All right, so the first thing I'm gonna do,
I have the Azure CLI running right now.
I might actually make that full screen.
>> Make it full screen.
>> Just not be so obnoxious.
And the first thing I'm gonna do is put in a command to create my
custom topic And that topic is gonna get a name.
Whatever I want it to be.
I'm gonna call this Dan's Topic.
>> So you're saying, topic create.
And this, so just to be clear.
This topic is your end point for custom events.
>> Right, this is where I will send custom events.
>> Got it. And so all you're saying here
is, you got a research group, you got a location,
you got a name.
>> Yep. >> Boom and
now you can send events to your heart's desire, is that right?
>> Well after I- >> After-
>> Hit Enter.
>> After you hit Enter.
>> Yeah, so
this is gonna spin up here. It's actually creating
a fully qualified domain name off of that.
>> Of course, because that's where the standpoint will be.
>> Yeah. >> Got it.
>> And standing up to that standpoint.
>> And so this is a fully managed service,
this is like there's no VMs, you get, it's nothing.
>> And it will scale very high, so that's according to design.
>> That's right.
Again, that's [INAUDIBLE].
>> Absolutely.
So, when this command runs here, it's going behind the scenes and
creating this piece for me.
And then the next command I'm gonna run.
And I'm actually gonna cheat and go.
>> Nope, there you go.
>> You can see >> No cheating.
>> Cheating gets the next command.
>> You're going to cheat anyway.
>> I'll tab up to get the next command.
>> All right, fine.
>> What I want to do when I sent this I need to send a key, so
it's authenticated.
So I'm gonna list the keys on that.
And actually I listed them on the wrong one.
So here let's list on topic ten.
>> Ten got it.
And so these are now the keys for
you to be able to send events to.
>> To post. Yeah.
To use for my HTTP post.
>> Got it, yay.
>> And then the next thing I'm going to do is create
a subscription on that topic.
And so my topic was ten and this is gonna let me send those
events to someplace that I care about.
>> So what is the script subscriptions versus topic?
Tell me a little bit about each one.
>> Yeah, so the topic is the source,
the publisher uses the topic as the channel to output data.
>> Yes.
>> And when I want some data I'm gonna go subscribe with
a filter.
>> I see, so this is the listener now.
>> Yes.
>> So this is the other side, I see.
So creating the topic, that's all you need to do for
the customer event.
And then you can have listeners, built in listeners like
functions even straight from there.
>> Yeah, all kinds.
>> But this now you're creating a custom listener as well as
a Custom event.
>> Yes, and to make this super easy,
I'm actually just gonna go to request bin.
>> You see, you see.
>> [LAUGH] Am I making you uncomfortable, Dan?
>> No, you're not.
>> Okay.
>> I was trying to [LAUGH].
>> I have four older brother, nothing makes me uncomfortable.
>> All right.
>> So I'm gonna go to request bin.
If it's a tool that you haven't seen, or
people haven't seen before, it's pretty cool.
It's for testing HTML operations.
>> It's like an open source?
>> Yeah, it's open source, menu driven.
>> Public event tool, it's not an Azure thing?
>> No, not Azure at all.
And so I just created a request bin.
It's giving me the short URL that I can use.
>> I see, so the key P here is that,
this is sort of your WebHook.
>> Yeah, this is where the webhook gonna be, yeah,
standing in, because I haven't written a webhook yet.
And so, now, if I come into here.
>> And then, this is now giving the endpoint, this is saying,
send the events here.
>> Yes, this is the here, so I'm saying-
>> This is the here.
>> And I put in that address, hit create.
And now, what it's gonna do is actually go subscribe to that
custom topic.
>> Yes. >> And then,
tell me when it's done, and then I check these curls.
>> So, just to make sure I get this, so
you now have an application topic that you've created,
super simple API.
>> Mm-hm. >> Now, you've also submitted,
effectively a subscription to someone that's going to listen
to this, that's at this given endpoint.
>> Yes.
>> Now, you could create 10, 20, 30 of these, right?
So, you can create all subscriptions subscribers.
>> Mm-hm. >> That you want to, right?
>> Yeah. >> And so,
this single event will fire from your custom topic.
Your custom event, and then,
it will go to all those subscribers.
>> Yep. >> And they will do whatever
they want, so unlimited.
>> Absolutely.
>> Yep, and you can see here when I created my topic,
I got a URL for it, so that's where my topic lives.
>> That's where the topic lives.
>> And when I created my subscription, it's even telling
me well where did I tell it to send the events.
>> Got it, so both of this have space?
>> Yep. >> Yep.
>> So, got it.
Cool. >> Now, I'm already to send data here and
if I come up to a curl command.
And again, curl's just something we use to test web stuff with.
You know what, I don't know, if I put the curl line in here.
I'll just type it out.
>> This is gonna be a good challenge.
It's gonna challenge him to go type this curl command
right on the screen.
He copy and
pasted it from another document right in the screen.
>> [LAUGH] >> [LAUGH]
>> And so, mainly,
cuz I'm doing a second curl here.
>> So, what do you do, show people to see what
you're doing here.
What's going on here?
>> So, I did a curl to go get some body of a custom event that
I wanna publish here.
>> Okay.
>> It's a JSON object.
>> Yep.
>> And then, I'm gonna load it into a variable here in bash,
and I'll echo that out, so you can see what it is.
>> Let me see what that is.
>> Yeah.
And I want to put quotes on that, and
then we can see that here is the json that's gonna be sent.
>> Okay, got it.
>> I'm using some bash stuff in there to do
the real [CROSSTALK] time.
>> Motorcycles.
>> Yeah, yeah.
>> Fine.
>> This one's for me, my subject's motorcycles.
>> Okay.
>> And now if I actually want to send this event,
this is pretty easy, too.
I do a curl, I need to use the key that I got from before.
>> Sure.
>> And I need to use the endpoint.
>> And you're saying the body here, yep.
>> Yep, and I'm using the body.
>> So, it's the endpoint, so you gotta copy this in now, great.
>> Mm-hm, and so this will be pretty easy.
There's my key, and
now to give the endpoint that I wanna send to, which is just
a little bit higher up from this original output.
>> I see, and that's where your, that's the event endpoint?
>> Nope, this is, where do I wanna assign that?
>> This is curl, so now,
if I was just writing an app that I wanted to use this,
of course I wouldn't use curl.
I'd actually post the stuff I wanna post.
>> Yeah, this curl command if you look at it, we're just
telling it, do HTTP post, do put the header in for auth.
>> Yes. >> And then, send it to this.
>> Yes.
>> Specific URL, and when I go send this it came back and
said, okay, and if I go refresh my request bin,
what I'll see here is.
>> That's the body of what I've just sent.
>> That was sent to this event, and
that all taken care of for you.
>> Mm-hm.
>> Wow.
>> Yeah, and so we- >> I think you can have 100,000
of these listeners, functions, Logic Apps, third party.
>> Absolutely.
>> Cool.
>> Yeah.
>> All events first class, that's what I like,
I like everything first class.
>> We actually have Logic Apps one in here, as well,
if you wanna see it real quick.
>> You have a lot, the size, listening,
okay, let's pull it up.
>> Yeah, yeah.
This one is using a little bit of the magic of television,
because we pre-created it,
actually we didn't create the Logic App,
but I'll show it to you, I'll show what the experiences.
>> There's very little magic associated with this show.
>> [LAUGH] >> [LAUGH]
>> Sorry, Rick.
Rick's a great producer.
>> So here what I wanna do is [LAUGH].
>> [LAUGH] You're making uncomfortable, Rick?
>> [LAUGH] >> Are we gonna edit all this
out?, [LAUGH] okay, Logic Apps.
>> Yes, so what I wanna do here is actually create a Logic App
to tell me when someone creates a VM in my Azure subscription.
>> Yes, of course, of course.
>> So, what I can do is- >> The great example of this,
this is just serverless automation is effectively
what you're creating right now.
>> Absolutely, especially when you get to things like your
productions, subscriptions, you wanna know who is doing what.
>> Operation service, operation is totally, yeah.
>> So, here I can go into the Logic App Designer create this
blank Logic App.
>> Everyone like Logic Apps.
>> Once you see this, you'll see why.
Type in- >> I already do my
>> Well there you go.
>> Even more.
>> Then you are >> So is built in right now.
>> Is built in right now. >> What?
>> I can click right on the event grid, opens up.
>> What?
>> Gives me options of what I want to listen to in event grid.
And so I'm here I'm going to pick my Azure
subscription that I want to listen to.
>> That's crazy. >> Because it could it be
a lot of subscriptions.
>> Showing me right now.
>> Yeah, it's pretty cool, this team does good work.
So now I'm saying in this Azure subscription.
>> Yes. >> Listen for
these types of events.
>> I would have called of it Azure inquiry but
it could be anything.
>> It does and you can see that I can listen to my custom.
Like I can go listen to that custom topic right here.
>> Right. >> And fire-
>> The one you just created.
>> Yeah I can go browse and listen to that right now but
i can also listen to Microsoft Resource Manager.
>> I see.
>> So I can say for
an entire Azure subscription >> Give me advance within that
subscription and- >> And
let's filter that down to just- >> To which ones I want to do.
And on my next step I can do something like just pick
an action that I want to do.
So whenever something happens I
can do- >> [CROSSTALK]
>> Or you can do-
>> [CROSSTALK]
>> Like, it was VM, right?
Okay, cool.
>> And do routing, and then do
things like send an email. >> If you have not played with
yet, you should. We should To get, we should
get someone to do logic apps on this show if we haven't yet, right?
>> Okay, we should, cuz
this is how cool this is now. I want to send an email.
It's gonna load that up.
And then it's actually context driven.
So when I click here on the two.
I'll just put myself And then but you can see it gives
me a contacts menu, so I can say [CROSSTALK] runs the type.
>> Based on the even that coming through?
>> Yes, on the previous step.
So this ID, if I drag ID into the body field,
it's going to be the full arm path.
>> It will be the email that you send out.
>> Just within a couple of seconds you build that up.
>> Yeah. Wow.
>> Just hit Save and it's done.
>> And you can, of course, use functions as well.
It's got the built-in supported functions as well.
But this is a super cool user experience in.
>> Yeah, and there's even a step here if you wanna tag a VM.
There's a- >> A VM tagging system,
very cool.
>> Yeah.
>> Dan, this is awesome.
So we showed this launch of this new service that is an event as
a first class service.
We showed custom events,
We showed the listening by third party custom event listener, but
then we also showed integration deeply with Logic Apps and
the API side of the house >> Yeah
>> to be able to create events
using API's and then Logic Apps to be able to fire them and
walk through them and
I mean you can do combinations here are endless right,
application created it then we'll fire a Logic App right,
or something tied with the API that then will fire
>> Some third party thing.
Right?
Using a web hook.
All this is possible.
And it's just incoming, outgoing, boom.
That's the picture.
>> I like that picture.
>> You like that picture.
Thank you Dan.
This is awesome.
This is a great demo.
I think it's really cool.
We should probably do more demos on this.
We will plan to do more demos on this.
But This is a good taste of what we've got Azure logic apps.
Just went live last Wednesday so please go try it out it is
public preview so everyone can go use this like there is no
tommorrow>> yeah>> yes, okay and please go try it out.
Thank Dan and thank you.
have a wonderful Tuesday.
If you've got questions or
comments you can hit us up on #AzureTwc that stand for
Tuesdays with Corey.
And with that, have a great day.
[MUSIC]
Okay, are you ready?
>> As ready as I'll ever be.
>> Okay, all right, you ready, Rick?
>> Set,
ready to roll.
>> All right, let's see here. 12:20.
Okay got it.
All right. That's the clicker.
All right.
We have to do it.
>> I'm gonna get you one of those.
>> He doesn't understand.
[LAUGH] He's like, that clap is an event man.
[LAUGH] All right.
You ready?
>> Yeah >> Alright.