/
sync_token_samples_async.py
44 lines (31 loc) · 1.56 KB
/
sync_token_samples_async.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# coding: utf-8
# -------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for
# license information.
# --------------------------------------------------------------------------
"""
FILE: sync_token_async_samples.py
DESCRIPTION:
This sample demos update_sync_token for the AzureAppConfigurationClient
USAGE: python sync_token_async_samples.py
Set the environment variables with your own values before running the sample:
1) APPCONFIGURATION_CONNECTION_STRING: Connection String used to access the Azure App Configuration.
"""
import asyncio
import os
from azure.appconfiguration.aio import AzureAppConfigurationClient
async def handle_event_grid_notifications(event_grid_events):
CONNECTION_STRING = os.environ["APPCONFIGURATION_CONNECTION_STRING"]
all_keys = []
async with AzureAppConfigurationClient.from_connection_string(CONNECTION_STRING) as client:
for event_grid_event in event_grid_events:
if event_grid_event["eventType"] == "Microsoft.KeyValueModified":
sync_token = event_grid_event["data"]["syncToken"]
await client.update_sync_token(sync_token)
new_key = await client.get_configuration_setting(
key=event_grid_event["data"]["key"], label=event_grid_event["data"]["label"]
)
all_keys.append(new_key)
if __name__ == "__main__":
asyncio.run(handle_event_grid_notifications([]))