Пример #1
0
 def test_send_signature_credential(self, variables, eventgrid_topic_key,
                                    eventgrid_topic_endpoint):
     expiration_date_utc = dt.datetime.now(UTC()) + timedelta(hours=1)
     signature = generate_sas(eventgrid_topic_endpoint, eventgrid_topic_key,
                              expiration_date_utc)
     credential = AzureSasCredential(signature)
     client = EventGridPublisherClient(eventgrid_topic_endpoint, credential)
     eg_event = EventGridEvent(subject="sample",
                               data={"sample": "eventgridevent"},
                               event_type="Sample.EventGrid.Event",
                               data_version="2.0")
     client.send(eg_event)
Пример #2
0
def test_generate_sas_adds_https_appends_api_events():
    expiration_date_utc = dt.datetime.now(UTC()) + timedelta(hours=1)
    http_endpoint = "https://topic.eventgrid.endpoint"
    signature = generate_sas(http_endpoint, "eventgrid_topic_primary_key",
                             expiration_date_utc)
    assert "%2Fapi%2Fevents" in signature
Пример #3
0
def test_generate_sas_adds_https_if_not_exists():
    expiration_date_utc = dt.datetime.now(UTC()) + timedelta(hours=1)
    http_endpoint = "topic.eventgrid.endpoint"
    signature = generate_sas(http_endpoint, "eventgrid_topic_primary_key",
                             expiration_date_utc)
    assert signature.startswith("r=https")
Пример #4
0
def test_generate_sas_fails_with_http():
    expiration_date_utc = dt.datetime.now(UTC()) + timedelta(hours=1)
    http_endpoint = "http://topic.eventgrid.endpoint"
    with pytest.raises(ValueError):
        signature = generate_sas(http_endpoint, "eventgrid_topic_primary_key",
                                 expiration_date_utc)
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for
# license information.
# --------------------------------------------------------------------------
"""
FILE: sample_generate_sas.py
DESCRIPTION:
    These samples demonstrate creating a shared access signature for eventgrid.
USAGE:
    python sample_generate_sas.py
    Set the environment variables with your own values before running the sample:
    1) EG_ACCESS_KEY - The access key of your eventgrid account.
    2) EG_TOPIC_HOSTNAME - The topic hostname. Typically it exists in the format
    "<YOUR-TOPIC-NAME>.<REGION-NAME>.eventgrid.azure.net".
"""
# [START generate_sas]
import os
from azure.eventgrid import generate_sas
from datetime import datetime, timedelta

topic_key = os.environ["EG_ACCESS_KEY"]
endpoint = os.environ["EG_TOPIC_HOSTNAME"]

#represents the expiration date for sas
expiration_date_utc = datetime.utcnow() + timedelta(hours=10)

signature = generate_sas(endpoint, topic_key, expiration_date_utc)

# [END generate_sas]

print(signature)