Skip to content

Commit 72e53db

Browse files
authored
Merge pull request #271884 from MicrosoftDocs/repo_sync_working_branch
Confirm merge from repo_sync_working_branch to main to sync with https://github.com/MicrosoftDocs/azure-docs (branch main)
2 parents cbb54ef + 3adad1d commit 72e53db

File tree

8 files changed

+258
-10
lines changed

8 files changed

+258
-10
lines changed

articles/azure-monitor/app/availability-overview.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ You can set up availability tests for any HTTP or HTTPS endpoint that's accessib
1515
## Types of tests
1616

1717
> [!IMPORTANT]
18+
> There are two upcoming availability tests retirements. On August 31, 2024 multi-step web tests in Application Insights will be retired. We advise users of these tests to transition to alternative availability tests before the retirement date. Following this date, we will be taking down the underlying infrastructure which will break remaining multi-step tests.
1819
> On September 30, 2026, URL ping tests in Application Insights will be retired. Existing URL ping tests will be removed from your resources. Review the [pricing](https://azure.microsoft.com/pricing/details/monitor/#pricing) for standard tests and [transition](https://aka.ms/availabilitytestmigration) to using them before September 30, 2026 to ensure you can continue to run single-step availability tests in your Application Insights resources.
1920
2021
There are four types of availability tests:
@@ -56,4 +57,4 @@ Our [web tests](/previous-versions/azure/azure-monitor/app/monitor-web-app-avail
5657
* [Availability alerts](availability-alerts.md)
5758
* [Standard tests](availability-standard-tests.md)
5859
* [Create and run custom availability tests using Azure Functions](availability-azure-functions.md)
59-
* [Web tests Azure Resource Manager template](/azure/templates/microsoft.insights/webtests?tabs=json)
60+
* [Web tests Azure Resource Manager template](/azure/templates/microsoft.insights/webtests?tabs=json)

articles/azure-vmware/configure-pure-cloud-block-store.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@ Pure Storage manages onboarding of Pure Cloud Block Store for Azure VMware Solut
2020

2121
For more information, see the following resources:
2222

23-
- [Azure VMware Solution + CBS Implementation Guide](https://support.purestorage.com/Pure_Cloud_Block_Store/Azure_VMware_Solution_and_Cloud_Block_Store_Implementation_Guide)
24-
- [CBS Deployment Guide](https://support.purestorage.com/Pure_Cloud_Block_Store/Pure_Cloud_Block_Store_on_Azure_Implementation_Guide)
23+
- [Azure VMware Solution + CBS Implementation Guide](https://support.purestorage.com/bundle/m_cbs_for_azure_vmware_solution/page/production-branch/content/documents/Production/Pure_Cloud_Block_Store/topics/concept/c_azure_vmware_solution_and_cloud_block_store_implementation_g.html)
24+
- [CBS Deployment Guide](https://support.purestorage.com/bundle/m_cbs_for_azure_vmware_solution/page/production-branch/content/documents/Production/Pure_Cloud_Block_Store/topics/concept/c_azure_vmware_solution_and_cloud_block_store_implementation_g.html)
2525
- [CBS Deployment Troubleshooting](https://support.purestorage.com/Pure_Cloud_Block_Store/Pure_Cloud_Block_Store_on_Azure_-_Troubleshooting_Guide)
2626
- [CBS support articles](https://support.purestorage.com/Pure_Cloud_Block_Store/CBS_on_Azure_VMware_Solution_Troubleshooting_Article_Index)
2727
- [Videos](https://support.purestorage.com/Pure_Cloud_Block_Store/Azure_VMware_Solution_and_Cloud_Block_Store_Video_Demos)

articles/azure-web-pubsub/quickstart-serverless.md

Lines changed: 158 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,16 @@ In this tutorial, you learn how to:
6363

6464
- The [Azure CLI](/cli/azure) to manage Azure resources.
6565

66+
# [Python](#tab/python)
67+
68+
- A code editor, such as [Visual Studio Code](https://code.visualstudio.com/).
69+
70+
- [Python](https://www.python.org/downloads/) (v3.7+). See [supported Python versions](../azure-functions/functions-reference-python.md#python-version).
71+
72+
- [Azure Functions Core Tools](https://github.com/Azure/azure-functions-core-tools#installing) (v4 or higher preferred) to run Azure Function apps locally and deploy to Azure.
73+
74+
- The [Azure CLI](/cli/azure) to manage Azure resources.
75+
6676
---
6777

6878
[!INCLUDE [quickstarts-free-trial-note](../../includes/quickstarts-free-trial-note.md)]
@@ -97,6 +107,12 @@ In this tutorial, you learn how to:
97107
func init --worker-runtime dotnet-isolated
98108
```
99109

110+
# [Python](#tab/python)
111+
112+
```bash
113+
func init --worker-runtime python --model V1
114+
```
115+
100116
2. Install `Microsoft.Azure.WebJobs.Extensions.WebPubSub`.
101117

102118
# [JavaScript Model v4](#tab/javascript-v4)
@@ -137,6 +153,17 @@ In this tutorial, you learn how to:
137153
dotnet add package Microsoft.Azure.Functions.Worker.Extensions.WebPubSub --prerelease
138154
```
139155

156+
# [Python](#tab/python)
157+
158+
```json
159+
{
160+
"extensionBundle": {
161+
"id": "Microsoft.Azure.Functions.ExtensionBundle",
162+
"version": "[3.3.*, 4.0.0)"
163+
}
164+
```
165+
166+
140167
3. Create an `index` function to read and host a static web page for clients.
141168

142169
```bash
@@ -254,6 +281,45 @@ In this tutorial, you learn how to:
254281
}
255282
```
256283

284+
# [Python](#tab/python)
285+
286+
- Update `index/function.json` and copy following json codes.
287+
288+
```json
289+
{
290+
"bindings": [
291+
{
292+
"authLevel": "anonymous",
293+
"type": "httpTrigger",
294+
"direction": "in",
295+
"name": "req",
296+
"methods": ["get", "post"]
297+
},
298+
{
299+
"type": "http",
300+
"direction": "out",
301+
"name": "$return"
302+
}
303+
]
304+
}
305+
306+
```
307+
308+
309+
- Update `__init__.py` and replace `main` function with following codes.
310+
311+
```python
312+
import os
313+
314+
import azure.functions as func
315+
316+
317+
def main(req: func.HttpRequest) -> func.HttpResponse:
318+
f = open(os.path.dirname(os.path.realpath(__file__)) + "/../index.html")
319+
return func.HttpResponse(f.read(), mimetype="text/html")
320+
```
321+
322+
257323
4. Create a `negotiate` function to help clients get service connection url with access token.
258324

259325
```bash
@@ -354,6 +420,46 @@ In this tutorial, you learn how to:
354420
}
355421
```
356422
423+
# [Python](#tab/python)
424+
425+
- Update `negotiate/function.json` and copy following json codes.
426+
```json
427+
{
428+
"bindings": [
429+
{
430+
"authLevel": "anonymous",
431+
"type": "httpTrigger",
432+
"direction": "in",
433+
"name": "req"
434+
},
435+
{
436+
"type": "http",
437+
"direction": "out",
438+
"name": "$return"
439+
},
440+
{
441+
"type": "webPubSubConnection",
442+
"name": "connection",
443+
"hub": "simplechat",
444+
"userId": "{headers.x-ms-client-principal-name}",
445+
"direction": "in"
446+
}
447+
]
448+
}
449+
```
450+
451+
- Update `negotiate/__init__.py` and copy following codes.
452+
```python
453+
import azure.functions as func
454+
455+
456+
def main(req: func.HttpRequest, connection) -> func.HttpResponse:
457+
return func.HttpResponse(connection)
458+
459+
```
460+
461+
462+
357463
5. Create a `message` function to broadcast client messages through service.
358464
359465
```bash
@@ -483,6 +589,50 @@ In this tutorial, you learn how to:
483589
}
484590
```
485591
592+
# [Python](#tab/python)
593+
594+
- Update `message/function.json` and copy following json codes.
595+
```json
596+
{
597+
"bindings": [
598+
{
599+
"type": "webPubSubTrigger",
600+
"direction": "in",
601+
"name": "request",
602+
"hub": "simplechat",
603+
"eventName": "message",
604+
"eventType": "user"
605+
},
606+
{
607+
"type": "webPubSub",
608+
"name": "actions",
609+
"hub": "simplechat",
610+
"direction": "out"
611+
}
612+
]
613+
}
614+
```
615+
- Update `message/__init__.py` and copy following codes.
616+
```python
617+
import json
618+
619+
import azure.functions as func
620+
621+
622+
def main(request, actions: func.Out[str]) -> None:
623+
req_json = json.loads(request)
624+
actions.set(
625+
json.dumps(
626+
{
627+
"actionName": "sendToAll",
628+
"data": f'[{req_json["connectionContext"]["userId"]}] {req_json["data"]}',
629+
"dataType": req_json["dataType"],
630+
}
631+
)
632+
)
633+
```
634+
635+
486636
6. Add the client single page `index.html` in the project root folder and copy content.
487637
488638
```html
@@ -561,6 +711,8 @@ In this tutorial, you learn how to:
561711
</ItemGroup>
562712
```
563713
714+
# [Python](#tab/python)
715+
564716
## Create and Deploy the Azure Function App
565717
566718
Before you can deploy your function code to Azure, you need to create three resources:
@@ -621,6 +773,12 @@ Use the following commands to create these items.
621773
az functionapp create --resource-group WebPubSubFunction --consumption-plan-location <REGION> --runtime dotnet-isolated --functions-version 4 --name <FUNCIONAPP_NAME> --storage-account <STORAGE_NAME>
622774
```
623775
776+
# [Python](#tab/python)
777+
778+
```azurecli
779+
az functionapp create --resource-group WebPubSubFunction --consumption-plan-location <REGION> --runtime python --runtime-version 3.9 --functions-version 4 --name <FUNCIONAPP_NAME> --os-type linux --storage-account <STORAGE_NAME>
780+
```
781+
624782
1. Deploy the function project to Azure:
625783
626784
After you have successfully created your function app in Azure, you're now ready to deploy your local functions project by using the [func azure functionapp publish](./../azure-functions/functions-run-local.md) command.

articles/expressroute/how-to-configure-coexisting-gateway-portal.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ The steps to configure both scenarios are covered in this article. You can confi
3333

3434
* **Only route-based VPN gateway is supported.** You must use a route-based [VPN gateway](../vpn-gateway/vpn-gateway-about-vpngateways.md). You also can use a route-based VPN gateway with a VPN connection configured for 'policy-based traffic selectors' as described in [Connect to multiple policy-based VPN devices](../vpn-gateway/vpn-gateway-connect-multiple-policybased-rm-ps.md).
3535
* **ExpressRoute-VPN Gateway coexist configurations are not supported on the Basic SKU**.
36+
* **Both the ExpressRoute and VPN gateways must be able to communicate with each other via BGP to function properly.** If using a UDR on the gateway subnet, ensure that it does not include a route for the gateway subnet rage itself as this will interfere with BGP traffic.
3637
* **If you want to use transit routing between ExpressRoute and VPN, the ASN of Azure VPN Gateway must be set to 65515.** Azure VPN Gateway supports the BGP routing protocol. For ExpressRoute and Azure VPN to work together, you must keep the Autonomous System Number of your Azure VPN gateway at its default value, 65515. If you previously selected an ASN other than 65515 and you change the setting to 65515, you must reset the VPN gateway for the setting to take effect.
3738
* **The gateway subnet must be /27 or a shorter prefix**, such as /26, /25, or you receive an error message when you add the ExpressRoute virtual network gateway.
3839
* **Coexistence for IPv4 traffic only.** ExpressRoute co-existence with VPN gateway is supported, but only for IPv4 traffic. IPv6 traffic isn't supported for VPN gateways.
@@ -131,4 +132,4 @@ You can add a Point-to-Site configuration to your coexisting set by following th
131132
If you want to enable connectivity between one of your local networks that is connected to ExpressRoute and another of your local network that is connected to a site-to-site VPN connection, you need to set up [Azure Route Server](../route-server/expressroute-vpn-support.md).
132133

133134
## Next steps
134-
For more information about ExpressRoute, see the [ExpressRoute FAQ](expressroute-faqs.md).
135+
For more information about ExpressRoute, see the [ExpressRoute FAQ](expressroute-faqs.md).

articles/healthcare-apis/dicom/dicom-services-conformance-statement-v2.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,12 +58,14 @@ The [Studies Service](https://dicom.nema.org/medical/dicom/current/output/html/p
5858

5959
### Store (STOW-RS)
6060

61-
This transaction uses the POST method to store representations of studies, series, and instances contained in the request payload.
61+
This transaction uses the POST or PUT method to store representations of studies, series, and instances contained in the request payload.
6262

6363
| Method | Path | Description |
6464
| :----- | :----------------- | :---------- |
6565
| POST | ../studies | Store instances. |
6666
| POST | ../studies/{study} | Store instances for a specific study. |
67+
| PUT | ../studies | Upsert instances. |
68+
| PUT | ../studies/{study} | Upsert instances for a specific study. |
6769

6870
Parameter `study` corresponds to the DICOM attribute StudyInstanceUID. If specified, any instance that doesn't belong to the provided study is rejected with a `43265` warning code.
6971

@@ -77,7 +79,7 @@ The following `Content-Type` header(s) are supported:
7779
* `application/dicom`
7880

7981
> [!NOTE]
80-
> The Server **will not** coerce or replace attributes that conflict with existing data. All data will be stored as provided.
82+
> The server won't coerce or replace attributes that conflict with existing data for POST requests. All data is stored as provided. For upsert (PUT) requests, the existing data is replaced by the new data received.
8183
8284
#### Store required attributes
8385
The following DICOM elements are required to be present in every DICOM file attempting to be stored:

articles/healthcare-apis/dicom/dicom-services-conformance-statement.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,12 +58,14 @@ The [Studies Service](https://dicom.nema.org/medical/dicom/current/output/html/p
5858

5959
### Store (STOW-RS)
6060

61-
This transaction uses the POST method to store representations of studies, series, and instances contained in the request payload.
61+
This transaction uses the POST or PUT method to store representations of studies, series, and instances contained in the request payload.
6262

6363
| Method | Path | Description |
6464
| :----- | :----------------- | :---------- |
6565
| POST | ../studies | Store instances. |
6666
| POST | ../studies/{study} | Store instances for a specific study. |
67+
| PUT | ../studies | Upsert instances. |
68+
| PUT | ../studies/{study} | Upsert instances for a specific study. |
6769

6870
Parameter `study` corresponds to the DICOM attribute StudyInstanceUID. If specified, any instance that doesn't belong to the provided study is rejected with a `43265` warning code.
6971

@@ -77,7 +79,7 @@ The following `Content-Type` header(s) are supported:
7779
* `application/dicom`
7880

7981
> [!NOTE]
80-
> The Server **will not** coerce or replace attributes that conflict with existing data. All data will be stored as provided.
82+
> The server won't coerce or replace attributes that conflict with existing data for POST requests. All data is stored as provided. For upsert (PUT) requests, the existing data is replaced by the new data received.
8183
8284
#### Store required attributes
8385
The following DICOM elements are required to be present in every DICOM file attempting to be stored:

0 commit comments

Comments
 (0)