Partilhar via


Configurar funções dos Serviços de Nuvem do Azure (suporte estendido) com o Visual Studio

Observação

Este artigo aplica-se aos Serviços de Nuvem do Azure Azure (suporte estendido). Os Serviços de Nuvem (clássicos) são desativados a partir de 31 de agosto de 2024. Para obter mais informações, consulte o modelo de implantação de serviços de nuvem (clássico), que será desativado em 31 de agosto de 2024. Para novos desenvolvimentos, recomendamos que você use um tipo de serviço mais recente projetado para sua finalidade específica, como do Serviço de Aplicativo do Azure, Azure Functionsou de Aplicativos de Contêiner do Azure. Para obter a lista mais recente de serviços disponíveis, consulte Directory of Azure products.

Um projeto dos Serviços de Nuvem do Azure (suporte estendido) pode ter uma ou mais funções de trabalho ou Web. Para cada função, você precisa definir como essa função é configurada e também configurar como essa função é executada.

As informações do seu serviço de nuvem são armazenadas nos seguintes arquivos:

  • ServiceDefinition.csdef - O arquivo de definição de serviço define as configurações de tempo de execução para seu serviço de nuvem, incluindo quais funções são necessárias, pontos de extremidade e tamanho da máquina virtual. Nenhum dos dados armazenados no ServiceDefinition.csdef pode ser alterado quando sua função está em execução.
  • ServiceConfiguration.cscfg - O arquivo de configuração de serviço define quantas instâncias de uma função são executadas e os valores das configurações definidas para uma função. Os dados armazenados no ServiceConfiguration.cscfg podem ser alterados enquanto sua função está em execução.

Para armazenar valores diferentes para as configurações que controlam como uma função é executada, você pode definir várias configurações de serviço. Você pode usar uma configuração de serviço diferente para cada ambiente de implantação. Por exemplo, você pode definir sua cadeia de conexão de conta de armazenamento para usar o Emulador de Armazenamento do Azure local em uma configuração de serviço local e criar outra configuração de serviço para usar o Armazenamento do Azure na nuvem.

Quando você cria um projeto dos Serviços de Nuvem do Azure (suporte estendido) no Visual Studio, duas configurações de serviço são criadas e adicionadas automaticamente ao seu projeto do Azure:

  • ServiceConfiguration.Cloud.cscfg
  • ServiceConfiguration.Local.cscfg

Pré-requisitos

Configurar um projeto dos Serviços de Nuvem do Azure (suporte estendido)

Você pode configurar um projeto dos Serviços de Nuvem do Azure (suporte estendido) no Gerenciador de Soluções no Visual Studio, conforme mostrado nas seguintes etapas:

  1. Crie ou abra um projeto dos Serviços de Nuvem do Azure (suporte estendido) no Visual Studio.

  2. No Gerenciador de Soluções , clique com o botão direito do mouse no projeto e, no menu de contexto, selecione Propriedades.

    menu de contexto do projeto Solution Explorer

  3. Na página de propriedades do projeto, selecione o separador Desenvolvimento.

    página de propriedades do projeto - separador Desenvolvimento

  4. Na lista de Configuração do Serviço, selecione o nome da configuração de serviço que você deseja editar.

    Captura de tela mostrando a lista Configuração do Serviço para um projeto dos Serviços de Nuvem do Azure (suporte estendido).

Alterar o número de instâncias de função

Para melhorar o desempenho do seu serviço de nuvem, você pode alterar o número de instâncias de uma função que estão em execução, com base no número de usuários ou na carga esperada para uma função específica. Uma máquina virtual separada é criada para cada instância de uma função quando o serviço de nuvem é executado no Azure. Isso afeta a cobrança da implantação desse serviço de nuvem. Para obter mais informações sobre cobrança, consulte Compreender sua fatura do Microsoft Azure.

  1. Crie ou abra um projeto dos Serviços de Nuvem do Azure (suporte estendido) no Visual Studio.

  2. No Explorador de Soluções , expanda o nó do projeto. No nó Funções, clique com o botão direito do mouse na função que deseja atualizar e, no menu de contexto, selecione Propriedades.

    menu de contexto do papel do Azure no Explorador de Soluções

  3. Selecione o separador de Configuração .

    Guia de Configuração

  4. Na lista de Configuração do Serviço, selecione a configuração do serviço que você deseja atualizar. (Se quiser fazer alterações em todas as configurações de serviço para essa função, selecione Todas as configurações.)

    Importante

    Se você escolher uma configuração de serviço específica, algumas propriedades serão desabilitadas porque só podem ser definidas para todas as configurações. Para editar essas propriedades, você deve selecionar Todas as configurações.

    Lista de Configuração de Serviço 1

  5. Na caixa de texto Contagem de instâncias , insira o número de instâncias que pretende iniciar para esta função. Cada instância é executada em uma máquina virtual separada quando você publica o serviço de nuvem no Azure.

    Atualizando a contagem de instâncias

  6. Na barra de ferramentas do Visual Studio, selecione Salvar.

Gerenciar cadeias de conexão para contas de armazenamento

Você pode adicionar, remover ou modificar cadeias de conexão para suas configurações de serviço. Você também pode querer configurar uma configuração de serviço de nuvem que usa uma conta de armazenamento no Azure.

Advertência

Quando você insere as informações de chave da conta de Armazenamento do Azure para uma cadeia de conexão de conta de armazenamento, essas informações são armazenadas localmente no arquivo de configuração de serviço. No entanto, essas informações atualmente não são armazenadas como texto criptografado.

Usando um valor diferente para cada configuração de serviço, você não precisa usar cadeias de conexão diferentes em seu serviço de nuvem ou modificar seu código quando publicar seu serviço de nuvem no Azure. Você pode usar o mesmo nome para a cadeia de conexão em seu código e o valor é diferente, com base na configuração de serviço que você seleciona quando cria seu serviço de nuvem ou quando o publica.

  1. Crie ou abra um projeto dos Serviços de Nuvem do Azure (suporte estendido) no Visual Studio.

  2. No Gerenciador de Soluções , expanda o nó de projeto. Sob o nó Funções, clique com o botão direito do mouse na função que pretende atualizar e, no menu de contexto, selecione Propriedades.

    menu de contexto da função do Azure no Explorador de Soluções

  3. Selecione o separador Configurações.

    separador Definições

  4. Na lista de Configuração do Serviço, selecione a configuração do serviço que você deseja atualizar.

    Configuração do Serviço

  5. Para adicionar uma cadeia de conexão, selecione Adicionar configuração.

    Adicionar cadeia de conexão

  6. Depois que a nova configuração for adicionada à lista, atualize a linha na lista com as informações necessárias.

    Nova cadeia de conexão

    • Nome - Insira o nome que você deseja usar para a cadeia de conexão.
    • Tipo - Selecione Cadeia de Conexão na lista suspensa.
    • Valor - Você pode inserir a cadeia de conexão diretamente na célula Valor ou selecionar as reticências (...) para trabalhar na caixa de diálogo Criar Cadeia de Conexão de Armazenamento.
  7. Na caixa de diálogo Criar Cadeia de Conexão de Armazenamento, Selecione uma opção para Conectar usando. Em seguida, siga as instruções para a opção selecionada:

    • Emulador de Armazenamento do Microsoft Azure - Se você selecionar essa opção, as configurações restantes na caixa de diálogo serão desabilitadas, pois se aplicam somente ao Azure. Selecione OK.
    • A tua assinatura - Se selecionares esta opção, usa a lista suspensa para selecionar e entrar numa conta Microsoft ou então adicionar uma conta Microsoft. Selecione uma assinatura do Azure e uma conta de armazenamento. Selecione OK.
    • Credenciais inseridas manualmente - Insira o nome da conta de armazenamento e a chave primária ou a segunda. Selecione uma opção para a Conexão (HTTPS é recomendado para a maioria dos cenários.) Selecione OK.
  8. Para excluir uma cadeia de conexão, selecione-a e, em seguida, selecione Remover Configuração.

  9. Na barra de ferramentas do Visual Studio, selecione Salvar.

Acessar programaticamente uma cadeia de conexão

As etapas a seguir mostram como acessar programaticamente uma cadeia de conexão usando C#.

  1. Adicione o seguinte usando diretivas a um arquivo C# onde você vai usar a configuração:

    using Microsoft.WindowsAzure;
    using Microsoft.WindowsAzure.Storage;
    using Microsoft.WindowsAzure.ServiceRuntime;
    
  2. O código a seguir ilustra um exemplo de como acessar uma cadeia de conexão. Substitua o marcador <ConnectionStringName> pelo valor apropriado.

    // Setup the connection to Azure Storage
    var storageAccount = CloudStorageAccount.Parse(RoleEnvironment.GetConfigurationSettingValue("<ConnectionStringName>"));
    

Adicionar configurações personalizadas para usar em seu projeto dos Serviços de Nuvem do Azure (suporte estendido)

As configurações personalizadas no arquivo de configuração de serviço permitem adicionar um nome e um valor para uma cadeia de caracteres para uma configuração de serviço específica. Você pode optar por usar essa configuração para configurar um recurso em seu serviço de nuvem lendo o valor da configuração e usando esse valor para controlar a lógica em seu código. Você pode alterar esses valores de configuração de serviço sem ter que reconstruir seu pacote de serviço ou quando o serviço de nuvem estiver em execução. Seu código pode verificar se há notificações de quando uma configuração é alterada. Para obter mais informações, consulte RoleEnvironment.Changing Event.

Você pode adicionar, remover ou modificar configurações personalizadas para suas configurações de serviço. Talvez você queira valores diferentes para essas cadeias de caracteres para diferentes configurações de serviço.

Usando um valor diferente para cada configuração de serviço, você não precisa usar cadeias de caracteres diferentes em seu serviço de nuvem ou modificar seu código quando publicar seu serviço de nuvem no Azure. Você pode usar o mesmo nome para a cadeia de caracteres em seu código e o valor é diferente, com base na configuração de serviço que você seleciona quando cria seu serviço de nuvem ou quando o publica.

  1. Crie ou abra um projeto dos Serviços de Nuvem do Azure (suporte estendido) no Visual Studio.

  2. No Gerenciador de Soluções , expanda o nó do projeto. No nó Funções, clique com o botão direito na função que deseja atualizar e, no menu de contexto, selecione Propriedades.

    menu de contexto da função Azure no Explorador de Soluções

  3. Selecione a guia Configurações.

    aba Definições

  4. Na lista de Configuração do Serviço, selecione a configuração do serviço que você deseja atualizar.

    Lista de Configuração de Serviço 2

  5. Para adicionar uma configuração personalizada, selecione Adicionar configuração.

    Adicionar configuração personalizada

  6. Depois que a nova configuração for adicionada à lista, atualize a linha na lista com as informações necessárias.

    Nova configuração personalizada

    • Nome - Digite o nome da configuração.
    • Tipo - Selecione String da lista pendente.
    • Valor - Insira o valor da configuração. Você pode inserir o valor diretamente na célula Valor ou selecionar as reticências (...) para inserir o valor na caixa de diálogo Editar Cadeia de Caracteres.
  7. Para eliminar uma definição personalizada, selecione-a e, em seguida, selecione Remover Configuração.

  8. Na barra de ferramentas do Visual Studio, selecione Salvar.

Acessar programaticamente o valor de uma configuração personalizada

As etapas a seguir mostram como acessar programaticamente uma configuração personalizada usando C#.

  1. Adicione o seguinte usando diretivas a um arquivo C# onde você vai usar a configuração:

    using Microsoft.WindowsAzure;
    using Microsoft.WindowsAzure.Storage;
    using Microsoft.WindowsAzure.ServiceRuntime;
    
  2. O código a seguir ilustra um exemplo de como acessar uma configuração personalizada. Substitua o marcador de posição <SettingName> pelo valor apropriado.

    var settingValue = RoleEnvironment.GetConfigurationSettingValue("<SettingName>");
    

Gerenciar armazenamento local para cada instância de função

Você pode adicionar armazenamento de sistema de arquivos local para cada instância de uma função. Os dados armazenados nesse armazenamento não são acessíveis por outras instâncias da função para a qual os dados são armazenados ou por outras funções.

  1. Crie ou abra um projeto dos Serviços de Nuvem do Azure (suporte estendido) no Visual Studio.

  2. No Explorador de Soluções , expanda o nó do projeto. No nó Funções, clique com o botão direito do mouse na função que deseja atualizar e, no menu de contexto, selecione Propriedades.

    menu de contexto do papel do Azure no Explorador de Soluções

  3. Selecione a guia Armazenamento Local.

    Separador de armazenamento local

  4. Na lista de Configuração do Serviço, verifique se Todas as Configurações está selecionado, pois as configurações de armazenamento local se aplicam a todas as configurações de serviço. Qualquer outro valor resulta na desativação de todos os campos de entrada na página.

    Lista de Configuração de Serviço 3

  5. Para adicionar uma entrada de armazenamento local, selecione Adicionar Armazenamento Local.

    Adicionar armazenamento local

  6. Depois que a nova entrada de armazenamento local tiver sido adicionada à lista, atualize a linha na lista com as informações necessárias.

    Nova entrada de armazenamento local

    • Nome - Introduza o nome que pretende utilizar para o novo armazenamento local.
    • Tamanho (MB) - Insira o tamanho em MB necessário para o novo armazenamento local.
    • Limpar no de reciclagem de função - Selecione esta opção para remover os dados no novo armazenamento local quando a máquina virtual da função for reciclada.
  7. Para apagar uma entrada de armazenamento local, selecione a entrada e, depois, escolha Remover Armazenamento Local.

  8. Na barra de ferramentas do Visual Studio, selecione Salvar.

Acesso programaticamente ao armazenamento local

Esta seção ilustra como acessar programaticamente o armazenamento local usando C# escrevendo um arquivo de texto de teste MyLocalStorageTest.txt.

Gravar um arquivo de texto no armazenamento local

O código a seguir mostra um exemplo de como gravar um arquivo de texto no armazenamento local. Substitua o marcador de posição <LocalStorageName> pelo valor apropriado.

// Retrieve an object that points to the local storage resource
LocalResource localResource = RoleEnvironment.GetLocalResource("<LocalStorageName>");

//Define the file name and path
string[] paths = { localResource.RootPath, "MyLocalStorageTest.txt" };
String filePath = Path.Combine(paths);

using (FileStream writeStream = File.Create(filePath))
{
    Byte[] textToWrite = new UTF8Encoding(true).GetBytes("Testing Web role storage");
    writeStream.Write(textToWrite, 0, textToWrite.Length);
}

Localizar um arquivo gravado no armazenamento local

Para exibir o arquivo criado pelo código na seção anterior, execute estas etapas:

  1. Na área de notificação do Windows, clique com o botão direito do rato no ícone do Azure e, no menu de contexto, selecione Mostrar Interface do Emulador de Computação.

    Mostrar emulador de computação do Azure

  2. Selecione a função Web.

    emulador de computação do Azure

  3. No menu Microsoft Azure Emulador de Computação , selecione Ferramentas >Abrir repositório local.

    Abrir item de menu da loja local

  4. Quando a janela do Explorador do Windows abrir, introduza 'MyLocalStorageTest.txt'' na caixa de texto Pesquisa e selecione Enter para iniciar a pesquisa.

Saiba mais sobre projetos do Azure no Visual Studio lendo Configurando um projeto do Azure. Saiba mais sobre o esquema do serviço de nuvem lendo Referência de esquema.