diff --git a/sdk/textanalytics/azure-ai-textanalytics/CHANGELOG.md b/sdk/textanalytics/azure-ai-textanalytics/CHANGELOG.md index da994aabd40d..17efba9f122d 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/CHANGELOG.md +++ b/sdk/textanalytics/azure-ai-textanalytics/CHANGELOG.md @@ -15,6 +15,7 @@ Note: this version will be the last to officially support Python 3.5, future ver ### Breaking Changes - Changed: the response structure of `being_analyze_actions`. Now, we return a list of results, where each result is a list of the action results for the document, in the order the documents and actions were passed. +- Changed: `begin_analyze_actions` now accepts a single action per type. A `ValueError` is raised if duplicate actions are passed. - Removed: `AnalyzeActionsType` - Removed: `AnalyzeActionsResult` - Removed: `AnalyzeActionsError` diff --git a/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_text_analytics_client.py b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_text_analytics_client.py index 4dc1f38f9968..7255d32eedf4 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_text_analytics_client.py +++ b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_text_analytics_client.py @@ -893,6 +893,8 @@ def begin_analyze_actions( # type: ignore doc_id_order = [doc.get("id") for doc in docs.documents] task_order = [_determine_action_type(action) for action in actions] + if len(task_order) != len(set(task_order)): + raise ValueError("Multiple of the same action is not currently supported.") try: analyze_tasks = self._client.models(api_version='v3.1').JobManifestTasks( diff --git a/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/aio/_text_analytics_client_async.py b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/aio/_text_analytics_client_async.py index d8e4a96e2895..6b5051031ac5 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/aio/_text_analytics_client_async.py +++ b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/aio/_text_analytics_client_async.py @@ -877,6 +877,8 @@ async def begin_analyze_actions( # type: ignore doc_id_order = [doc.get("id") for doc in docs.documents] task_order = [_determine_action_type(action) for action in actions] + if len(task_order) != len(set(task_order)): + raise ValueError("Multiple of the same action is not currently supported.") try: analyze_tasks = self._client.models(api_version='v3.1').JobManifestTasks( diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze.test_partial_success_for_actions.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze.test_partial_success_for_actions.yaml new file mode 100644 index 000000000000..a8e75870f8b9 --- /dev/null +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze.test_partial_success_for_actions.yaml @@ -0,0 +1,328 @@ +interactions: +- request: + body: '{"tasks": {"entityRecognitionTasks": [], "entityRecognitionPiiTasks": [{"parameters": + {"model-version": "latest", "loggingOptOut": false, "stringIndexType": "UnicodeCodePoint"}}], + "keyPhraseExtractionTasks": [], "entityLinkingTasks": [], "sentimentAnalysisTasks": + [{"parameters": {"model-version": "latest", "loggingOptOut": false, "opinionMining": + false}}]}, "analysisInput": {"documents": [{"id": "1", "text": "I did not like + the hotel we stayed at.", "language": "tr"}, {"id": "2", "text": "I did not + like the hotel we stayed at.", "language": "en"}]}}' + headers: + Accept: + - application/json, text/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '555' + Content-Type: + - application/json + User-Agent: + - azsdk-python-ai-textanalytics/5.1.0 Python/3.9.0 (Windows-10-10.0.19041-SP0) + method: POST + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1/analyze + response: + body: + string: '' + headers: + apim-request-id: + - abcffc21-b367-4e89-bda5-6ada712289f5 + date: + - Mon, 28 Jun 2021 19:23:31 GMT + operation-location: + - https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1/analyze/jobs/7c0f4350-b4dd-4c26-ba9e-f7655428c5d8 + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + transfer-encoding: + - chunked + x-content-type-options: + - nosniff + x-envoy-upstream-service-time: + - '2883' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-ai-textanalytics/5.1.0 Python/3.9.0 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1/analyze/jobs/7c0f4350-b4dd-4c26-ba9e-f7655428c5d8 + response: + body: + string: '{"jobId":"7c0f4350-b4dd-4c26-ba9e-f7655428c5d8","lastUpdateDateTime":"2021-06-28T19:23:32Z","createdDateTime":"2021-06-28T19:23:29Z","expirationDateTime":"2021-06-29T19:23:29Z","status":"notStarted","errors":[],"displayName":"NA","tasks":{"completed":0,"failed":0,"inProgress":2,"total":2}}' + headers: + apim-request-id: + - ad8a2cca-552d-41ed-9e0f-c8aa841e3959 + content-type: + - application/json; charset=utf-8 + date: + - Mon, 28 Jun 2021 19:23:37 GMT + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + transfer-encoding: + - chunked + x-content-type-options: + - nosniff + x-envoy-upstream-service-time: + - '10' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-ai-textanalytics/5.1.0 Python/3.9.0 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1/analyze/jobs/7c0f4350-b4dd-4c26-ba9e-f7655428c5d8 + response: + body: + string: '{"jobId":"7c0f4350-b4dd-4c26-ba9e-f7655428c5d8","lastUpdateDateTime":"2021-06-28T19:23:45Z","createdDateTime":"2021-06-28T19:23:29Z","expirationDateTime":"2021-06-29T19:23:29Z","status":"running","errors":[],"displayName":"NA","tasks":{"completed":0,"failed":0,"inProgress":2,"total":2}}' + headers: + apim-request-id: + - 0816a32e-6e41-45b4-9712-35847668d9a4 + content-type: + - application/json; charset=utf-8 + date: + - Mon, 28 Jun 2021 19:23:45 GMT + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + transfer-encoding: + - chunked + x-content-type-options: + - nosniff + x-envoy-upstream-service-time: + - '2584' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-ai-textanalytics/5.1.0 Python/3.9.0 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1/analyze/jobs/7c0f4350-b4dd-4c26-ba9e-f7655428c5d8 + response: + body: + string: '{"jobId":"7c0f4350-b4dd-4c26-ba9e-f7655428c5d8","lastUpdateDateTime":"2021-06-28T19:23:45Z","createdDateTime":"2021-06-28T19:23:29Z","expirationDateTime":"2021-06-29T19:23:29Z","status":"running","errors":[],"displayName":"NA","tasks":{"completed":0,"failed":0,"inProgress":2,"total":2}}' + headers: + apim-request-id: + - e0ced991-ee08-4ae1-8419-becd4c1eb608 + content-type: + - application/json; charset=utf-8 + date: + - Mon, 28 Jun 2021 19:23:57 GMT + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + transfer-encoding: + - chunked + x-content-type-options: + - nosniff + x-envoy-upstream-service-time: + - '7535' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-ai-textanalytics/5.1.0 Python/3.9.0 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1/analyze/jobs/7c0f4350-b4dd-4c26-ba9e-f7655428c5d8 + response: + body: + string: '{"jobId":"7c0f4350-b4dd-4c26-ba9e-f7655428c5d8","lastUpdateDateTime":"2021-06-28T19:23:45Z","createdDateTime":"2021-06-28T19:23:29Z","expirationDateTime":"2021-06-29T19:23:29Z","status":"running","errors":[],"displayName":"NA","tasks":{"completed":0,"failed":0,"inProgress":2,"total":2}}' + headers: + apim-request-id: + - c0ec87bb-67dd-4d0e-8246-df4c100e6389 + content-type: + - application/json; charset=utf-8 + date: + - Mon, 28 Jun 2021 19:24:03 GMT + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + transfer-encoding: + - chunked + x-content-type-options: + - nosniff + x-envoy-upstream-service-time: + - '11' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-ai-textanalytics/5.1.0 Python/3.9.0 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1/analyze/jobs/7c0f4350-b4dd-4c26-ba9e-f7655428c5d8 + response: + body: + string: '{"jobId":"7c0f4350-b4dd-4c26-ba9e-f7655428c5d8","lastUpdateDateTime":"2021-06-28T19:23:45Z","createdDateTime":"2021-06-28T19:23:29Z","expirationDateTime":"2021-06-29T19:23:29Z","status":"running","errors":[],"displayName":"NA","tasks":{"completed":0,"failed":0,"inProgress":2,"total":2}}' + headers: + apim-request-id: + - 4a534831-af55-48ab-9276-b9a940d434e5 + content-type: + - application/json; charset=utf-8 + date: + - Mon, 28 Jun 2021 19:24:07 GMT + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + transfer-encoding: + - chunked + x-content-type-options: + - nosniff + x-envoy-upstream-service-time: + - '11' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-ai-textanalytics/5.1.0 Python/3.9.0 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1/analyze/jobs/7c0f4350-b4dd-4c26-ba9e-f7655428c5d8 + response: + body: + string: '{"jobId":"7c0f4350-b4dd-4c26-ba9e-f7655428c5d8","lastUpdateDateTime":"2021-06-28T19:23:45Z","createdDateTime":"2021-06-28T19:23:29Z","expirationDateTime":"2021-06-29T19:23:29Z","status":"running","errors":[],"displayName":"NA","tasks":{"completed":0,"failed":0,"inProgress":2,"total":2}}' + headers: + apim-request-id: + - 00846de9-ef34-4288-bc1d-e9d4bd390dbb + content-type: + - application/json; charset=utf-8 + date: + - Mon, 28 Jun 2021 19:24:13 GMT + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + transfer-encoding: + - chunked + x-content-type-options: + - nosniff + x-envoy-upstream-service-time: + - '10' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-ai-textanalytics/5.1.0 Python/3.9.0 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1/analyze/jobs/7c0f4350-b4dd-4c26-ba9e-f7655428c5d8 + response: + body: + string: '{"jobId":"7c0f4350-b4dd-4c26-ba9e-f7655428c5d8","lastUpdateDateTime":"2021-06-28T19:24:18Z","createdDateTime":"2021-06-28T19:23:29Z","expirationDateTime":"2021-06-29T19:23:29Z","status":"running","errors":[],"displayName":"NA","tasks":{"completed":1,"failed":0,"inProgress":1,"total":2,"entityRecognitionPiiTasks":[{"lastUpdateDateTime":"2021-06-28T19:24:18.1203059Z","taskName":"PersonallyIdentifiableInformation_latest","state":"succeeded","results":{"documents":[{"redactedText":"I + did not like the hotel we stayed at.","id":"2","entities":[],"warnings":[]}],"errors":[{"id":"1","error":{"code":"InvalidArgument","message":"Invalid + Language Code.","innererror":{"code":"UnsupportedLanguageCode","message":"Invalid + language code. Supported languages: ja,ko,zh-Hans,de,en,es,fr,it,pt-BR,pt-PT. + For additional details see https://aka.ms/text-analytics/language-support?tabs=named-entity-recognition"}}}],"modelVersion":"2021-01-15"}}]}}' + headers: + apim-request-id: + - 0b9ac807-8b1c-49e8-8db2-5f2e7f228785 + content-type: + - application/json; charset=utf-8 + date: + - Mon, 28 Jun 2021 19:24:25 GMT + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + transfer-encoding: + - chunked + x-content-type-options: + - nosniff + x-envoy-upstream-service-time: + - '7597' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-ai-textanalytics/5.1.0 Python/3.9.0 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1/analyze/jobs/7c0f4350-b4dd-4c26-ba9e-f7655428c5d8 + response: + body: + string: '{"jobId":"7c0f4350-b4dd-4c26-ba9e-f7655428c5d8","lastUpdateDateTime":"2021-06-28T19:24:24Z","createdDateTime":"2021-06-28T19:23:29Z","expirationDateTime":"2021-06-29T19:23:29Z","status":"succeeded","errors":[],"displayName":"NA","tasks":{"completed":2,"failed":0,"inProgress":0,"total":2,"entityRecognitionPiiTasks":[{"lastUpdateDateTime":"2021-06-28T19:24:18.1203059Z","taskName":"PersonallyIdentifiableInformation_latest","state":"succeeded","results":{"documents":[{"redactedText":"I + did not like the hotel we stayed at.","id":"2","entities":[],"warnings":[]}],"errors":[{"id":"1","error":{"code":"InvalidArgument","message":"Invalid + Language Code.","innererror":{"code":"UnsupportedLanguageCode","message":"Invalid + language code. Supported languages: ja,ko,zh-Hans,de,en,es,fr,it,pt-BR,pt-PT. + For additional details see https://aka.ms/text-analytics/language-support?tabs=named-entity-recognition"}}}],"modelVersion":"2021-01-15"}}],"sentimentAnalysisTasks":[{"lastUpdateDateTime":"2021-06-28T19:24:24.9467046Z","taskName":"SentimentAnalysis_latest","state":"succeeded","results":{"documents":[{"id":"1","sentiment":"neutral","confidenceScores":{"positive":0.06,"neutral":0.55,"negative":0.39},"sentences":[{"sentiment":"neutral","confidenceScores":{"positive":0.06,"neutral":0.55,"negative":0.39},"offset":0,"length":38,"text":"I + did not like the hotel we stayed at."}],"warnings":[]},{"id":"2","sentiment":"negative","confidenceScores":{"positive":0.01,"neutral":0.45,"negative":0.54},"sentences":[{"sentiment":"negative","confidenceScores":{"positive":0.01,"neutral":0.45,"negative":0.54},"offset":0,"length":38,"text":"I + did not like the hotel we stayed at."}],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}}]}}' + headers: + apim-request-id: + - fddfbd8f-ea98-4f9d-be0d-2cb941c6a46f + content-type: + - application/json; charset=utf-8 + date: + - Mon, 28 Jun 2021 19:24:31 GMT + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + transfer-encoding: + - chunked + x-content-type-options: + - nosniff + x-envoy-upstream-service-time: + - '119' + status: + code: 200 + message: OK +version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_async.test_partial_success_for_actions.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_async.test_partial_success_for_actions.yaml new file mode 100644 index 000000000000..4e215fbadd23 --- /dev/null +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_analyze_async.test_partial_success_for_actions.yaml @@ -0,0 +1,464 @@ +interactions: +- request: + body: '{"tasks": {"entityRecognitionTasks": [], "entityRecognitionPiiTasks": [{"parameters": + {"model-version": "latest", "loggingOptOut": false, "stringIndexType": "UnicodeCodePoint"}}], + "keyPhraseExtractionTasks": [], "entityLinkingTasks": [], "sentimentAnalysisTasks": + [{"parameters": {"model-version": "latest", "loggingOptOut": false, "opinionMining": + false}}]}, "analysisInput": {"documents": [{"id": "1", "text": "I did not like + the hotel we stayed at.", "language": "tr"}, {"id": "2", "text": "I did not + like the hotel we stayed at.", "language": "en"}]}}' + headers: + Accept: + - application/json, text/json + Content-Length: + - '555' + Content-Type: + - application/json + User-Agent: + - azsdk-python-ai-textanalytics/5.1.0 Python/3.9.0 (Windows-10-10.0.19041-SP0) + method: POST + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1/analyze + response: + body: + string: '' + headers: + apim-request-id: 61226cfa-0306-46b0-b467-eecf42775afb + date: Mon, 28 Jun 2021 19:25:12 GMT + operation-location: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1/analyze/jobs/aa2f2093-1f06-4217-b837-f7ef4b4a6939 + strict-transport-security: max-age=31536000; includeSubDomains; preload + transfer-encoding: chunked + x-content-type-options: nosniff + x-envoy-upstream-service-time: '255' + status: + code: 202 + message: Accepted + url: https://textanalyticskrpratictextanalytics.cognitiveservices.azure.com//text/analytics/v3.1/analyze +- request: + body: null + headers: + User-Agent: + - azsdk-python-ai-textanalytics/5.1.0 Python/3.9.0 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1/analyze/jobs/aa2f2093-1f06-4217-b837-f7ef4b4a6939 + response: + body: + string: '{"jobId":"aa2f2093-1f06-4217-b837-f7ef4b4a6939","lastUpdateDateTime":"2021-06-28T19:25:13Z","createdDateTime":"2021-06-28T19:25:12Z","expirationDateTime":"2021-06-29T19:25:12Z","status":"running","errors":[],"displayName":"NA","tasks":{"completed":0,"failed":0,"inProgress":2,"total":2}}' + headers: + apim-request-id: 21fa727e-a1ef-4d52-b14f-657e8b8e9545 + content-type: application/json; charset=utf-8 + date: Mon, 28 Jun 2021 19:25:17 GMT + strict-transport-security: max-age=31536000; includeSubDomains; preload + transfer-encoding: chunked + x-content-type-options: nosniff + x-envoy-upstream-service-time: '8' + status: + code: 200 + message: OK + url: https://textanalyticskrpratictextanalytics.cognitiveservices.azure.com/text/analytics/v3.1/analyze/jobs/aa2f2093-1f06-4217-b837-f7ef4b4a6939 +- request: + body: null + headers: + User-Agent: + - azsdk-python-ai-textanalytics/5.1.0 Python/3.9.0 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1/analyze/jobs/aa2f2093-1f06-4217-b837-f7ef4b4a6939 + response: + body: + string: '{"jobId":"aa2f2093-1f06-4217-b837-f7ef4b4a6939","lastUpdateDateTime":"2021-06-28T19:25:21Z","createdDateTime":"2021-06-28T19:25:12Z","expirationDateTime":"2021-06-29T19:25:12Z","status":"running","errors":[],"displayName":"NA","tasks":{"completed":0,"failed":0,"inProgress":2,"total":2}}' + headers: + apim-request-id: 9d37b0a2-0614-4da1-97b4-1fd4862d8b9f + content-type: application/json; charset=utf-8 + date: Mon, 28 Jun 2021 19:25:22 GMT + strict-transport-security: max-age=31536000; includeSubDomains; preload + transfer-encoding: chunked + x-content-type-options: nosniff + x-envoy-upstream-service-time: '8' + status: + code: 200 + message: OK + url: https://textanalyticskrpratictextanalytics.cognitiveservices.azure.com/text/analytics/v3.1/analyze/jobs/aa2f2093-1f06-4217-b837-f7ef4b4a6939 +- request: + body: null + headers: + User-Agent: + - azsdk-python-ai-textanalytics/5.1.0 Python/3.9.0 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1/analyze/jobs/aa2f2093-1f06-4217-b837-f7ef4b4a6939 + response: + body: + string: '{"jobId":"aa2f2093-1f06-4217-b837-f7ef4b4a6939","lastUpdateDateTime":"2021-06-28T19:25:21Z","createdDateTime":"2021-06-28T19:25:12Z","expirationDateTime":"2021-06-29T19:25:12Z","status":"running","errors":[],"displayName":"NA","tasks":{"completed":0,"failed":0,"inProgress":2,"total":2}}' + headers: + apim-request-id: e81c373e-c007-46ad-93e6-ebb13efbf1ff + content-type: application/json; charset=utf-8 + date: Mon, 28 Jun 2021 19:25:27 GMT + strict-transport-security: max-age=31536000; includeSubDomains; preload + transfer-encoding: chunked + x-content-type-options: nosniff + x-envoy-upstream-service-time: '8' + status: + code: 200 + message: OK + url: https://textanalyticskrpratictextanalytics.cognitiveservices.azure.com/text/analytics/v3.1/analyze/jobs/aa2f2093-1f06-4217-b837-f7ef4b4a6939 +- request: + body: null + headers: + User-Agent: + - azsdk-python-ai-textanalytics/5.1.0 Python/3.9.0 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1/analyze/jobs/aa2f2093-1f06-4217-b837-f7ef4b4a6939 + response: + body: + string: '{"jobId":"aa2f2093-1f06-4217-b837-f7ef4b4a6939","lastUpdateDateTime":"2021-06-28T19:25:21Z","createdDateTime":"2021-06-28T19:25:12Z","expirationDateTime":"2021-06-29T19:25:12Z","status":"running","errors":[],"displayName":"NA","tasks":{"completed":0,"failed":0,"inProgress":2,"total":2}}' + headers: + apim-request-id: 1afd00f2-e5e5-4e7b-bb03-0314aa1cad81 + content-type: application/json; charset=utf-8 + date: Mon, 28 Jun 2021 19:25:32 GMT + strict-transport-security: max-age=31536000; includeSubDomains; preload + transfer-encoding: chunked + x-content-type-options: nosniff + x-envoy-upstream-service-time: '7' + status: + code: 200 + message: OK + url: https://textanalyticskrpratictextanalytics.cognitiveservices.azure.com/text/analytics/v3.1/analyze/jobs/aa2f2093-1f06-4217-b837-f7ef4b4a6939 +- request: + body: null + headers: + User-Agent: + - azsdk-python-ai-textanalytics/5.1.0 Python/3.9.0 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1/analyze/jobs/aa2f2093-1f06-4217-b837-f7ef4b4a6939 + response: + body: + string: '{"jobId":"aa2f2093-1f06-4217-b837-f7ef4b4a6939","lastUpdateDateTime":"2021-06-28T19:25:34Z","createdDateTime":"2021-06-28T19:25:12Z","expirationDateTime":"2021-06-29T19:25:12Z","status":"running","errors":[],"displayName":"NA","tasks":{"completed":1,"failed":0,"inProgress":1,"total":2,"entityRecognitionPiiTasks":[{"lastUpdateDateTime":"2021-06-28T19:25:34.2634134Z","taskName":"PersonallyIdentifiableInformation_latest","state":"succeeded","results":{"documents":[{"redactedText":"I + did not like the hotel we stayed at.","id":"2","entities":[],"warnings":[]}],"errors":[{"id":"1","error":{"code":"InvalidArgument","message":"Invalid + Language Code.","innererror":{"code":"UnsupportedLanguageCode","message":"Invalid + language code. Supported languages: ja,ko,zh-Hans,de,en,es,fr,it,pt-BR,pt-PT. + For additional details see https://aka.ms/text-analytics/language-support?tabs=named-entity-recognition"}}}],"modelVersion":"2021-01-15"}}]}}' + headers: + apim-request-id: 15384809-ab0f-4140-93c4-00a07625189c + content-type: application/json; charset=utf-8 + date: Mon, 28 Jun 2021 19:25:37 GMT + strict-transport-security: max-age=31536000; includeSubDomains; preload + transfer-encoding: chunked + x-content-type-options: nosniff + x-envoy-upstream-service-time: '65' + status: + code: 200 + message: OK + url: https://textanalyticskrpratictextanalytics.cognitiveservices.azure.com/text/analytics/v3.1/analyze/jobs/aa2f2093-1f06-4217-b837-f7ef4b4a6939 +- request: + body: null + headers: + User-Agent: + - azsdk-python-ai-textanalytics/5.1.0 Python/3.9.0 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1/analyze/jobs/aa2f2093-1f06-4217-b837-f7ef4b4a6939 + response: + body: + string: '{"jobId":"aa2f2093-1f06-4217-b837-f7ef4b4a6939","lastUpdateDateTime":"2021-06-28T19:25:34Z","createdDateTime":"2021-06-28T19:25:12Z","expirationDateTime":"2021-06-29T19:25:12Z","status":"running","errors":[],"displayName":"NA","tasks":{"completed":1,"failed":0,"inProgress":1,"total":2,"entityRecognitionPiiTasks":[{"lastUpdateDateTime":"2021-06-28T19:25:34.2634134Z","taskName":"PersonallyIdentifiableInformation_latest","state":"succeeded","results":{"documents":[{"redactedText":"I + did not like the hotel we stayed at.","id":"2","entities":[],"warnings":[]}],"errors":[{"id":"1","error":{"code":"InvalidArgument","message":"Invalid + Language Code.","innererror":{"code":"UnsupportedLanguageCode","message":"Invalid + language code. Supported languages: ja,ko,zh-Hans,de,en,es,fr,it,pt-BR,pt-PT. + For additional details see https://aka.ms/text-analytics/language-support?tabs=named-entity-recognition"}}}],"modelVersion":"2021-01-15"}}]}}' + headers: + apim-request-id: 3a293ebe-0745-484e-b1ba-0edbc1337e22 + content-type: application/json; charset=utf-8 + date: Mon, 28 Jun 2021 19:25:42 GMT + strict-transport-security: max-age=31536000; includeSubDomains; preload + transfer-encoding: chunked + x-content-type-options: nosniff + x-envoy-upstream-service-time: '71' + status: + code: 200 + message: OK + url: https://textanalyticskrpratictextanalytics.cognitiveservices.azure.com/text/analytics/v3.1/analyze/jobs/aa2f2093-1f06-4217-b837-f7ef4b4a6939 +- request: + body: null + headers: + User-Agent: + - azsdk-python-ai-textanalytics/5.1.0 Python/3.9.0 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1/analyze/jobs/aa2f2093-1f06-4217-b837-f7ef4b4a6939 + response: + body: + string: '{"jobId":"aa2f2093-1f06-4217-b837-f7ef4b4a6939","lastUpdateDateTime":"2021-06-28T19:25:34Z","createdDateTime":"2021-06-28T19:25:12Z","expirationDateTime":"2021-06-29T19:25:12Z","status":"running","errors":[],"displayName":"NA","tasks":{"completed":1,"failed":0,"inProgress":1,"total":2,"entityRecognitionPiiTasks":[{"lastUpdateDateTime":"2021-06-28T19:25:34.2634134Z","taskName":"PersonallyIdentifiableInformation_latest","state":"succeeded","results":{"documents":[{"redactedText":"I + did not like the hotel we stayed at.","id":"2","entities":[],"warnings":[]}],"errors":[{"id":"1","error":{"code":"InvalidArgument","message":"Invalid + Language Code.","innererror":{"code":"UnsupportedLanguageCode","message":"Invalid + language code. Supported languages: ja,ko,zh-Hans,de,en,es,fr,it,pt-BR,pt-PT. + For additional details see https://aka.ms/text-analytics/language-support?tabs=named-entity-recognition"}}}],"modelVersion":"2021-01-15"}}]}}' + headers: + apim-request-id: 1baa9f96-aad2-4904-a1bb-662e55b530af + content-type: application/json; charset=utf-8 + date: Mon, 28 Jun 2021 19:25:48 GMT + strict-transport-security: max-age=31536000; includeSubDomains; preload + transfer-encoding: chunked + x-content-type-options: nosniff + x-envoy-upstream-service-time: '57' + status: + code: 200 + message: OK + url: https://textanalyticskrpratictextanalytics.cognitiveservices.azure.com/text/analytics/v3.1/analyze/jobs/aa2f2093-1f06-4217-b837-f7ef4b4a6939 +- request: + body: null + headers: + User-Agent: + - azsdk-python-ai-textanalytics/5.1.0 Python/3.9.0 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1/analyze/jobs/aa2f2093-1f06-4217-b837-f7ef4b4a6939 + response: + body: + string: '{"jobId":"aa2f2093-1f06-4217-b837-f7ef4b4a6939","lastUpdateDateTime":"2021-06-28T19:25:34Z","createdDateTime":"2021-06-28T19:25:12Z","expirationDateTime":"2021-06-29T19:25:12Z","status":"running","errors":[],"displayName":"NA","tasks":{"completed":1,"failed":0,"inProgress":1,"total":2,"entityRecognitionPiiTasks":[{"lastUpdateDateTime":"2021-06-28T19:25:34.2634134Z","taskName":"PersonallyIdentifiableInformation_latest","state":"succeeded","results":{"documents":[{"redactedText":"I + did not like the hotel we stayed at.","id":"2","entities":[],"warnings":[]}],"errors":[{"id":"1","error":{"code":"InvalidArgument","message":"Invalid + Language Code.","innererror":{"code":"UnsupportedLanguageCode","message":"Invalid + language code. Supported languages: ja,ko,zh-Hans,de,en,es,fr,it,pt-BR,pt-PT. + For additional details see https://aka.ms/text-analytics/language-support?tabs=named-entity-recognition"}}}],"modelVersion":"2021-01-15"}}]}}' + headers: + apim-request-id: 4799f672-496a-4abc-b3b6-79b407872ddb + content-type: application/json; charset=utf-8 + date: Mon, 28 Jun 2021 19:25:53 GMT + strict-transport-security: max-age=31536000; includeSubDomains; preload + transfer-encoding: chunked + x-content-type-options: nosniff + x-envoy-upstream-service-time: '72' + status: + code: 200 + message: OK + url: https://textanalyticskrpratictextanalytics.cognitiveservices.azure.com/text/analytics/v3.1/analyze/jobs/aa2f2093-1f06-4217-b837-f7ef4b4a6939 +- request: + body: null + headers: + User-Agent: + - azsdk-python-ai-textanalytics/5.1.0 Python/3.9.0 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1/analyze/jobs/aa2f2093-1f06-4217-b837-f7ef4b4a6939 + response: + body: + string: '{"jobId":"aa2f2093-1f06-4217-b837-f7ef4b4a6939","lastUpdateDateTime":"2021-06-28T19:25:34Z","createdDateTime":"2021-06-28T19:25:12Z","expirationDateTime":"2021-06-29T19:25:12Z","status":"running","errors":[],"displayName":"NA","tasks":{"completed":1,"failed":0,"inProgress":1,"total":2,"entityRecognitionPiiTasks":[{"lastUpdateDateTime":"2021-06-28T19:25:34.2634134Z","taskName":"PersonallyIdentifiableInformation_latest","state":"succeeded","results":{"documents":[{"redactedText":"I + did not like the hotel we stayed at.","id":"2","entities":[],"warnings":[]}],"errors":[{"id":"1","error":{"code":"InvalidArgument","message":"Invalid + Language Code.","innererror":{"code":"UnsupportedLanguageCode","message":"Invalid + language code. Supported languages: ja,ko,zh-Hans,de,en,es,fr,it,pt-BR,pt-PT. + For additional details see https://aka.ms/text-analytics/language-support?tabs=named-entity-recognition"}}}],"modelVersion":"2021-01-15"}}]}}' + headers: + apim-request-id: 6a579ec0-204d-49e3-87a6-2570d3b20a6e + content-type: application/json; charset=utf-8 + date: Mon, 28 Jun 2021 19:25:58 GMT + strict-transport-security: max-age=31536000; includeSubDomains; preload + transfer-encoding: chunked + x-content-type-options: nosniff + x-envoy-upstream-service-time: '241' + status: + code: 200 + message: OK + url: https://textanalyticskrpratictextanalytics.cognitiveservices.azure.com/text/analytics/v3.1/analyze/jobs/aa2f2093-1f06-4217-b837-f7ef4b4a6939 +- request: + body: null + headers: + User-Agent: + - azsdk-python-ai-textanalytics/5.1.0 Python/3.9.0 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1/analyze/jobs/aa2f2093-1f06-4217-b837-f7ef4b4a6939 + response: + body: + string: '{"jobId":"aa2f2093-1f06-4217-b837-f7ef4b4a6939","lastUpdateDateTime":"2021-06-28T19:25:34Z","createdDateTime":"2021-06-28T19:25:12Z","expirationDateTime":"2021-06-29T19:25:12Z","status":"running","errors":[],"displayName":"NA","tasks":{"completed":1,"failed":0,"inProgress":1,"total":2,"entityRecognitionPiiTasks":[{"lastUpdateDateTime":"2021-06-28T19:25:34.2634134Z","taskName":"PersonallyIdentifiableInformation_latest","state":"succeeded","results":{"documents":[{"redactedText":"I + did not like the hotel we stayed at.","id":"2","entities":[],"warnings":[]}],"errors":[{"id":"1","error":{"code":"InvalidArgument","message":"Invalid + Language Code.","innererror":{"code":"UnsupportedLanguageCode","message":"Invalid + language code. Supported languages: ja,ko,zh-Hans,de,en,es,fr,it,pt-BR,pt-PT. + For additional details see https://aka.ms/text-analytics/language-support?tabs=named-entity-recognition"}}}],"modelVersion":"2021-01-15"}}]}}' + headers: + apim-request-id: 6d6b9964-8389-46a9-adcc-692e0c2ae6e8 + content-type: application/json; charset=utf-8 + date: Mon, 28 Jun 2021 19:26:03 GMT + strict-transport-security: max-age=31536000; includeSubDomains; preload + transfer-encoding: chunked + x-content-type-options: nosniff + x-envoy-upstream-service-time: '63' + status: + code: 200 + message: OK + url: https://textanalyticskrpratictextanalytics.cognitiveservices.azure.com/text/analytics/v3.1/analyze/jobs/aa2f2093-1f06-4217-b837-f7ef4b4a6939 +- request: + body: null + headers: + User-Agent: + - azsdk-python-ai-textanalytics/5.1.0 Python/3.9.0 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1/analyze/jobs/aa2f2093-1f06-4217-b837-f7ef4b4a6939 + response: + body: + string: '{"jobId":"aa2f2093-1f06-4217-b837-f7ef4b4a6939","lastUpdateDateTime":"2021-06-28T19:25:34Z","createdDateTime":"2021-06-28T19:25:12Z","expirationDateTime":"2021-06-29T19:25:12Z","status":"running","errors":[],"displayName":"NA","tasks":{"completed":1,"failed":0,"inProgress":1,"total":2,"entityRecognitionPiiTasks":[{"lastUpdateDateTime":"2021-06-28T19:25:34.2634134Z","taskName":"PersonallyIdentifiableInformation_latest","state":"succeeded","results":{"documents":[{"redactedText":"I + did not like the hotel we stayed at.","id":"2","entities":[],"warnings":[]}],"errors":[{"id":"1","error":{"code":"InvalidArgument","message":"Invalid + Language Code.","innererror":{"code":"UnsupportedLanguageCode","message":"Invalid + language code. Supported languages: ja,ko,zh-Hans,de,en,es,fr,it,pt-BR,pt-PT. + For additional details see https://aka.ms/text-analytics/language-support?tabs=named-entity-recognition"}}}],"modelVersion":"2021-01-15"}}]}}' + headers: + apim-request-id: 7d914371-eeb7-4726-a41a-9f0293b42ea2 + content-type: application/json; charset=utf-8 + date: Mon, 28 Jun 2021 19:26:08 GMT + strict-transport-security: max-age=31536000; includeSubDomains; preload + transfer-encoding: chunked + x-content-type-options: nosniff + x-envoy-upstream-service-time: '103' + status: + code: 200 + message: OK + url: https://textanalyticskrpratictextanalytics.cognitiveservices.azure.com/text/analytics/v3.1/analyze/jobs/aa2f2093-1f06-4217-b837-f7ef4b4a6939 +- request: + body: null + headers: + User-Agent: + - azsdk-python-ai-textanalytics/5.1.0 Python/3.9.0 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1/analyze/jobs/aa2f2093-1f06-4217-b837-f7ef4b4a6939 + response: + body: + string: '{"jobId":"aa2f2093-1f06-4217-b837-f7ef4b4a6939","lastUpdateDateTime":"2021-06-28T19:25:34Z","createdDateTime":"2021-06-28T19:25:12Z","expirationDateTime":"2021-06-29T19:25:12Z","status":"running","errors":[],"displayName":"NA","tasks":{"completed":1,"failed":0,"inProgress":1,"total":2,"entityRecognitionPiiTasks":[{"lastUpdateDateTime":"2021-06-28T19:25:34.2634134Z","taskName":"PersonallyIdentifiableInformation_latest","state":"succeeded","results":{"documents":[{"redactedText":"I + did not like the hotel we stayed at.","id":"2","entities":[],"warnings":[]}],"errors":[{"id":"1","error":{"code":"InvalidArgument","message":"Invalid + Language Code.","innererror":{"code":"UnsupportedLanguageCode","message":"Invalid + language code. Supported languages: ja,ko,zh-Hans,de,en,es,fr,it,pt-BR,pt-PT. + For additional details see https://aka.ms/text-analytics/language-support?tabs=named-entity-recognition"}}}],"modelVersion":"2021-01-15"}}]}}' + headers: + apim-request-id: 341dba88-86f5-46f9-a602-0a5063c60aa5 + content-type: application/json; charset=utf-8 + date: Mon, 28 Jun 2021 19:26:13 GMT + strict-transport-security: max-age=31536000; includeSubDomains; preload + transfer-encoding: chunked + x-content-type-options: nosniff + x-envoy-upstream-service-time: '71' + status: + code: 200 + message: OK + url: https://textanalyticskrpratictextanalytics.cognitiveservices.azure.com/text/analytics/v3.1/analyze/jobs/aa2f2093-1f06-4217-b837-f7ef4b4a6939 +- request: + body: null + headers: + User-Agent: + - azsdk-python-ai-textanalytics/5.1.0 Python/3.9.0 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1/analyze/jobs/aa2f2093-1f06-4217-b837-f7ef4b4a6939 + response: + body: + string: '{"jobId":"aa2f2093-1f06-4217-b837-f7ef4b4a6939","lastUpdateDateTime":"2021-06-28T19:25:34Z","createdDateTime":"2021-06-28T19:25:12Z","expirationDateTime":"2021-06-29T19:25:12Z","status":"running","errors":[],"displayName":"NA","tasks":{"completed":1,"failed":0,"inProgress":1,"total":2,"entityRecognitionPiiTasks":[{"lastUpdateDateTime":"2021-06-28T19:25:34.2634134Z","taskName":"PersonallyIdentifiableInformation_latest","state":"succeeded","results":{"documents":[{"redactedText":"I + did not like the hotel we stayed at.","id":"2","entities":[],"warnings":[]}],"errors":[{"id":"1","error":{"code":"InvalidArgument","message":"Invalid + Language Code.","innererror":{"code":"UnsupportedLanguageCode","message":"Invalid + language code. Supported languages: ja,ko,zh-Hans,de,en,es,fr,it,pt-BR,pt-PT. + For additional details see https://aka.ms/text-analytics/language-support?tabs=named-entity-recognition"}}}],"modelVersion":"2021-01-15"}}]}}' + headers: + apim-request-id: 70ed833f-890d-40cd-b36d-86973097c581 + content-type: application/json; charset=utf-8 + date: Mon, 28 Jun 2021 19:26:19 GMT + strict-transport-security: max-age=31536000; includeSubDomains; preload + transfer-encoding: chunked + x-content-type-options: nosniff + x-envoy-upstream-service-time: '58' + status: + code: 200 + message: OK + url: https://textanalyticskrpratictextanalytics.cognitiveservices.azure.com/text/analytics/v3.1/analyze/jobs/aa2f2093-1f06-4217-b837-f7ef4b4a6939 +- request: + body: null + headers: + User-Agent: + - azsdk-python-ai-textanalytics/5.1.0 Python/3.9.0 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1/analyze/jobs/aa2f2093-1f06-4217-b837-f7ef4b4a6939 + response: + body: + string: '{"jobId":"aa2f2093-1f06-4217-b837-f7ef4b4a6939","lastUpdateDateTime":"2021-06-28T19:25:34Z","createdDateTime":"2021-06-28T19:25:12Z","expirationDateTime":"2021-06-29T19:25:12Z","status":"running","errors":[],"displayName":"NA","tasks":{"completed":1,"failed":0,"inProgress":1,"total":2,"entityRecognitionPiiTasks":[{"lastUpdateDateTime":"2021-06-28T19:25:34.2634134Z","taskName":"PersonallyIdentifiableInformation_latest","state":"succeeded","results":{"documents":[{"redactedText":"I + did not like the hotel we stayed at.","id":"2","entities":[],"warnings":[]}],"errors":[{"id":"1","error":{"code":"InvalidArgument","message":"Invalid + Language Code.","innererror":{"code":"UnsupportedLanguageCode","message":"Invalid + language code. Supported languages: ja,ko,zh-Hans,de,en,es,fr,it,pt-BR,pt-PT. + For additional details see https://aka.ms/text-analytics/language-support?tabs=named-entity-recognition"}}}],"modelVersion":"2021-01-15"}}]}}' + headers: + apim-request-id: 7c68562e-cb1a-428a-a298-f78b434f014f + content-type: application/json; charset=utf-8 + date: Mon, 28 Jun 2021 19:26:24 GMT + strict-transport-security: max-age=31536000; includeSubDomains; preload + transfer-encoding: chunked + x-content-type-options: nosniff + x-envoy-upstream-service-time: '77' + status: + code: 200 + message: OK + url: https://textanalyticskrpratictextanalytics.cognitiveservices.azure.com/text/analytics/v3.1/analyze/jobs/aa2f2093-1f06-4217-b837-f7ef4b4a6939 +- request: + body: null + headers: + User-Agent: + - azsdk-python-ai-textanalytics/5.1.0 Python/3.9.0 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1/analyze/jobs/aa2f2093-1f06-4217-b837-f7ef4b4a6939 + response: + body: + string: '{"jobId":"aa2f2093-1f06-4217-b837-f7ef4b4a6939","lastUpdateDateTime":"2021-06-28T19:25:34Z","createdDateTime":"2021-06-28T19:25:12Z","expirationDateTime":"2021-06-29T19:25:12Z","status":"running","errors":[],"displayName":"NA","tasks":{"completed":1,"failed":0,"inProgress":1,"total":2,"entityRecognitionPiiTasks":[{"lastUpdateDateTime":"2021-06-28T19:25:34.2634134Z","taskName":"PersonallyIdentifiableInformation_latest","state":"succeeded","results":{"documents":[{"redactedText":"I + did not like the hotel we stayed at.","id":"2","entities":[],"warnings":[]}],"errors":[{"id":"1","error":{"code":"InvalidArgument","message":"Invalid + Language Code.","innererror":{"code":"UnsupportedLanguageCode","message":"Invalid + language code. Supported languages: ja,ko,zh-Hans,de,en,es,fr,it,pt-BR,pt-PT. + For additional details see https://aka.ms/text-analytics/language-support?tabs=named-entity-recognition"}}}],"modelVersion":"2021-01-15"}}]}}' + headers: + apim-request-id: 8aed1d3f-34b7-46ef-8349-78667ce43f79 + content-type: application/json; charset=utf-8 + date: Mon, 28 Jun 2021 19:26:29 GMT + strict-transport-security: max-age=31536000; includeSubDomains; preload + transfer-encoding: chunked + x-content-type-options: nosniff + x-envoy-upstream-service-time: '51' + status: + code: 200 + message: OK + url: https://textanalyticskrpratictextanalytics.cognitiveservices.azure.com/text/analytics/v3.1/analyze/jobs/aa2f2093-1f06-4217-b837-f7ef4b4a6939 +- request: + body: null + headers: + User-Agent: + - azsdk-python-ai-textanalytics/5.1.0 Python/3.9.0 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1/analyze/jobs/aa2f2093-1f06-4217-b837-f7ef4b4a6939 + response: + body: + string: '{"jobId":"aa2f2093-1f06-4217-b837-f7ef4b4a6939","lastUpdateDateTime":"2021-06-28T19:25:34Z","createdDateTime":"2021-06-28T19:25:12Z","expirationDateTime":"2021-06-29T19:25:12Z","status":"running","errors":[],"displayName":"NA","tasks":{"completed":1,"failed":0,"inProgress":1,"total":2,"entityRecognitionPiiTasks":[{"lastUpdateDateTime":"2021-06-28T19:25:34.2634134Z","taskName":"PersonallyIdentifiableInformation_latest","state":"succeeded","results":{"documents":[{"redactedText":"I + did not like the hotel we stayed at.","id":"2","entities":[],"warnings":[]}],"errors":[{"id":"1","error":{"code":"InvalidArgument","message":"Invalid + Language Code.","innererror":{"code":"UnsupportedLanguageCode","message":"Invalid + language code. Supported languages: ja,ko,zh-Hans,de,en,es,fr,it,pt-BR,pt-PT. + For additional details see https://aka.ms/text-analytics/language-support?tabs=named-entity-recognition"}}}],"modelVersion":"2021-01-15"}}]}}' + headers: + apim-request-id: d2e0a9a8-bd41-40cb-b650-79f3221f21b0 + content-type: application/json; charset=utf-8 + date: Mon, 28 Jun 2021 19:26:34 GMT + strict-transport-security: max-age=31536000; includeSubDomains; preload + transfer-encoding: chunked + x-content-type-options: nosniff + x-envoy-upstream-service-time: '54' + status: + code: 200 + message: OK + url: https://textanalyticskrpratictextanalytics.cognitiveservices.azure.com/text/analytics/v3.1/analyze/jobs/aa2f2093-1f06-4217-b837-f7ef4b4a6939 +- request: + body: null + headers: + User-Agent: + - azsdk-python-ai-textanalytics/5.1.0 Python/3.9.0 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1/analyze/jobs/aa2f2093-1f06-4217-b837-f7ef4b4a6939 + response: + body: + string: '{"jobId":"aa2f2093-1f06-4217-b837-f7ef4b4a6939","lastUpdateDateTime":"2021-06-28T19:26:35Z","createdDateTime":"2021-06-28T19:25:12Z","expirationDateTime":"2021-06-29T19:25:12Z","status":"succeeded","errors":[],"displayName":"NA","tasks":{"completed":2,"failed":0,"inProgress":0,"total":2,"entityRecognitionPiiTasks":[{"lastUpdateDateTime":"2021-06-28T19:25:34.2634134Z","taskName":"PersonallyIdentifiableInformation_latest","state":"succeeded","results":{"documents":[{"redactedText":"I + did not like the hotel we stayed at.","id":"2","entities":[],"warnings":[]}],"errors":[{"id":"1","error":{"code":"InvalidArgument","message":"Invalid + Language Code.","innererror":{"code":"UnsupportedLanguageCode","message":"Invalid + language code. Supported languages: ja,ko,zh-Hans,de,en,es,fr,it,pt-BR,pt-PT. + For additional details see https://aka.ms/text-analytics/language-support?tabs=named-entity-recognition"}}}],"modelVersion":"2021-01-15"}}],"sentimentAnalysisTasks":[{"lastUpdateDateTime":"2021-06-28T19:26:35.6132719Z","taskName":"SentimentAnalysis_latest","state":"succeeded","results":{"documents":[{"id":"1","sentiment":"neutral","confidenceScores":{"positive":0.06,"neutral":0.55,"negative":0.39},"sentences":[{"sentiment":"neutral","confidenceScores":{"positive":0.06,"neutral":0.55,"negative":0.39},"offset":0,"length":38,"text":"I + did not like the hotel we stayed at."}],"warnings":[]},{"id":"2","sentiment":"negative","confidenceScores":{"positive":0.01,"neutral":0.45,"negative":0.54},"sentences":[{"sentiment":"negative","confidenceScores":{"positive":0.01,"neutral":0.45,"negative":0.54},"offset":0,"length":38,"text":"I + did not like the hotel we stayed at."}],"warnings":[]}],"errors":[],"modelVersion":"2020-04-01"}}]}}' + headers: + apim-request-id: 723a8429-eca1-4b75-8e7a-ce307d921c39 + content-type: application/json; charset=utf-8 + date: Mon, 28 Jun 2021 19:26:39 GMT + strict-transport-security: max-age=31536000; includeSubDomains; preload + transfer-encoding: chunked + x-content-type-options: nosniff + x-envoy-upstream-service-time: '117' + status: + code: 200 + message: OK + url: https://textanalyticskrpratictextanalytics.cognitiveservices.azure.com/text/analytics/v3.1/analyze/jobs/aa2f2093-1f06-4217-b837-f7ef4b4a6939 +version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/test_analyze.py b/sdk/textanalytics/azure-ai-textanalytics/tests/test_analyze.py index a31bc3505bdd..80f09e4aae31 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/test_analyze.py +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/test_analyze.py @@ -708,3 +708,57 @@ def test_pii_action_categories_filter(self, client): assert action_results[1][0].entities[0].text == "111000025" assert action_results[1][0].entities[0].category == PiiEntityCategory.ABA_ROUTING_NUMBER assert action_results[2][0].entities == [] # No Brazilian CPF since not in categories_filter + + @TextAnalyticsPreparer() + @TextAnalyticsClientPreparer() + def test_partial_success_for_actions(self, client): + docs = [{"id": "1", "language": "tr", "text": "I did not like the hotel we stayed at."}, + {"id": "2", "language": "en", "text": "I did not like the hotel we stayed at."}] + + response = client.begin_analyze_actions( + docs, + actions=[ + AnalyzeSentimentAction(), + RecognizePiiEntitiesAction(), + ], + polling_interval=self._interval(), + ).result() + + action_results = list(response) + assert len(action_results) == len(docs) + action_order = [ + _AnalyzeActionsType.ANALYZE_SENTIMENT, + _AnalyzeActionsType.RECOGNIZE_PII_ENTITIES, + ] + + assert len(action_results[0]) == len(action_order) + assert len(action_results[1]) == len(action_order) + + # first doc + assert isinstance(action_results[0][0], AnalyzeSentimentResult) + assert action_results[0][0].id == "1" + assert action_results[0][1].is_error + assert action_results[0][1].id == "1" + + # second doc + assert isinstance(action_results[1][0], AnalyzeSentimentResult) + assert action_results[1][0].id == "2" + assert isinstance(action_results[1][1], RecognizePiiEntitiesResult) + assert action_results[1][1].id == "2" + + @TextAnalyticsPreparer() + @TextAnalyticsClientPreparer() + def test_multiple_of_same_action_fail(self, client): + docs = [{"id": "1", "language": "en", "text": "I did not like the hotel we stayed at."}, + {"id": "2", "language": "en", "text": "I did not like the hotel we stayed at."}] + + with pytest.raises(ValueError) as e: + client.begin_analyze_actions( + docs, + actions=[ + RecognizePiiEntitiesAction(domain_filter="phi"), + RecognizePiiEntitiesAction(), + ], + polling_interval=self._interval(), + ).result() + assert "Multiple of the same action is not currently supported." in str(e.value) diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/test_analyze_async.py b/sdk/textanalytics/azure-ai-textanalytics/tests/test_analyze_async.py index 51eb588ecabf..c46b4c7a0b7c 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/test_analyze_async.py +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/test_analyze_async.py @@ -745,3 +745,60 @@ async def test_pii_action_categories_filter(self, client): assert action_results[1][0].entities[0].text == "111000025" assert action_results[1][0].entities[0].category == PiiEntityCategory.ABA_ROUTING_NUMBER assert action_results[2][0].entities == [] # No Brazilian CPF since not in categories_filter + + @TextAnalyticsPreparer() + @TextAnalyticsClientPreparer() + async def test_partial_success_for_actions(self, client): + docs = [{"id": "1", "language": "tr", "text": "I did not like the hotel we stayed at."}, + {"id": "2", "language": "en", "text": "I did not like the hotel we stayed at."}] + + async with client: + response = await (await client.begin_analyze_actions( + docs, + actions=[ + AnalyzeSentimentAction(), + RecognizePiiEntitiesAction(), + ], + polling_interval=self._interval(), + )).result() + + action_results = [] + async for p in response: + action_results.append(p) + assert len(action_results) == len(docs) + action_order = [ + _AnalyzeActionsType.ANALYZE_SENTIMENT, + _AnalyzeActionsType.RECOGNIZE_PII_ENTITIES, + ] + + assert len(action_results[0]) == len(action_order) + assert len(action_results[1]) == len(action_order) + + # first doc + assert isinstance(action_results[0][0], AnalyzeSentimentResult) + assert action_results[0][0].id == "1" + assert action_results[0][1].is_error + assert action_results[0][1].id == "1" + + # second doc + assert isinstance(action_results[1][0], AnalyzeSentimentResult) + assert action_results[1][0].id == "2" + assert isinstance(action_results[1][1], RecognizePiiEntitiesResult) + assert action_results[1][1].id == "2" + + @TextAnalyticsPreparer() + @TextAnalyticsClientPreparer() + async def test_multiple_of_same_action_fail(self, client): + docs = [{"id": "1", "language": "en", "text": "I did not like the hotel we stayed at."}, + {"id": "2", "language": "en", "text": "I did not like the hotel we stayed at."}] + + with pytest.raises(ValueError) as e: + await client.begin_analyze_actions( + docs, + actions=[ + RecognizePiiEntitiesAction(domain_filter="phi"), + RecognizePiiEntitiesAction(), + ], + polling_interval=self._interval(), + ) + assert "Multiple of the same action is not currently supported." in str(e.value)