Conceitos Básicos do Serviço Events
Saiba mais sobre como criar automação com o serviço Events.
Você pode criar uma regra simples que envie uma notificação sempre que alguém criar um bucket em um compartimento específico em sua tenancy.
Configuração do Serviço Events
Para experimentar o serviço Events deste tutorial, primeiro você deve:
- Criar uma política do serviço IAM para o serviço Events
- Criar um tópico e uma assinatura para usar como uma ação
Um administrador de tenancy deve configurar sua tenancy para o serviço Events. Essas configurações permitem acessar uma tenancy do Oracle Cloud Infrastructure com a política do serviço IAM necessária e um recurso a ser usado como uma ação.
Criar Usuários, Grupos e Compartimentos
Você pode usar usuários, grupos e compartimentos existentes ou criar novos.
Para criar grupos e usuários
Se ainda não existirem usuários e grupos adequados para designar permissões de usuários para trabalhar com regras, faça log-in na Console como administrador de tenancy e crie-os.
- Faça log-in na Console como administrador de tenancy.
- Se você precisar de um grupo para o serviço Events, execute estas etapas:
- Abra o menu de navegação e selecione Identidade e Segurança. Em Identidade, selecione Domínios. Uma lista dos grupos em sua tenancy será exibida.
- Clique em Criar Grupo e crie um novo grupo (consulte Criando um Grupo). Dê ao grupo um nome e uma descrição significativos. Evite inserir informações confidenciais.
- Se você precisar de contas de usuário para o serviço Events, execute estas etapas:
- Abra o menu de navegação e selecione Identidade e Segurança. Em Identidade, selecione Usuários. Uma lista dos usuários na sua tenancy é exibida.
- Clique em Criar Usuário e crie um ou mais usuários novos (consulte Criando um Usuário).
- Se os usuários ainda não tiverem sido adicionados aos grupos, execute estas etapas:
- Abra o menu de navegação e selecione Identidade e Segurança. Em Identidade, selecione Domínios. Uma lista dos grupos em sua tenancy será exibida.
- Clique no grupo que deseja usar para o serviço Events.
- Clique em Adicionar Usuário ao Grupo.
- Selecione os usuários na lista drop-down e clique em Adicionar.
Para criar um compartimento
Se o compartimento adequado para regras e os recursos que emitem eventos ainda não existirem, faça log-in na Console como administrador da tenancy e crie-o.
- Faça log-in na Console como administrador de tenancy.
- Abra o menu de navegação e selecione Identidade e Segurança. Em Identidade, selecione Compartimentos. Uma lista dos compartimentos na sua tenancy é exibida.
- Clique em Criar Compartimento e crie um novo compartimento (consulte Criando um Compartimento). Dê ao compartimento um nome e uma descrição significativos. Evite inserir informações confidenciais.
Criar Política do Serviço IAM para o Serviço Events
Para que os usuários possam começar a usar o serviço Events para criar automação, como administrador da tenancy, você deverá criar a política do serviço IAM:
Para criar uma política que permita aos usuários criar e gerenciar regras
- Faça log-in na Console como administrador de tenancy.
- Na Console, Abra o menu de navegação e selecione Identidade e Segurança. Em Identidade, selecione Políticas. É exibida uma lista das políticas no compartimento que você está exibindo.
- Selecione o compartimento raiz.
- Clique em Criar Política.
- Informe o seguinte:
- Nome: Um nome significativo para a política. O nome deve ser exclusivo em todas as políticas na sua tenancy. Não é possível alterá-lo posteriormente. Evite inserir informações confidenciais.
- Descrição: Uma descrição significativa. Você poderá alterá-la posteriormente, se desejar.
-
Instrução: Informe as seguintes instruções da política para conceder aos usuários do grupo a capacidade de gerenciar e criar regras:
Esta linha fornece ao usuário acesso de inspeção aos recursos em compartimentos para selecionar ações.
allow group <RuleAdmins> to inspect compartments in tenancy
Esta linha fornece ao usuário acesso a tags definidas para aplicar tags de filtro às regras.
allow group <RuleAdmins> to use tag-namespaces in tenancy
Estas linhas fornecem ao usuário acesso aos recursos do serviço Streaming para ações
allow group <RuleAdmins> to inspect streams in tenancy allow group <RuleAdmins> to use stream-push in tenancy allow group <RuleAdmins> to use stream-pull in tenancy
Estas linhas concedem ao usuário acesso aos recursos do serviço Functions para ações.
allow group <RuleAdmins> to use virtual-network-family in tenancy allow group <RuleAdmins> to manage function-family in tenancy
Esta linha fornece ao usuário acesso aos tópicos do serviço Notifications para ações.
allow group <RuleAdmins> to use ons-topic in tenancy
Esta linha fornece ao usuário o acesso de gerenciamento às regras do serviço Events.
allow group <RuleAdmins> to manage cloudevents-rules in tenancy
- Clique em Criar.
Criar Tópico e Inscrição do Serviço Notifications
Se um tópico adequado do serviço Notifications ainda não existir, você deverá fazer log-in na Console como administrador da tenancy e criá-lo. Se você usar um tópico existente ou criar um novo, adicione um endereço de e-mail como uma inscrição para que possa monitorar essa conta de e-mail para notificações.
Para criar um tópico
- Abra o menu de navegação e selecione Serviços ao Desenvolvedor. Em Integração de Aplicativos, selecione Notificações.
- Clique em Criar Tópico na parte superior da lista de tópicos.
- No painel Criar Tópico, configure o seu tópico.
- Nome: Obrigatório. Especifique um nome amigável para o tópico. Ele deve ser exclusivo; a validação faz distinção entre maiúsculas e minúsculas. Evite inserir informações confidenciais.
- Descrição: Opcional. Informe uma descrição para o tópico.
- Clique em Criar.
Para criar uma inscrição
- Abra o menu de navegação e selecione Serviços ao Desenvolvedor. Em Integração de Aplicativos, selecione Notificações.
- Clique no nome do tópico que você criou na etapa anterior ou no tópico que pretende usar para este tutorial.
- Na página de detalhes do tópico, clique em Criar Inscrição.
- No painel Criar Inscrição, selecione E-mail e digite um endereço de e-mail.
- Clique em Criar.
A inscrição foi criada e um URL de confirmação de inscrição será enviado. A inscrição permanece no status "Pendente" até ser confirmada.
Para confirmar uma inscrição
- No e-mail de confirmação enviado ao endereço especificado no procedimento anterior, clique no URL de confirmação.
Usando a Console para Criar uma Regra
Use a Console para criar uma regra com um padrão que corresponda aos eventos de criação de bucket emitidos pelo serviço Object Storage. Especifique o tópico do serviço Notifications que você criou como uma ação para entregar eventos correspondentes. Para testar sua regra, crie um bucket. O serviço Object Storage emite um evento que aciona a ação. Verifique o e-mail especificado na inscrição para receber sua notificação.
Criando uma Regra
- Abra o menu de navegação e selecione Observabilidade e Gerenciamento. Em Serviço Events, selecione Regras.
- Escolha um Compartimento no qual você tenha permissão para trabalhar e clique em Criar Regra.
O serviço Events compara as regras que você cria neste compartimento com mensagens de evento emitidas por recursos deste compartimento e de todos os compartimentos filhos.
- Informe o seguinte.
- Nome para Exibição: Especifique um nome amigável para a regra. Você pode alterar esse nome posteriormente. Evite inserir informações confidenciais.
- Descrição: Especifique uma descrição do que a regra faz. Você pode alterar essa descrição posteriormente.
- Em Condição, selecione Tipo de Evento.
- Em Nome do Serviço, selecione Object Storage.
- Em Tipo de Evento, selecione Bloco - Criar.
- Em Ações, especifique as ações a serem acionadas quando o filtro localizar uma correspondência:
- Em Tipo de Ação, selecione Notificações.
- Em Compartimento de Notificações, selecione o compartimento que contém o tópico.
- Em Tópico, selecione o tópico.
- Clique em Criar Regra.
- Abra o menu de navegação e selecione Armazenamento. Em Object Storage & Archive Storage, selecione Buckets.
- Selecione o compartimento no qual você criou sua regra (ou qualquer um de seus compartimentos subordinados).
- Clique em Criar Bucket.
- Na caixa de diálogo Criar Bucket, especifique os atributos do bucket:
- Nome: Obrigatório. Um nome ou descrição amigáveis. Evite inserir informações confidenciais.
-
Camada de Armazenamento: Selecione a camada em que você deseja armazenar seus dados. As camadas disponíveis incluem:
- Padrão é a camada padrão principal do Object Storage para armazenar dados que são acessados com frequência e requerem acesso rápido e imediato.
- Arquivo Compactado é uma camada especial para armazenar dados que são acessados sem muita frequência e que requerem longos períodos de retenção. O acesso aos dados na camada Arquivo Compactado não é imediato. Você deve restaurar os dados arquivados antes de acessá-los. Para obter mais informações, consulte Visão Geral do Serviço Archive Storage.
- Clique em Criar.
Recuperando sua Notificação
Usando a CLI para Criar uma Regra
Ao usar a CLI para criar uma regra, você trabalha de forma um pouco diversa de quando usa a Console.
- Para especificar as ações da regra, use um arquivo formatado JSON. Você cria esse arquivo antes de criar a regra, e o arquivo simplifica a quantidade de informações que deve ser digitada na linha de comando.
- Para especificar um evento para correspondência, use uma string no formato JSON. Digite isso diretamente na console ao criar a regra.
Criando um Arquivo de Ação
- Crie um arquivo e adicione o conteúdo a seguir.
{ "actions": [ { "actionType": "ONS", "description": "string", "isEnabled": true, "topicId": "<topic_OCID>" } ] }
Dica: Você pode especificar funções, streams ou tópicos como uma ação.
Exemplo de modelo de arquivo de ação{ "actions": [ { "actionType": "FAAS", "description": "string", "functionId": "<function_OCID>", "isEnabled": true }, { "actionType": "ONS", "description": "string", "isEnabled": true, "topicId": "<topic_OCID>" }, { "actionType": "OSS", "description": "string", "isEnabled": true, "streamId": "<stream_OCID>" } ] }
- Preencha <topic_OCID> com o valor do OCID do tópico real da sua tenancy.
- Adicione uma descrição.
- Salve o arquivo com action.json como o nome do arquivo.
Criando uma Regra
Abra um prompt de comando e execute oci events rule create
para criar uma regra.
Use as seguintes opções:
display-name
indica o nome da regra na Consoleis-enabled
indica se a regra é avaliada.-
condition
uma string no formato JSON usada para indicar um padrão para correspondência de eventos (consulte o exemplo de comando abaixo para saber o uso). compartment-id
indica o compartimento em que a regra se aplica. O serviço Events avalia mensagens de recursos neste compartimento e em quaisquer compartimentos filhos.actions
indica a localização no sistema de arquivos local do arquivo em formato JSON que você criou para especificar as ações para uma regra.wait-for-state=
quando usado com ACTIVE indica que a CLI deve esperar o serviço criar a regra, executar outra operação GET e exibir a regra no estado ativo. Sem a opção, a CLI exibe a regra imediatamente no estado de criação.
Por exemplo:
oci events rule create --display-name CLI-created_rule --is-enabled true --condition "{\"eventType\":[\"com.oraclecloud.objectstorage.createbucket\"]}" --compartment-id <compartment_OCID> --actions <path_to_json_formatted_actions_file> --wait-for-state=ACTIVE
Substitua os valores em <compartment_OCID> e <path_to_json_formatted_actions_file> pelos valores reais de sua tenancy e do sistema de arquivos local.
Quando você executa o comando anterior, a CLI solicita informações sobre a regra e sua exibição:
Action completed. Waiting until the resource has entered state: ACTIVE
{
"data": {
"actions": {
"actions": [
{
"action-type": "ONS",
"description": "Notifications action",
"id": "ocid1.eventaction.oc1.phx.<unique_ID>",
"lifecycle-message": null,
"lifecycle-state": "ACTIVE",
"topic-id": "ocid1.onstopic.oc1.phx.<unique_ID>"
}
]
},
"compartment-id": "ocid1.compartment.oc1..<unique_ID>",
"condition": "{\"eventType\":[\"com.oraclecloud.objectstorage.createbucket\"]}",
"defined-tags": {},
"description": null,
"display-name": "CLI-created_rule",
"freeform-tags": {},
"id": "ocid1.eventrule.oc1.phx.<unique_ID>",
"is-enabled": true,
"lifecycle-message": null,
"lifecycle-state": "ACTIVE",
"time-created": "2019-04-25T01:32:56.855000+00:00"
},
"etag": "<unique_ID>--gzip"
}
- Abra o menu de navegação e selecione Armazenamento. Em Object Storage & Archive Storage, selecione Buckets.
- Selecione o compartimento no qual você criou sua regra (ou qualquer um de seus compartimentos subordinados).
- Clique em Criar Bucket.
- Na caixa de diálogo Criar Bucket, especifique os atributos do bucket:
- Nome: Obrigatório. Um nome ou descrição amigáveis. Evite inserir informações confidenciais.
-
Camada de Armazenamento: Selecione a camada em que você deseja armazenar seus dados. As camadas disponíveis incluem:
- Padrão é a camada padrão principal do Object Storage para armazenar dados que são acessados com frequência e requerem acesso rápido e imediato.
- Arquivo Compactado é uma camada especial para armazenar dados que são acessados sem muita frequência e que requerem longos períodos de retenção. O acesso aos dados na camada Arquivo Compactado não é imediato. Você deve restaurar os dados arquivados antes de acessá-los. Para obter mais informações, consulte Visão Geral do Serviço Archive Storage.
- Clique em Criar.
Recebendo sua Notificação
-
Faça log-in na conta de e-mail especificada no procedimento anterior para receber a notificação sobre o bucket que está sendo criado.
Dica
Você recebe notificações sempre que um bucket é criado no compartimento (ou em qualquer um de seus compartimentos) até que você desative a regra.