async def test_send_signature_credential(self, resource_group, eventgrid_topic, eventgrid_topic_primary_key, eventgrid_topic_endpoint): expiration_date_utc = dt.datetime.now(UTC()) + timedelta(hours=1) signature = generate_shared_access_signature(eventgrid_topic_endpoint, eventgrid_topic_primary_key, expiration_date_utc) credential = EventGridSharedAccessSignatureCredential(signature) client = EventGridPublisherClient(eventgrid_topic_endpoint, credential) eg_event = EventGridEvent( subject="sample", data={"sample": "eventgridevent"}, event_type="Sample.EventGrid.Event", data_version="2.0" ) await client.send(eg_event)
""" import os from random import randint, sample import time from dateutil.tz import tzutc from datetime import timedelta import datetime as dt from azure.eventgrid import EventGridPublisherClient, CloudEvent, generate_shared_access_signature, EventGridSharedAccessSignatureCredential key = os.environ["CLOUD_ACCESS_KEY"] topic_hostname = os.environ["CLOUD_TOPIC_HOSTNAME"] expiration_date_utc = dt.datetime.now(tzutc()) + timedelta(hours=1) signature = generate_shared_access_signature(topic_hostname, key, expiration_date_utc) # authenticate client credential = EventGridSharedAccessSignatureCredential(signature) client = EventGridPublisherClient(topic_hostname, credential) team_members = [ "Josh", "Kerri", "Kieran", "Laurent", "Lily", "Matt", "Soren", "Srikanta", "Swathi" ] # possible values for data field def publish_event(): # publish events for _ in range(10):
2) CLOUD_TOPIC_HOSTNAME - The topic hostname. Typically it exists in the format "<YOUR-TOPIC-NAME>.<REGION-NAME>.eventgrid.azure.net". """ import os from random import randint, sample import time from datetime import datetime, timedelta from azure.core.credentials import AzureSasCredential from azure.eventgrid import EventGridPublisherClient, CloudEvent, generate_shared_access_signature key = os.environ["CLOUD_ACCESS_KEY"] endpoint = os.environ["CLOUD_TOPIC_HOSTNAME"] expiration_date_utc = datetime.utcnow() + timedelta(hours=1) signature = generate_shared_access_signature(endpoint, key, expiration_date_utc) # authenticate client credential = AzureSasCredential(signature) client = EventGridPublisherClient(endpoint, credential) team_members = [ "Josh", "Kerri", "Kieran", "Laurent", "Lily", "Matt", "Soren", "Srikanta", "Swathi" ] # possible values for data field def publish_event(): # publish events for _ in range(3):