Eric  Bukenya

Eric Bukenya

1622878503

Announcing the new Azure Event Grid Client Libraries

We are pleased to announce that the new Azure Event Grid libraries have reached general availability (GA). Version 4 of the Azure Event Grid packages have now been released (.NETJavaPython and JavaScript/TypeScript), following the new Azure SDK guidelines. These guidelines provide consistency across all Azure SDK client libraries while also allowing each language to follow the idioms for their respective languages.

This library is the result of months of development, design discussions, feedback, and observing developers in user studies as they worked with Azure Event Grid. In this release, we’ve simplified the API surface, added distributed tracing, and added support for publishing using the CloudEvent schema and custom event schemas.

Cross Service SDK improvements

The new Event Grid client libraries allow Event Grid developers to take advantage of the cross-service improvements made to the Azure development experience, such as:

  • Core credential types to share a single authentication approach between clients
  • A unified logging and diagnostics pipeline offering a common view of the activities across each of the client libraries

In particular, the new Event Grid libraries use the core AzureKeyCredential type for authenticating the service client.

C#

EventGridPublisherClient client = new EventGridPublisherClient(
    new Uri("<endpoint>"),
    new AzureKeyCredential("<access-key>"));

Java

EventGridPublisherClient<EventGridEvent> eventGridEventClient = new EventGridPublisherClientBuilder()
    .endpoint("<endpoint>")
    .credential(new AzureKeyCredential("<access-key>"))
    .buildEventGridEventPublisherClient();

JavaScript

const { EventGridPublisherClient, AzureKeyCredential } = require("@azure/eventgrid");
const client = new EventGridPublisherClient("<endpoint>", "EventGrid", new AzureKeyCredential("<access-key>"));

Python

from azure.core.credentials import AzureKeyCredential
from azure.eventgrid import EventGridPublisherClient
credential = AzureKeyCredential("<access-key>")
client = EventGridPublisherClient("<endpoint>", credential)

New features

In addition to the cross-service improvements, Version 4 of the library includes several new features specific to Event Grid: – Support for publishing events using the CloudEvent schema to topics which are configured to use the CloudEvent V1 schema.

C#

var cloudEvent = new CloudEvent(
    source: "/cloudevents/example/source",
    type: "Example.EventType",
    data: new MyDataModel() { A = 5, B = true });

await client.SendEventAsync(cloudEvent);

Java

// Initialize the client for use with the cloud event schema
EventGridPublisherClient<CloudEvent> publisherClient = new EventGridPublisherClientBuilder()
    .endpoint("<endpoint>")
    .credential(new AzureKeyCredential("<access-key>"))
    .buildCloudEventPublisherClient();

User newUser = new User("John2", "James");
CloudEvent cloudEventModel = new CloudEvent("https://com.example.myapp", "User.Created.Object",
BinaryData.fromObject(newUser), CloudEventDataFormat.JSON, "application/json");
publisherClient.sendEvents(cloudEventModel);

JavaScript

// Initialize the client for use with the cloud event schema
const client = new EventGridPublisherClient(
  "<endpoint>",
  "CloudEvent",
  new AzureKeyCredential("<access-key>")
);

// Send an event to the Event Grid Service, using the Cloud Event schema.
// A random ID will be generated for this event, since one is not provided.
await client.send([
  {
    type: "com.example.cloudevent",
    source: "/azure/sdk/eventgrid/samples/sendEventSample",
    data: {
      message: "this is a sample event"
    }
  }
]);

Python

client.send([
    CloudEvent(
        type="Contoso.Items.ItemReceived",
        source="/contoso/items",
        data={
            "itemSku": "Contoso Item SKU #1"
        },
        subject="Door1"
    )
])
  • Support for publishing events using a custom schema to topics which are configured to use a custom schema. Custom schema events are useful in situations where you are dealing with events that do not match either the CloudEvent or the Event Grid schema, but you would still like to use Azure Event Grid. In both Java and .NET, custom events are represented with the BinaryData type. This is a common type used across several messaging libraries in Java and .NET, including Service Bus, Event Hubs, and Storage Queues.

#azure sdk #releases

What is GEEK

Buddha Community

Announcing the new Azure Event Grid Client Libraries
Ron  Cartwright

Ron Cartwright

1600624800

Getting Started With Azure Event Grid Viewer

In the last article, we had a look at how to start with Azure DevOps: Getting Started With Audit Streaming With Event Grid

In the article, we will go to the next step to create a subscription and use webhook event handlers to view those logs in our Azure web application.

#cloud #tutorial #azure #event driven architecture #realtime #signalr #webhook #azure web services #azure event grid #azure #azure event grid #serverless architecture #application integration

Azure Series #2: Single Server Deployment (Input)

In the previous article, we discussed the Gateway to your single server deployment (example: webserver). In this section, we shall continue with Input and Core Infrastructure.

Input for single-server deployment

When you talk about Data for your organization, it covers all three things, “People, Process, and Technology”. More details for the “Streaming and Sourcing Layer” can be found in a separate section (will update the link soon).

**_People: The Who. _**Producers and Consumers of data.

**_Process: The How. _**How the data is curated and put to use.

**_Technology: The What: _**What technologies are used to fetch, process, pass on and store.

Data: While People, Process and Technology is the golden triangle, if you think about it, the very reason the entire state-of-the-art ecosystem exists is merely to get the raw data to a usable form.

1. Data catalog

Any great state-of-art ecosystem is a waste if the data in need for consumers cannot be discovered and from the Producers side, if data cannot be documented/tagged properly that makes it useable for the consumers or end-users. Azure Data Catalog helps to bridge this gap of making the data correctly discoverable by fixing the traditional problems for both consumers and producers and also helps organizations to get the best value out of their existing information assets.

2. Streaming

While we will discuss more as part of the sourcing section, we shall cover the basics of streaming.

1/ Queue Storage

2/ Service Bus

3/ Event Hubs

4/ Event Grid

#azure-interview #azure-event-grid #azure-event-hub #azure #azure-service-bus

Brain  Crist

Brain Crist

1597813200

Azure Event Grid — Digested

Like any beast in Azure, learning about Event Grid quickly turns into a game of buzzword bingo. Lots of new words that actually represent something rather simple that, especially if you know something about messaging, you might even already understand.

After going through the headache of digesting these new terms and concepts I always like to reflect on what the overall concept actually is in simpler terms.

What is Event Grid?

Event Grid is a message router, and not much more. It knows how to consume events and distribute them to interested parties.

It’s actually like newsletter distribution. Imagine you want your newsletters published. You give over a copy of each to the distributor, they know who the subscribers are and how to send copies to each one. It doesn’t matter if a subscriber lives locally or overseas, that is the distributor’s concern.

In Event Grid this distributor is called a topic. The topic knows who to send events to via subscriptions_. _The subscriptions define who’s interested in receiving events and where they are.

From a publisher’s perspective, they simply send the events to the topic, without caring who the subscribers are.

Why use it?

Microsoft has great documentation helping you choose between messaging services that Azure provides.

Personally, I think the biggest benefit of Event Grid is its simplicity and cross-platform support.

Keeping it simple

A lot of messaging services provide heaps of functionality you may not need. Heck, look at just some of the Advanced Features that Service Bus offers:

Message sessions, Autoforwarding, Dead-letter queue, Scheduled delivery, Message deferral, Batching, Transactions, Filtering and action, Autodelete on idle, Duplicate detection, Geo-disaster recovery

#azure-event-grid #event-driven-architecture #microservices #azure

Tamale  Moses

Tamale Moses

1624867800

Digital event: Extend to the cloud with Azure VMware solution

Find out how to easily shift your VMware workloads to the cloud on your own terms and modernize your investments. Join us on March 23, 2021, from 9:00 AM to 10:30 AM Pacific Time (UTC-8), for the Extend to the Cloud with Azure VMware Solution digital event—delivered in partnership with Intel and VMware—and get to know Microsoft Azure VMware Solution: a cloud service that lets you run VMware natively on Azure.

Join industry experts and VMware users at this free digital event to:

  • Learn how to cost-effectively shift your VMware workloads, skills, and tools to the cloud.
  • Find out how to optimize and scale your Microsoft Windows and SQL Server workloads on Azure.
  • See demos of Azure VMware Solution in action and hear about new and upcoming product features.
  • Join interactive and technical sessions on deployment, migration, disaster recovery, and connecting to other Azure services.
  • Plus, ask the experts your questions and network with your peers in the live chat and moderated roundtables.

We have a fantastic line-up of speakers and sessions for you at this event to help you learn how to easily shift your VMware workloads to the cloud on your own terms

#virtual machines #events #azure vmware solution #digital event #azure #azure vmware

Shawn  Durgan

Shawn Durgan

1602776460

Implement Azure AD Client credentials flow using Client Certificates for service APIs

This post shows how to implement an Azure client credential flows to access an API for a service-to-service connection. No user is involved in this flow. A client certificate (Private Key JWT authentication) is used to get the access token and the token is used to access the API which is then used and validated in the API. Azure Key Vault is used to create and provide the client certificate.

Code: https://github.com/damienbod/AzureADAuthRazorUiServiceApiCertificate

Create a client certificate in Azure Key Vault

A self signed certificate with a key size of at least 2048 and key type RSA is used to validate the client requesting the access token. In your Azure Vault create a new certificate.

Download the .cer file which contains the public key. This will be uploaded to the Azure App Registration.

Setup the Azure App Registration for the Service API

A new Azure App Registration can be created for the Service API. This API will use a client certificate to request access tokens. The public key of the certificate needs to be added to the registration. In the Certificates & Secrets, upload the .cer file which was downloaded from the Key Vault.

No user is involved in the client credentials flow. In Azure, scopes cannot be used because consent is required to use scopes (Azure specific). Two roles are added to the access token for the application access and these roles can then be validated in the API. Open the **Manifest **and update the “appRoles” to include the required roles. The **allowedMemberTypes **should be Application.

#app service #asp.net core #aspnet5 #azure key vault #7523 #azpacr #azure #azure app registration #client credentials #jwt #key vault #microsoft.identity.client #microsoft.identity.web #oauth #oauth2 #private key jwt authentication #rfc7523