Skip to content

Commit fefa14f

Browse files
committed
finish schemaregistry
1 parent 2bd14c7 commit fefa14f

14 files changed

+88
-62
lines changed

scripts/devops_tasks/test_run_samples.py

+10-5
Original file line numberDiff line numberDiff line change
@@ -158,14 +158,19 @@
158158
"blob_samples_client_side_encryption_keyvault.py"
159159
],
160160
"azure-schemaregistry": [
161-
"encode_and_decode_event_data_message.py",
162-
"encode_and_decode_with_message_content.py",
161+
"eventhub_receive_integration_async.py",
162+
"eventhub_receive_integration.py"
163+
],
164+
"azure-schemaregistry-avroencoder": [
165+
"eventhub_receive_integration_async.py",
163166
"eventhub_receive_integration.py",
164167
"eventhub_send_integration.py",
165-
"encode_and_decode_event_data_message_async.py",
166-
"encode_and_decode_with_message_content_async.py",
168+
"encode_and_decode_with_message_content.py",
169+
"encode_and_decode_event_data_message.py"
170+
],
171+
"azure-schemaregistry-avroserializer": [
167172
"eventhub_receive_integration_async.py",
168-
"eventhub_send_integration_async.py",
173+
"eventhub_receive_integration.py",
169174
]
170175
}
171176

sdk/schemaregistry/azure-schemaregistry-avroencoder/samples/async_samples/encode_and_decode_event_data_message_async.py

+1-5
Original file line numberDiff line numberDiff line change
@@ -49,15 +49,11 @@
4949
import os
5050
import asyncio
5151

52-
from azure.identity.aio import ClientSecretCredential, DefaultAzureCredential
52+
from azure.identity.aio import DefaultAzureCredential
5353
from azure.schemaregistry.aio import SchemaRegistryClient
5454
from azure.schemaregistry.encoder.avroencoder.aio import AvroEncoder
5555
from azure.eventhub import EventData
5656

57-
TENANT_ID=os.environ['AZURE_TENANT_ID']
58-
CLIENT_ID=os.environ['AZURE_CLIENT_ID']
59-
CLIENT_SECRET=os.environ['AZURE_CLIENT_SECRET']
60-
6157
SCHEMAREGISTRY_FULLY_QUALIFIED_NAMESPACE=os.environ['SCHEMAREGISTRY_AVRO_FULLY_QUALIFIED_NAMESPACE']
6258
GROUP_NAME=os.environ['SCHEMAREGISTRY_GROUP']
6359
SCHEMA_STRING = """

sdk/schemaregistry/azure-schemaregistry-avroencoder/samples/async_samples/encode_and_decode_with_message_content_async.py

+1-5
Original file line numberDiff line numberDiff line change
@@ -49,16 +49,12 @@
4949
import os
5050
import asyncio
5151

52-
from azure.identity.aio import ClientSecretCredential, DefaultAzureCredential
52+
from azure.identity.aio import DefaultAzureCredential
5353
from azure.schemaregistry.aio import SchemaRegistryClient
5454
from azure.schemaregistry.encoder.avroencoder import MessageContent
5555
from azure.schemaregistry.encoder.avroencoder.aio import AvroEncoder
5656
from azure.eventhub import EventData
5757

58-
TENANT_ID = os.environ["AZURE_TENANT_ID"]
59-
CLIENT_ID = os.environ["AZURE_CLIENT_ID"]
60-
CLIENT_SECRET = os.environ["AZURE_CLIENT_SECRET"]
61-
6258
SCHEMAREGISTRY_FULLY_QUALIFIED_NAMESPACE = os.environ[
6359
"SCHEMAREGISTRY_AVRO_FULLY_QUALIFIED_NAMESPACE"
6460
]

sdk/schemaregistry/azure-schemaregistry-avroencoder/samples/async_samples/eventhub_send_integration_async.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
from azure.schemaregistry.aio import SchemaRegistryClient
3636
from azure.schemaregistry.encoder.avroencoder.aio import AvroEncoder
3737

38-
EVENTHUB_CONNECTION_STR = os.environ['EVENT_HUB_CONN_STR']
38+
EVENTHUB_CONNECTION_STR = os.environ['EVENT_HUB_CONN_STR_AVRO']
3939
EVENTHUB_NAME = os.environ['EVENT_HUB_NAME']
4040

4141
SCHEMAREGISTRY_FULLY_QUALIFIED_NAMESPACE = os.environ['SCHEMAREGISTRY_AVRO_FULLY_QUALIFIED_NAMESPACE']

sdk/schemaregistry/azure-schemaregistry-avroencoder/samples/sync_samples/encode_and_decode_event_data_message.py

+1-5
Original file line numberDiff line numberDiff line change
@@ -48,15 +48,11 @@
4848
"""
4949
import os
5050

51-
from azure.identity import ClientSecretCredential, DefaultAzureCredential
51+
from azure.identity import DefaultAzureCredential
5252
from azure.schemaregistry import SchemaRegistryClient
5353
from azure.schemaregistry.encoder.avroencoder import AvroEncoder
5454
from azure.eventhub import EventData
5555

56-
TENANT_ID = os.environ["AZURE_TENANT_ID"]
57-
CLIENT_ID = os.environ["AZURE_CLIENT_ID"]
58-
CLIENT_SECRET = os.environ["AZURE_CLIENT_SECRET"]
59-
6056
SCHEMAREGISTRY_FULLY_QUALIFIED_NAMESPACE = os.environ[
6157
"SCHEMAREGISTRY_AVRO_FULLY_QUALIFIED_NAMESPACE"
6258
]

sdk/schemaregistry/azure-schemaregistry-avroencoder/samples/sync_samples/encode_and_decode_with_message_content.py

+1-5
Original file line numberDiff line numberDiff line change
@@ -48,15 +48,11 @@
4848
"""
4949
import os
5050

51-
from azure.identity import ClientSecretCredential, DefaultAzureCredential
51+
from azure.identity import DefaultAzureCredential
5252
from azure.schemaregistry import SchemaRegistryClient
5353
from azure.schemaregistry.encoder.avroencoder import AvroEncoder, MessageContent
5454
from azure.eventhub import EventData
5555

56-
TENANT_ID = os.environ["AZURE_TENANT_ID"]
57-
CLIENT_ID = os.environ["AZURE_CLIENT_ID"]
58-
CLIENT_SECRET = os.environ["AZURE_CLIENT_SECRET"]
59-
6056
SCHEMAREGISTRY_FULLY_QUALIFIED_NAMESPACE = os.environ[
6157
"SCHEMAREGISTRY_AVRO_FULLY_QUALIFIED_NAMESPACE"
6258
]

sdk/schemaregistry/azure-schemaregistry-avroencoder/samples/sync_samples/eventhub_send_integration.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
from azure.schemaregistry import SchemaRegistryClient
3434
from azure.schemaregistry.encoder.avroencoder import AvroEncoder
3535

36-
EVENTHUB_CONNECTION_STR = os.environ['EVENT_HUB_CONN_STR']
36+
EVENTHUB_CONNECTION_STR = os.environ['EVENT_HUB_CONN_STR_AVRO']
3737
EVENTHUB_NAME = os.environ['EVENT_HUB_NAME']
3838

3939
SCHEMAREGISTRY_FULLY_QUALIFIED_NAMESPACE = os.environ['SCHEMAREGISTRY_AVRO_FULLY_QUALIFIED_NAMESPACE']

sdk/schemaregistry/azure-schemaregistry-avroserializer/samples/async_samples/avro_serializer_async.py

+1-5
Original file line numberDiff line numberDiff line change
@@ -26,14 +26,10 @@
2626
import os
2727
import asyncio
2828

29-
from azure.identity.aio import ClientSecretCredential, DefaultAzureCredential
29+
from azure.identity.aio import DefaultAzureCredential
3030
from azure.schemaregistry.aio import SchemaRegistryClient
3131
from azure.schemaregistry.serializer.avroserializer.aio import AvroSerializer
3232

33-
TENANT_ID=os.environ['AZURE_TENANT_ID']
34-
CLIENT_ID=os.environ['AZURE_CLIENT_ID']
35-
CLIENT_SECRET=os.environ['AZURE_CLIENT_SECRET']
36-
3733
SCHEMAREGISTRY_FULLY_QUALIFIED_NAMESPACE=os.environ['SCHEMAREGISTRY_FULLY_QUALIFIED_NAMESPACE']
3834
GROUP_NAME=os.environ['SCHEMAREGISTRY_GROUP']
3935
SCHEMA_STRING = """

sdk/schemaregistry/azure-schemaregistry-avroserializer/samples/sync_samples/avro_serializer.py

+1-5
Original file line numberDiff line numberDiff line change
@@ -25,14 +25,10 @@
2525
# --------------------------------------------------------------------------
2626
import os
2727

28-
from azure.identity import ClientSecretCredential, DefaultAzureCredential
28+
from azure.identity import DefaultAzureCredential
2929
from azure.schemaregistry import SchemaRegistryClient
3030
from azure.schemaregistry.serializer.avroserializer import AvroSerializer
3131

32-
TENANT_ID=os.environ['AZURE_TENANT_ID']
33-
CLIENT_ID=os.environ['AZURE_CLIENT_ID']
34-
CLIENT_SECRET=os.environ['AZURE_CLIENT_SECRET']
35-
3632
SCHEMAREGISTRY_FULLY_QUALIFIED_NAMESPACE=os.environ['SCHEMAREGISTRY_FULLY_QUALIFIED_NAMESPACE']
3733
GROUP_NAME=os.environ['SCHEMAREGISTRY_GROUP']
3834
SCHEMA_STRING = """

sdk/schemaregistry/azure-schemaregistry/samples/async_samples/jsonencoder/encode_and_decode_event_data_message_async.py

+2-6
Original file line numberDiff line numberDiff line change
@@ -52,15 +52,11 @@
5252
import json
5353
from typing import cast, Iterator
5454

55-
from azure.identity.aio import ClientSecretCredential
55+
from azure.identity.aio import DefaultAzureCredential
5656
from azure.schemaregistry.aio import SchemaRegistryClient
5757
from azure.schemaregistry.encoder.jsonencoder.aio import JsonSchemaEncoder
5858
from azure.eventhub import EventData
5959

60-
TENANT_ID = os.environ["AZURE_TENANT_ID"]
61-
CLIENT_ID = os.environ["AZURE_CLIENT_ID"]
62-
CLIENT_SECRET = os.environ["AZURE_CLIENT_SECRET"]
63-
6460
SCHEMAREGISTRY_FULLY_QUALIFIED_NAMESPACE = os.environ["SCHEMAREGISTRY_JSON_FULLY_QUALIFIED_NAMESPACE"]
6561
GROUP_NAME = os.environ["SCHEMAREGISTRY_GROUP"]
6662

@@ -81,7 +77,7 @@
8177
SCHEMA_STRING = json.dumps(SCHEMA_JSON)
8278

8379

84-
token_credential = ClientSecretCredential(tenant_id=TENANT_ID, client_id=CLIENT_ID, client_secret=CLIENT_SECRET)
80+
token_credential = DefaultAzureCredential()
8581

8682

8783
async def pre_register_schema(schema_registry: SchemaRegistryClient):

sdk/schemaregistry/azure-schemaregistry/samples/async_samples/jsonencoder/encode_and_decode_with_message_content_async.py

+5-6
Original file line numberDiff line numberDiff line change
@@ -52,16 +52,12 @@
5252
import json
5353
from typing import cast, List
5454

55-
from azure.identity.aio import ClientSecretCredential
55+
from azure.identity.aio import DefaultAzureCredential
5656
from azure.schemaregistry import MessageContent
5757
from azure.schemaregistry.aio import SchemaRegistryClient
5858
from azure.schemaregistry.encoder.jsonencoder.aio import JsonSchemaEncoder
5959
from azure.eventhub import EventData
6060

61-
TENANT_ID = os.environ["AZURE_TENANT_ID"]
62-
CLIENT_ID = os.environ["AZURE_CLIENT_ID"]
63-
CLIENT_SECRET = os.environ["AZURE_CLIENT_SECRET"]
64-
6561
SCHEMAREGISTRY_FULLY_QUALIFIED_NAMESPACE = os.environ["SCHEMAREGISTRY_JSON_FULLY_QUALIFIED_NAMESPACE"]
6662
GROUP_NAME = os.environ["SCHEMAREGISTRY_GROUP"]
6763

@@ -82,7 +78,7 @@
8278
SCHEMA_STRING = json.dumps(SCHEMA_JSON)
8379

8480

85-
token_credential = ClientSecretCredential(tenant_id=TENANT_ID, client_id=CLIENT_ID, client_secret=CLIENT_SECRET)
81+
token_credential = DefaultAzureCredential()
8682

8783

8884
async def encode_message_content_dict(encoder: JsonSchemaEncoder):
@@ -117,6 +113,9 @@ async def main():
117113
encoder = JsonSchemaEncoder(
118114
client=schema_registry, group_name=GROUP_NAME, validate=cast(str, SCHEMA_JSON["$schema"])
119115
)
116+
await schema_registry.register_schema(
117+
group_name=GROUP_NAME, name=cast(str, SCHEMA_JSON["title"]), definition=SCHEMA_STRING, format="Json"
118+
)
120119
event_data = await encode_message_content_dict(encoder)
121120
decoded_content = await decode_with_content_and_content_type(encoder, event_data)
122121
await encoder.close()

sdk/schemaregistry/azure-schemaregistry/samples/sync_samples/jsonencoder/encode_and_decode_event_data_message.py

+2-6
Original file line numberDiff line numberDiff line change
@@ -51,15 +51,11 @@
5151
import json
5252
from typing import cast, Iterator
5353

54-
from azure.identity import ClientSecretCredential
54+
from azure.identity import DefaultAzureCredential
5555
from azure.schemaregistry import SchemaRegistryClient
5656
from azure.schemaregistry.encoder.jsonencoder import JsonSchemaEncoder
5757
from azure.eventhub import EventData
5858

59-
TENANT_ID = os.environ["AZURE_TENANT_ID"]
60-
CLIENT_ID = os.environ["AZURE_CLIENT_ID"]
61-
CLIENT_SECRET = os.environ["AZURE_CLIENT_SECRET"]
62-
6359
SCHEMAREGISTRY_FULLY_QUALIFIED_NAMESPACE = os.environ["SCHEMAREGISTRY_JSON_FULLY_QUALIFIED_NAMESPACE"]
6460
GROUP_NAME = os.environ["SCHEMAREGISTRY_GROUP"]
6561
SCHEMA_JSON = {
@@ -78,7 +74,7 @@
7874
}
7975
SCHEMA_STRING = json.dumps(SCHEMA_JSON)
8076

81-
token_credential = ClientSecretCredential(tenant_id=TENANT_ID, client_id=CLIENT_ID, client_secret=CLIENT_SECRET)
77+
token_credential = DefaultAzureCredential()
8278

8379

8480
def pre_register_schema(schema_registry: SchemaRegistryClient):

sdk/schemaregistry/azure-schemaregistry/samples/sync_samples/jsonencoder/encode_and_decode_with_message_content.py

+5-6
Original file line numberDiff line numberDiff line change
@@ -51,15 +51,11 @@
5151
import json
5252
from typing import List, cast
5353

54-
from azure.identity import ClientSecretCredential
54+
from azure.identity import DefaultAzureCredential
5555
from azure.schemaregistry import SchemaRegistryClient, MessageContent
5656
from azure.schemaregistry.encoder.jsonencoder import JsonSchemaEncoder
5757
from azure.eventhub import EventData
5858

59-
TENANT_ID = os.environ["AZURE_TENANT_ID"]
60-
CLIENT_ID = os.environ["AZURE_CLIENT_ID"]
61-
CLIENT_SECRET = os.environ["AZURE_CLIENT_SECRET"]
62-
6359
SCHEMAREGISTRY_FULLY_QUALIFIED_NAMESPACE = os.environ["SCHEMAREGISTRY_JSON_FULLY_QUALIFIED_NAMESPACE"]
6460
GROUP_NAME = os.environ["SCHEMAREGISTRY_GROUP"]
6561
SCHEMA_JSON = {
@@ -79,7 +75,7 @@
7975
SCHEMA_STRING = json.dumps(SCHEMA_JSON)
8076

8177

82-
token_credential = ClientSecretCredential(tenant_id=TENANT_ID, client_id=CLIENT_ID, client_secret=CLIENT_SECRET)
78+
token_credential = DefaultAzureCredential()
8379

8480

8581
def encode_message_content_dict(encoder: JsonSchemaEncoder):
@@ -114,6 +110,9 @@ def decode_with_content_and_content_type(encoder: JsonSchemaEncoder, event_data:
114110
encoder = JsonSchemaEncoder(
115111
client=schema_registry, group_name=GROUP_NAME, validate=cast(str, SCHEMA_JSON["$schema"])
116112
)
113+
schema_registry.register_schema(
114+
group_name=GROUP_NAME, name=cast(str, SCHEMA_JSON["title"]), definition=SCHEMA_STRING, format="Json"
115+
)
117116
event_data = encode_message_content_dict(encoder)
118117
decoded_content = decode_with_content_and_content_type(encoder, event_data)
119118
encoder.close()

sdk/schemaregistry/test-resources.json

+56-1
Original file line numberDiff line numberDiff line change
@@ -18,14 +18,18 @@
1818
}
1919
},
2020
"variables": {
21+
"eventhubName": "testEventhub",
2122
"apiVersion": "2022-10-01-preview",
2223
"baseNameAvro": "[concat(parameters('baseName'), '-avro')]",
2324
"baseNameJson": "[concat(parameters('baseName'), '-json')]",
2425
"baseNameCustom": "[concat(parameters('baseName'), '-custom')]",
2526
"schemaRegistryEndpointAvro": "[concat(parameters('baseName'), '-avro', '.servicebus.windows.net')]",
2627
"schemaRegistryEndpointJson": "[concat(parameters('baseName'), '-json', '.servicebus.windows.net')]",
2728
"schemaRegistryEndpointCustom": "[concat(parameters('baseName'), '-custom', '.servicebus.windows.net')]",
28-
"schemaRegistryGroup": "azsdk_python_test_group"
29+
"schemaRegistryGroup": "azsdk_python_test_group",
30+
"defaultSASKeyName": "RootManageSharedAccessKey",
31+
"baseNameAvroResourceId": "[resourceId('Microsoft.EventHub/namespaces/authorizationRules', variables('baseNameAvro'), variables('defaultSASKeyName'))]",
32+
"baseNameJsonResourceId": "[resourceId('Microsoft.EventHub/namespaces/authorizationRules', variables('baseNameJson'), variables('defaultSASKeyName'))]"
2933
},
3034
"resources": [
3135
{
@@ -108,6 +112,45 @@
108112
"properties": {
109113
"schemaType": "custom"
110114
}
115+
},
116+
{
117+
"type": "Microsoft.EventHub/namespaces/eventhubs",
118+
"apiVersion": "[variables('apiVersion')]",
119+
"name": "[format('{0}/{1}', variables('baseNameAvro'), variables('eventhubName'))]",
120+
"dependsOn": [
121+
"[resourceId('Microsoft.EventHub/namespaces', variables('baseNameAvro'))]"
122+
],
123+
"properties": {
124+
"messageRetentionInDays": 7,
125+
"partitionCount": 4,
126+
"status": "Active"
127+
}
128+
},
129+
{
130+
"type": "Microsoft.EventHub/namespaces/eventhubs",
131+
"apiVersion": "[variables('apiVersion')]",
132+
"name": "[format('{0}/{1}', variables('baseNameJson'), variables('eventhubName'))]",
133+
"dependsOn": [
134+
"[resourceId('Microsoft.EventHub/namespaces', variables('baseNameJson'))]"
135+
],
136+
"properties": {
137+
"messageRetentionInDays": 7,
138+
"partitionCount": 4,
139+
"status": "Active"
140+
}
141+
},
142+
{
143+
"type": "Microsoft.EventHub/namespaces/eventhubs",
144+
"apiVersion": "[variables('apiVersion')]",
145+
"name": "[format('{0}/{1}', variables('baseNameCustom'), variables('eventhubName'))]",
146+
"dependsOn": [
147+
"[resourceId('Microsoft.EventHub/namespaces', variables('baseNameCustom'))]"
148+
],
149+
"properties": {
150+
"messageRetentionInDays": 7,
151+
"partitionCount": 4,
152+
"status": "Active"
153+
}
111154
}
112155
],
113156
"outputs": {
@@ -126,6 +169,18 @@
126169
"SCHEMAREGISTRY_GROUP": {
127170
"type": "string",
128171
"value": "[variables('schemaRegistryGroup')]"
172+
},
173+
"EVENT_HUB_CONN_STR": {
174+
"type": "string",
175+
"value": "[listkeys(variables('baseNameJsonResourceId'), variables('apiVersion')).primaryConnectionString]"
176+
},
177+
"EVENT_HUB_CONN_STR_AVRO": {
178+
"type": "string",
179+
"value": "[listkeys(variables('baseNameAvroResourceId'), variables('apiVersion')).primaryConnectionString]"
180+
},
181+
"EVENT_HUB_NAME": {
182+
"type": "string",
183+
"value": "[variables('eventhubName')]"
129184
}
130185
}
131186
}

0 commit comments

Comments
 (0)