Partilhar via


Realocar tópicos do sistema de Grade de Eventos do Azure para outra região

Este artigo aborda a abordagem, as diretrizes e as práticas recomendadas para realocar tópicos do sistema de Grade de Eventos para outra região.

Há vários motivos pelos quais você pode querer mover seus recursos existentes do Azure de uma região para outra. Você pode querer:

  • Aproveite uma nova região do Azure.
  • Implante recursos ou serviços disponíveis apenas em regiões específicas.
  • Atender aos requisitos internos de política e governança.
  • Alinhar-se com fusões e aquisições de empresas
  • Atenda aos requisitos de planejamento de capacidade.

Aqui estão as etapas de alto nível abordadas neste artigo:

  • Exporte o grupo de recursos que contém a conta de Armazenamento do Azure e seu tópico de sistema associado para um modelo do Gerenciador de Recursos. Você também pode exportar um modelo somente para o tópico do sistema. Se você seguir esse caminho, lembre-se de mover a fonte de eventos do Azure (neste exemplo, uma conta de Armazenamento do Azure) para a outra região antes de mover o tópico do sistema. Em seguida, no modelo exportado para o tópico do sistema, atualize a ID externa da conta de armazenamento na região de destino.
  • Modifique o modelo para adicionar a endpointUrl propriedade para apontar para um webhook que se inscreve no tópico do sistema. Quando o tópico do sistema é exportado, sua assinatura (neste caso, é um webhook) também é exportada para o modelo, mas a endpointUrl propriedade não está incluída. Portanto, você precisa atualizá-lo para apontar para o ponto de extremidade que se inscreve no tópico. Além disso, atualize o location valor da propriedade para o novo local ou região. Para outros tipos de manipuladores de eventos, você precisa atualizar apenas o local.
  • Use o modelo para implantar recursos na região de destino. Você especificará nomes para a conta de armazenamento e o tópico do sistema a ser criado na região de destino.
  • Verifique a implantação. Verifique se o webhook é invocado quando você carrega um arquivo para o armazenamento de blob na região de destino.
  • Para concluir a movimentação, exclua recursos (fonte do evento e tópico do sistema) da região de origem.

Pré-requisitos

Preparação

Para começar, exporte um modelo do Gerenciador de Recursos para o grupo de recursos que contém a fonte de eventos do sistema (conta de Armazenamento do Azure) e seu tópico de sistema associado.

  1. Inicie sessão no portal do Azure.

  2. Selecione Grupos de recursos no menu à esquerda. Em seguida, selecione o grupo de recursos que contém a fonte de eventos para a qual o tópico do sistema foi criado. No exemplo a seguir, é a conta de Armazenamento do Azure. O grupo de recursos contém a conta de armazenamento e seu tópico de sistema associado.

    Captura de ecrã da página do grupo de recursos.

  3. No menu à esquerda, selecione Exportar modelo em Configurações e, em seguida, selecione Download na barra de ferramentas.

    Captura de ecrã da conta de armazenamento - Exportar página de modelo.

  4. Localize o arquivo .zip que você baixou do portal e descompacte esse arquivo para uma pasta de sua escolha. Este arquivo zip contém arquivos JSON de modelo e parâmetros.

  5. Abra o template.json em um editor de sua escolha.

  6. A URL do Webhook não é exportada para o modelo. Então, faça as seguintes etapas:

    1. No arquivo de modelo, procure WebHook.

    2. Na seção Propriedades, adicione um caractere de vírgula (,) no final da última linha. Neste exemplo, é "preferredBatchSizeInKilobytes": 64.

    3. Adicione a endpointUrl propriedade com o valor definido ao URL do Webhook, conforme mostrado no exemplo a seguir.

      "destination": {
          "properties": {
              "maxEventsPerBatch": 1,
              "preferredBatchSizeInKilobytes": 64,
              "endpointUrl": "https://mysite.azurewebsites.net/api/updates"
          },
          "endpointType": "WebHook"
      }
      

      Nota

      Para outros tipos de manipuladores de eventos, todas as propriedades são exportadas para o modelo. Você só precisa atualizar a location propriedade para a região de destino, conforme mostrado na próxima etapa.

  7. Atualização location do recurso da conta de armazenamento para a região ou local de destino. Para obter códigos de localização, consulte Localizações do Azure. O código de uma região é o nome da região sem espaços, por exemplo, West US é igual a westus.

    "type": "Microsoft.Storage/storageAccounts",
    "apiVersion": "2019-06-01",
    "name": "[parameters('storageAccounts_spegridstorage080420_name')]",
    "location": "westus",
    
  8. Repita a etapa de atualização location para o recurso de tópico do sistema no modelo.

    "type": "Microsoft.EventGrid/systemTopics",
    "apiVersion": "2020-04-01-preview",
    "name": "[parameters('systemTopics_spegridsystopic080420_name')]",
    "location": "westus",
    
  9. Salve o modelo.

Voltar a implementar

Implante o modelo para criar uma conta de armazenamento e um tópico do sistema para a conta de armazenamento na região de destino.

  1. No portal do Azure, selecione Criar um recurso.
  2. Em Pesquisar no Marketplace, escreva implementação de modelo e prima ENTER.
  3. Selecione Implementação de modelo.
  4. Selecione Criar.
  5. Selecione Crie o seu próprio modelo no editor.
  6. Selecione Carregar ficheiro e, em seguida, siga as instruções para carregar o ficheiro template.json que transferiu na última secção.
  7. Selecione Salvar para salvar o modelo.
  8. Na página Implantação personalizada, siga estas etapas.
    1. Selecione uma assinatura do Azure.

    2. Selecione um grupo de recursos existente na região de destino ou crie um.

    3. Em Região, selecione a região de destino. Se você selecionou um grupo de recursos existente, essa configuração será somente leitura.

    4. Para o nome do tópico do sistema, insira um nome para o tópico do sistema que será associado à conta de armazenamento.

    5. Para o nome da conta de armazenamento, insira um nome para a conta de armazenamento a ser criada na região de destino.

      Captura de tela da página de modelo de implantação do Gerenciador de Recursos.

    6. Selecione Rever + criar na parte inferior da página.

    7. Na página Rever + criar, reveja as definições e selecione Criar.

Verificar

  1. Depois que a implantação for bem-sucedida, selecione Goto resource group.
  2. Na página Grupo de recursos, verifique se a origem do evento (neste exemplo, conta de Armazenamento do Azure) e o tópico do sistema foram criados.
  3. Carregue um arquivo em um contêiner no armazenamento de Blob do Azure e verifique se o webhook recebeu o evento. Para obter mais informações, consulte Enviar um evento para seu ponto de extremidade.

Eliminar ou limpar

Para concluir a movimentação, exclua o grupo de recursos que contém a conta de armazenamento e seu tópico de sistema associado na região de origem.

Se quiser começar de novo, exclua o grupo de recursos na região de destino e repita as etapas nas seções Preparar e Recriar deste artigo.

Para excluir um grupo de recursos (origem ou destino) usando o portal do Azure:

  1. Na janela de pesquisa na parte superior do portal do Azure, digite Grupos de recursos e selecione Grupos de recursos nos resultados da pesquisa.

  2. Selecione o grupo de recursos a ser excluído e selecione Excluir na barra de ferramentas.

    Captura de ecrã de eliminar grupo de recursos.

  3. Na página de confirmação, insira o nome do grupo de recursos e selecione Excluir.