-
Notifications
You must be signed in to change notification settings - Fork 2.7k
/
hello_world_advanced_sample_async.py
72 lines (57 loc) · 2.57 KB
/
hello_world_advanced_sample_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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
# 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: hello_world_advanced_async_sample.py
DESCRIPTION:
This sample demos more advanced scenarios including add/set with label/list operations for app configuration
USAGE: python hello_world_advanced_async_sample.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 import ConfigurationSetting
from azure.appconfiguration.aio import AzureAppConfigurationClient
from util import print_configuration_setting
async def main():
CONNECTION_STRING = os.environ["APPCONFIGURATION_CONNECTION_STRING"]
# Create app config client
client = AzureAppConfigurationClient.from_connection_string(CONNECTION_STRING)
print("Add new configuration setting")
config_setting = ConfigurationSetting(
key="MyKey", label="MyLabel", value="my value", content_type="my content type", tags={"my tag": "my tag value"}
)
added_config_setting = await client.add_configuration_setting(config_setting)
print("New configuration setting:")
print_configuration_setting(added_config_setting)
print("")
print("Set configuration setting")
added_config_setting.value = "new value"
added_config_setting.content_type = "new content type"
updated_config_setting = await client.set_configuration_setting(added_config_setting)
print_configuration_setting(updated_config_setting)
print("")
print("Get configuration setting")
# [START get_config_setting]
fetched_config_setting = await client.get_configuration_setting(key="MyKey", label="MyLabel")
# [END get_config_setting]
print("Fetched configuration setting:")
print_configuration_setting(fetched_config_setting)
print("")
print("List configuration settings")
# [START list_config_setting]
config_settings = client.list_configuration_settings(label_filter="MyLabel")
async for item in config_settings:
print_configuration_setting(item)
# [END list_config_setting]
print("Delete configuration setting")
await client.delete_configuration_setting(
key="MyKey",
label="MyLabel",
)
if __name__ == "__main__":
asyncio.run(main())