Conecte-se à API de Serviços de Mídia v3 - Node.js
Aviso
Os Serviços de Mídia do Azure serão desativados em 30 de junho de 2024. Para obter mais informações, consulte o Guia de Desativação do AMS.
Este artigo mostra como se conectar ao SDK do node.js dos Serviços de Mídia do Azure v3 usando o método de entrada da entidade de serviço. Você trabalhará com arquivos no repositório de exemplos media-services-v3-node-tutorials. O exemplo HelloWorld-ListAssets contém o código para a conexão e lista os Ativos na conta.
Pré-requisitos
- Uma instalação do Visual Studio Code.
- Instale o Node.js.
- Instale o TypeScript.
- Crie uma conta de Serviços de Mídia. Lembre-se do nome do grupo de recursos e da conta dos Serviços de Mídia.
- Crie uma entidade de serviço para seu aplicativo. Confira Acessar as APIs.
Dica de profissional. Mantenha essa janela aberta ou copie tudo na guia JSON para o bloco de notas. - Certifique-se de obter a versão mais recente do SDK do AzureMediaServices para JavaScript.
Importante
Examine as convenções de nomenclatura dos Serviços de Mídia do Azure para entender as principais restrições de nomenclatura em entidades.
Clonar o repositório de exemplos do Node.JS
Você trabalhará com alguns arquivos nos Exemplos do Azure. Clone o repositório de exemplos do Node.JS.
git clone https://github.com/Azure-Samples/media-services-v3-node-tutorials.git
Instalar os pacotes do Node.js
Instalar @azure/arm-mediaservices
npm install @azure/arm-mediaservices
Para este exemplo, você usará os seguintes pacotes no arquivo package.json
.
Pacote | Descrição |
---|---|
@azure/arm-mediaservices |
SDK dos Serviços de Mídia do Azure. Para verificar se você está usando o pacote mais recente dos Serviços de Mídia do Azure, verifique a npm install @azure/arm-mediaservices. |
@azure/identity |
Necessário para autenticação do Azure AD usando a Entidade de Serviço ou Identidade Gerenciada |
@azure/storage-blob |
SDK de armazenamento. Usado ao carregar arquivos nos ativos. |
@azure/abort-controller |
Usado junto com o cliente de armazenamento para atingir o tempo limite de operações de download de execução prolongada |
Criar o arquivo package.json
- Crie um arquivo
package.json
usando seu editor favorito. - Abra o arquivo e cole o seguinte código:
{
"name": "media-services-node-sample",
"version": "0.1.0",
"description": "",
"main": "./index.ts",
"dependencies": {
"@azure/arm-mediaservices": "^10.0.0",
"@azure/abort-controller": "^1.0.2",
"@azure/identity": "^2.0.0",
"@azure/storage-blob": "^12.4.0"
}
}
Conectar ao cliente Node.js usando o TypeScript
Exemplo de arquivo .env
Você manterá os valores de autenticação em um arquivo chamado .env. (Isso mesmo, sem nome de arquivo, apenas a extensão.) Leia Acessar a API para saber como obter e copiar esses valores. Você pode obter os valores na página de acesso à API para sua conta dos Serviços de Mídia no portal ou usar a CLI para obter os valores necessários.
Copie e cole os valores em um arquivo chamado .env. O arquivo deve ser armazenado na raiz do repositório de trabalho.
Depois de criar o arquivo .env, você pode começar a trabalhar com os exemplos.
Executar o aplicativo de exemplo HelloWorld-ListAssets
- Iniciar o Visual Studio Code da pasta raiz.
cd media-services-v3-node-tutorials
code .
- Instalar os pacotes usados no arquivo packages.json por meio de um Terminal
npm install
Faça uma cópia do arquivo sample.env, renomeie-o para .env e atualize os valores no arquivo para que correspondam às informações de conta e de assinatura. Talvez seja necessário reunir essas informações no portal do Azure primeiro.
Alterar o diretório na pasta HelloWorld-ListAssets
cd HelloWorld-ListAssets
- Abra o arquivo list-assets.ts na pasta HelloWorld-ListAssets e pressione a tecla F5 no código Visual Studio para começar a executar o script. Você deverá ver uma lista de ativos exibida se já tiver ativos na conta. Se a conta estiver vazia, você verá uma lista vazia.
Para ver rapidamente os ativos listados, use o portal para carregar alguns arquivos de vídeo. Cada um dos ativos serão criados automaticamente e executar novamente esse script retornará os nomes.
Uma análise mais detalhada do exemplo HelloWorld-ListAssets
O exemplo HelloWorld-ListAssets mostra como se conectar ao cliente dos Serviços de Mídia com uma Entidade de Serviço e listar os Ativos na conta. Confira os comentários no código para obter uma explicação detalhada do que ele faz.
import { DefaultAzureCredential } from "@azure/identity";
import {
AzureMediaServices
} from '@azure/arm-mediaservices';
// Load the .env file if it exists
import * as dotenv from "dotenv";
dotenv.config();
export async function main() {
// Copy the samples.env file and rename it to .env first, then populate it's values with the values obtained
// from your Media Services account's API Access page in the Azure portal.
const clientId: string = process.env.AADCLIENTID as string;
const secret: string = process.env.AADSECRET as string;
const tenantDomain: string = process.env.AADTENANTDOMAIN as string;
const subscriptionId: string = process.env.SUBSCRIPTIONID as string;
const resourceGroup: string = process.env.RESOURCEGROUP as string;
const accountName: string = process.env.ACCOUNTNAME as string;
// This sample uses the default Azure Credential object, which relies on the environment variable settings.
// If you wish to use User assigned managed identity, see the samples for v2 of @azure/identity
// Managed identity authentication is supported via either the DefaultAzureCredential or the ManagedIdentityCredential classes
// https://learn.microsoft.com/javascript/api/overview/azure/identity-readme?view=azure-node-latest
// See the following examples for how to authenticate in Azure with managed identity
// https://github.com/Azure/azure-sdk-for-js/blob/@azure/identity_2.0.1/sdk/identity/identity/samples/AzureIdentityExamples.md#authenticating-in-azure-with-managed-identity
// const credential = new ManagedIdentityCredential("<USER_ASSIGNED_MANAGED_IDENTITY_CLIENT_ID>");
const credential = new DefaultAzureCredential();
let mediaServicesClient = new AzureMediaServices(credential, subscriptionId)
// List Assets in Account
console.log("Listing assets in account:")
for await (const asset of mediaServicesClient.assets.list(resourceGroup, accountName, { top:1000 })){
console.log(asset.name);
}
}
main().catch((err) => {
console.error("Error running sample:", err.message);
});
Mais exemplos
Muitos outros exemplos estão disponíveis no repositório. Examine o arquivo leiame para obter os exemplos atualizados mais recentes.
Referências para desenvolvedores de Serviços de Mídia em JavaScript/TypeScript
- npm install @azure/arm-mediaservices
- Documentação de referência dos módulos de Serviços de Mídia do Azure para Node.js
- Azure para desenvolvedores do JavaScript e do Node.js
- Media Services source code in the @azure/azure-sdk-for-js Git Hub repo
- Documentação do Pacote do Azure para desenvolvedores do Node.js
- Conceitos dos Serviços de Mídia
- Azure para desenvolvedores do JavaScript e do Node.js
- Media Services source code in the @azure/azure-sdk-for-js repo
Obter ajuda e suporte
Você pode entrar em contato com os Serviços de Mídia com perguntas ou seguir nossas atualizações por um dos seguintes métodos:
- P & R
-
Stack Overflow. Marque perguntas com
azure-media-services
. - @MSFTAzureMedia ou use @AzureSupport para solicitar suporte.
- Abra um tíquete de suporte por meio do portal do Azure.