Skip to content

Commit

Permalink
Update from master
Browse files Browse the repository at this point in the history
  • Loading branch information
SDK Automation committed Jun 3, 2020
1 parent e924eaf commit 5ff948f
Show file tree
Hide file tree
Showing 5 changed files with 64 additions and 121 deletions.
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
The MIT License (MIT)

Copyright (c) 2019 Microsoft
Copyright (c) 2020 Microsoft

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
161 changes: 55 additions & 106 deletions sdk/cognitiveservices/cognitiveservices-textanalytics/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,140 +17,89 @@ npm install @azure/cognitiveservices-textanalytics

#### nodejs - Authentication, client creation and detectLanguage as an example written in TypeScript.

##### Install @azure/ms-rest-azure-js
##### Install @azure/ms-rest-nodeauth

- Please install minimum version of `"@azure/ms-rest-nodeauth": "^3.0.0"`.
```bash
npm install @azure/ms-rest-azure-js
npm install @azure/ms-rest-nodeauth@"^3.0.0"
```

##### Sample code
The following sample detects the langauge in the provided text. In addition, it provides data such as Characters count, transaction count, etc. To know more, refer to the [Azure Documentation on Text Analytics](https://docs.microsoft.com/en-us/azure/cognitive-services/text-analytics/overview)

```typescript
import {
TextAnalyticsClient,
TextAnalyticsModels
} from "@azure/cognitiveservices-textanalytics";
import { CognitiveServicesCredentials } from "@azure/ms-rest-azure-js";

async function main(): Promise<void> {
const textAnalyticsKey =
process.env["textAnalyticsKey"] || "<textAnalyticsKey>";
const textAnalyticsEndPoint =
process.env["textAnalyticsEndPoint"] || "<textAnalyticsEndPoint>";
const cognitiveServiceCredentials = new CognitiveServicesCredentials(
textAnalyticsKey
);
const client = new TextAnalyticsClient(
cognitiveServiceCredentials,
textAnalyticsEndPoint
);
const options: TextAnalyticsModels.TextAnalyticsClientDetectLanguageOptionalParams = {
showStats: true,
languageBatchInput: {
documents: [
{
id: "1",
text: "Sample Text"
},
{
id: "2",
text: "Texto de ejemplo"
}
]
}
import * as msRest from "@azure/ms-rest-js";
import * as msRestNodeAuth from "@azure/ms-rest-nodeauth";
import { TextAnalyticsClient, TextAnalyticsModels, TextAnalyticsMappers } from "@azure/cognitiveservices-textanalytics";
const subscriptionId = process.env["AZURE_SUBSCRIPTION_ID"];

msRestNodeAuth.interactiveLogin().then((creds) => {
const client = new TextAnalyticsClient(creds, subscriptionId);
const showStats = true;
const languageBatchInput: TextAnalyticsModels.LanguageBatchInput = {
documents: [{
countryHint: "testcountryHint",
id: "testid",
text: "testtext"
}]
};
client
.detectLanguage(options)
.then(result => {
console.log("The result is:");
result.documents!.forEach(document => {
console.log(`Id: ${document.id}`);
console.log("Detected Languages:");
document.detectedLanguages!.forEach(dl => {
console.log(dl.name);
});
console.log(
`Characters Count: ${document.statistics!.charactersCount}`
);
console.log(
`Transactions Count: ${document.statistics!.transactionsCount}`
);
});
})
.catch(err => {
console.log("An error occurred:");
console.error(err);
});
}

main();

client.detectLanguage(showStats, languageBatchInput).then((result) => {
console.log("The result is:");
console.log(result);
});
}).catch((err) => {
console.error(err);
});
```

#### browser - Authentication, client creation and detectLanguage as an example written in JavaScript.

##### Install @azure/ms-rest-browserauth

```bash
npm install @azure/ms-rest-browserauth
```

##### Sample code

See https://github.com/Azure/ms-rest-browserauth to learn how to authenticate to Azure in the browser.

- index.html
```html
<!DOCTYPE html>
<html lang="en">
<head>
<title>@azure/cognitiveservices-textanalytics sample</title>
<script src="node_modules/@azure/ms-rest-js/dist/msRest.browser.js"></script>
<script src="node_modules/@azure/ms-rest-browserauth/dist/msAuth.js"></script>
<script src="node_modules/@azure/cognitiveservices-textanalytics/dist/cognitiveservices-textanalytics.js"></script>
<script type="text/javascript">
const textAnalyticsKey = "<YOUR_TEXT_ANALYTICS_KEY>";
const textAnalyticsEndPoint = "<YOUR_TEXT_ANALYTICS_ENDPOINT>";
const cognitiveServiceCredentials = new msRest.ApiKeyCredentials({
inHeader: {
"Ocp-Apim-Subscription-Key": textAnalyticsKey
}
const subscriptionId = "<Subscription_Id>";
const authManager = new msAuth.AuthManager({
clientId: "<client id for your Azure AD app>",
tenant: "<optional tenant for your organization>"
});
const client = new Azure.CognitiveservicesTextanalytics.TextAnalyticsClient(
cognitiveServiceCredentials,
textAnalyticsEndPoint
);
const options = {
showStats: true,
languageBatchInput: {
documents: [
{
id: "1",
text: "Sample Text"
},
{
id: "2",
text: "Texto de ejemplo"
}
]
authManager.finalizeLogin().then((res) => {
if (!res.isLoggedIn) {
// may cause redirects
authManager.login();
}
};
client
.detectLanguage(options)
.then(result => {
const client = new Azure.CognitiveservicesTextanalytics.TextAnalyticsClient(res.creds, subscriptionId);
const showStats = true;
const languageBatchInput = {
documents: [{
countryHint: "testcountryHint",
id: "testid",
text: "testtext"
}]
};
client.detectLanguage(showStats, languageBatchInput).then((result) => {
console.log("The result is:");
result.documents.forEach(document => {
console.log(`Id: ${document.id}`);
console.log("Detected Languages:");
document.detectedLanguages.forEach(dl => {
console.log(dl.name);
});
console.log(
`Characters Count: ${document.statistics.charactersCount}`
);
console.log(
`Transactions Count: ${document.statistics.transactionsCount}`
);
});
})
.catch(err => {
console.log(result);
}).catch((err) => {
console.log("An error occurred:");
console.error(err);
});
});
</script>
</head>
<body></body>
Expand All @@ -161,4 +110,4 @@ main();

- [Microsoft Azure SDK for Javascript](https://github.com/Azure/azure-sdk-for-js)

![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-js%2Fsdk%2Fcognitiveservices%2Fcognitiveservices-textanalytics%2FREADME.png)
![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-js/sdk/cognitiveservices/cognitiveservices-textanalytics/README.png)
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
"devDependencies": {
"typescript": "^3.5.3",
"rollup": "^1.18.0",
"@rollup/plugin-node-resolve": "^5.2.0",
"rollup-plugin-node-resolve": "^5.2.0",
"rollup-plugin-sourcemaps": "^0.4.2",
"uglify-js": "^3.6.0"
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -499,12 +499,7 @@ export type KeyPhrasesResponse = KeyPhraseBatchResult & {
/**
* Contains response data for the sentiment operation.
*/
export type SentimentResponse = {
/**
* The parsed response body.
*/
body: any;

export type SentimentResponse = SentimentBatchResult & {
/**
* The underlying HTTP response.
*/
Expand All @@ -517,6 +512,6 @@ export type SentimentResponse = {
/**
* The response body as parsed JSON or XML
*/
parsedBody: any;
parsedBody: SentimentBatchResult;
};
};
Original file line number Diff line number Diff line change
Expand Up @@ -122,13 +122,13 @@ class TextAnalyticsClient extends TextAnalyticsClientContext {
/**
* @param callback The callback
*/
sentiment(callback: msRest.ServiceCallback<any>): void;
sentiment(callback: msRest.ServiceCallback<Models.SentimentBatchResult>): void;
/**
* @param options The optional parameters
* @param callback The callback
*/
sentiment(options: Models.TextAnalyticsClientSentimentOptionalParams, callback: msRest.ServiceCallback<any>): void;
sentiment(options?: Models.TextAnalyticsClientSentimentOptionalParams | msRest.ServiceCallback<any>, callback?: msRest.ServiceCallback<any>): Promise<Models.SentimentResponse> {
sentiment(options: Models.TextAnalyticsClientSentimentOptionalParams, callback: msRest.ServiceCallback<Models.SentimentBatchResult>): void;
sentiment(options?: Models.TextAnalyticsClientSentimentOptionalParams | msRest.ServiceCallback<Models.SentimentBatchResult>, callback?: msRest.ServiceCallback<Models.SentimentBatchResult>): Promise<Models.SentimentResponse> {
return this.sendOperationRequest(
{
options
Expand Down Expand Up @@ -241,10 +241,9 @@ const sentimentOperationSpec: msRest.OperationSpec = {
200: {
bodyMapper: Mappers.SentimentBatchResult
},
500: {
default: {
bodyMapper: Mappers.ErrorResponse
},
default: {}
}
},
serializer
};
Expand Down

0 comments on commit 5ff948f

Please sign in to comment.