File: snapshot_sample_async.py

package info (click to toggle)
python-azure 20250603%2Bgit-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 851,724 kB
  • sloc: python: 7,362,925; ansic: 804; javascript: 287; makefile: 195; sh: 145; xml: 109
file content (70 lines) | stat: -rw-r--r-- 2,751 bytes parent folder | download
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
# 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: snapshot_sample_async.py

DESCRIPTION:
    This sample demos how to create/retrieve/archive/recover/list configuration settings snapshot and list configuration settings of a snapshot asynchronously.

USAGE: python snapshot_sample_async.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 uuid import uuid4


async def main():
    CONNECTION_STRING = os.environ["APPCONFIGURATION_CONNECTION_STRING"]
    config_setting1 = ConfigurationSetting(key="my_key1", label="my_label1")
    config_setting2 = ConfigurationSetting(key="my_key1", label="my_label2")
    snapshot_name = str(uuid4())
    async with AzureAppConfigurationClient.from_connection_string(CONNECTION_STRING) as client:
        await client.add_configuration_setting(config_setting1)
        await client.add_configuration_setting(config_setting2)

        from azure.appconfiguration import ConfigurationSettingsFilter

        filters = [ConfigurationSettingsFilter(key="my_key1", label="my_label1")]
        response = await client.begin_create_snapshot(name=snapshot_name, filters=filters)
        created_snapshot = await response.result()
        print(created_snapshot)
        print("")

        received_snapshot = await client.get_snapshot(name=snapshot_name)
        print(received_snapshot)
        print("")

        archived_snapshot = await client.archive_snapshot(name=snapshot_name)
        print(archived_snapshot)
        print("")

        recovered_snapshot = await client.recover_snapshot(name=snapshot_name)
        print(recovered_snapshot)
        print("")

        snapshots = client.list_snapshots()
        async for snapshot in snapshots:
            print(snapshot)
        print("")

        config_settings = client.list_configuration_settings(snapshot_name=snapshot_name)
        async for config_setting in config_settings:
            print(config_setting)

        await client.delete_configuration_setting(key=config_setting1.key, label=config_setting1.label)
        await client.delete_configuration_setting(key=config_setting2.key, label=config_setting2.label)


if __name__ == "__main__":
    asyncio.run(main())