Usando políticas de ciclo de vida de dados com o Amazon Serverless OpenSearch - OpenSearch Serviço Amazon

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Usando políticas de ciclo de vida de dados com o Amazon Serverless OpenSearch

Uma política de ciclo de vida de dados para uma coleção de séries temporais do Amazon OpenSearch Serverless determina a vida útil dos dados nessa coleção. OpenSearch O Serverless retém os dados pelo período de tempo que você configura.

Você pode configurar uma política de ciclo de vida de dados separada para cada índice de cada coleção de séries temporais em seu. Conta da AWS OpenSearch O Serverless retém documentos em índices durante, no mínimo, o período de retenção que você configura na política. Em seguida, ele os exclui automaticamente com base no melhor esforço, normalmente dentro de 48 horas ou 10% do período de retenção, o que for maior.

Somente coleções de séries temporais oferecem suporte às políticas de ciclo de vida dos dados. Elas não são compatíveis com coleções de pesquisa ou pesquisa vetorial.

Políticas de ciclo de vida dos dados

Em uma política de ciclo de vida dos dados, você especifica uma série de regras. A política de ciclo de vida de dados permite gerenciar o período de retenção de dados associados a índices ou coleções que correspondam a essas regras. Essas regras definem o período de retenção dos dados em um índice ou grupo de índices. Cada regra consiste em um tipo de recurso (index), um período de retenção e uma lista de recursos (índices) aos quais o período de retenção se aplica.

Você define o período de retenção com um dos seguintes formatos:

  • "MinIndexRetention": "24h"— O OpenSearch Serverless retém os dados do índice do período especificado em horas ou dias. Você pode definir esse período para 24h a 3650d.

  • "NoMinIndexRetention": true— O OpenSearch Serverless retém os dados do índice indefinidamente.

No exemplo de política a seguir, a primeira regra especifica um período de retenção de 15 dias para todos os índices da coleção marketing. A segunda regra especifica que todos os nomes de índice que começam com log na coleção finance não têm período de retenção definido e serão mantidos indefinidamente.

{ "lifeCyclePolicyDetail": { "type": "retention", "name": "my-policy", "policyVersion": "MTY4ODI0NTM2OTk1N18x", "policy": { "Rules": [ { "ResourceType":"index", "Resource":[ "index/marketing/*" ], "MinIndexRetention": "15d" }, { "ResourceType":"index", "Resource":[ "index/finance/log*" ], "NoMinIndexRetention": true } ] }, "createdDate": 1688245369957, "lastModifiedDate": 1688245369957 } }

No exemplo de regra de política a seguir, o OpenSearch Serverless retém indefinidamente os dados em todos os índices de todas as coleções da conta.

{ "Rules": [ { "ResourceType": "index", "Resource": [ "index/*/*" ] } ], "NoMinIndexRetention": true }

Permissões obrigatórias

As políticas de ciclo de vida do OpenSearch Serverless usam as seguintes permissões AWS Identity and Access Management (IAM). Você pode especificar as condições do IAM para restringir os usuários a políticas de ciclo de vida dos dados associadas a coleções e índices específicos.

  • aoss:CreateLifecyclePolicy – criar uma política de ciclo de vida dos dados.

  • aoss:ListLifecyclePolicies – listar todas as políticas de ciclo de vida dos dados na conta atual.

  • aoss:BatchGetLifecyclePolicy: visualize uma política de ciclo de vida de dados associada a um nome de conta ou política.

  • aoss:BatchGetEffectiveLifecyclePolicy: visualize uma política de ciclo de vida de dados para um determinado recurso (index é o único recurso compatível).

  • aoss:UpdateLifecyclePolicy: modifique uma determinada política de ciclo de vida de dados e altere sua configuração ou recurso de retenção.

  • aoss:DeleteLifecyclePolicy – excluir uma política de ciclo de vida dos dados.

A política de acesso baseada em identidade a seguir permite que um usuário exiba todas as políticas de ciclo de vida dos dados e atualize as políticas com o padrão de recursos collection/application-logs.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "aoss:UpdateLifecyclePolicy" ], "Resource": "*", "Condition": { "StringEquals": { "aoss:collection": "application-logs" } } }, { "Effect": "Allow", "Action": [ "aoss:ListLifecyclePolicies", "aoss:BatchGetLifecyclePolicy" ], "Resource": "*" } ] }

Precedência das políticas

Pode haver situações em que as regras das políticas de ciclo de vida se sobreponham, dentro ou entre as políticas. Quando isso acontece, uma regra com um nome de recurso ou padrão mais específico para um índice substitui uma regra com um nome de recurso ou padrão mais geral para qualquer índice que seja comum às duas regras.

Por exemplo, na política a seguir, duas regras se aplicam a um índice index/sales/logstash. Nessa situação, a segunda regra tem precedência porque index/sales/log* é a correspondência mais longa para index/sales/logstash. Portanto, o OpenSearch Serverless não define um período de retenção para o índice.

{ "Rules":[ { "ResourceType":"index", "Resource":[ "index/sales/*", ], "MinIndexRetention": "15d" }, { "ResourceType":"index", "Resource":[ "index/sales/log*", ], "NoMinIndexRetention": true } ] }

Sintaxe da política

Forneça uma ou mais regras. Essas regras definem as configurações do ciclo de vida dos dados para seus índices sem OpenSearch servidor.

Cada regra contém os seguintes elementos: Você pode fornecer MinIndexRetention ou NoMinIndexRetention em cada regra, mas não em ambas.

Elemento Descrição
Tipo de atributo O tipo de recurso ao qual a regra se aplica. A única opção compatível com políticas de ciclo de vida de dados é index
Recurso Uma lista de nomes e/ou padrões de recursos. Os padrões consistem em um prefixo e um curinga (*), que permitem que as permissões associadas se apliquem a vários recursos. Por exemplo, index/<collection-name|pattern>/<index-name|pattern>.
MinIndexRetention O período limitado, em dias (d) ou horas (h), para reter o documento no índice. O limite mínimo é 24h e o máximo é3650d.
NoMinIndexRetention Setrue, o OpenSearch Serverless retém documentos indefinidamente.

Veja os seguintes exemplos:

{ "Rules": [ { "ResourceType": "index", "Resource": [ "index/autoparts-inventory/*" ], "MinIndexRetention": "20d" }, { "ResourceType": "index", "Resource": [ "index/auto*/gear" ], "MinIndexRetention": "24h" }, { "ResourceType": "index", "Resource": [ "index/autoparts-inventory/tires" ], "NoMinIndexRetention": true } ] }

Criação de políticas de ciclo de vida de dados (AWS CLI)

Para criar uma política de ciclo de vida de dados usando as operações da API OpenSearch Serverless, use o comando. CreateLifecyclePolicy Esse comando aceita tanto políticas em linha quanto arquivos .json. As políticas em linha devem ser codificadas como uma string JSON com escape.

A solicitação a seguir cria uma política de ciclo de vida dos dados:

aws opensearchserverless create-lifecycle-policy \ --name my-policy \ --type retention \ --policy "{\"Rules\":[{\"ResourceType\":\"index\",\"Resource\":[\"index/autoparts-inventory/*\"],\"MinIndexRetention\": \"81d\"},{\"ResourceType\":\"index\",\"Resource\":[\"index/sales/orders*\"],\"NoMinIndexRetention\":true}]}"

Para fornecer a política em um arquivo JSON, use o formato --policy file://my-policy.json

Visualizar políticas de ciclo de vida de dados

Antes de criar uma coleção, talvez você queira pré-visualizar as políticas de ciclo de vida dos dados existentes na sua conta para ver qual delas tem um padrão de recurso que corresponda ao nome da coleção. A ListLifecyclePoliciessolicitação a seguir lista todas as políticas de ciclo de vida de dados em sua conta:

aws opensearchserverless list-lifecycle-policies --type retention

A solicitação retorna informações sobre todas as políticas de ciclo de vida dos dados configuradas. Para visualizar as regras de padrões definidas em uma política específica, encontre as informações sobre políticas no conteúdo do elemento lifecyclePolicySummaries na resposta. Observe o name final type desta política e use essas propriedades em uma BatchGetLifecyclePolicysolicitação para receber uma resposta com os seguintes detalhes da política:

{ "lifecyclePolicySummaries": [ { "type": "retention", "name": "my-policy", "policyVersion": "MTY2MzY5MTY1MDA3Ml8x", "createdDate": 1663691650072, "lastModifiedDate": 1663691650072 } ] }

Para limitar os resultados às políticas que contenham coleções ou índices específicos, você pode incluir filtros de recursos:

aws opensearchserverless list-lifecycle-policies --type retention --resources "index/autoparts-inventory/*"

Para ver informações detalhadas sobre uma política específica, use o BatchGetLifecyclePolicycomando.

Atualização de políticas de ciclo de vida de dados

Quando você modifica uma política de ciclo de vida dos dados, todas as coleções associadas são afetadas. Para atualizar uma política de ciclo de vida de dados no console OpenSearch sem servidor, expanda Políticas de ciclo de vida de dados, selecione a política a ser modificada e escolha Editar. Faça suas alterações e escolha Salvar.

Para atualizar uma política de ciclo de vida de dados usando a API OpenSearch Serverless, use o comando. UpdateLifecyclePolicy É necessário incluir uma versão da política na solicitação. É possível recuperar a versão da política usando os comandos ListLifecyclePolicies ou BatchGetLifecyclePolicy. A inclusão da versão mais recente da política garante que você não anule inadvertidamente uma alteração feita por outra pessoa.

A solicitação a seguir atualiza uma política de ciclo de vida dos dados com um novo documento JSON de política:

aws opensearchserverless update-lifecycle-policy \ --name my-policy \ --type retention \ --policy-version MTY2MzY5MTY1MDA3Ml8x \ --policy file://my-new-policy.json

Pode haver alguns minutos de atraso entre a atualização da política e o momento em que os novos períodos de retenção são aplicados.

Como excluir políticas de ciclo de vida dos dados

Quando você exclui uma política de ciclo de vida de dados, ela não se aplica mais a nenhum índice correspondente. Para excluir uma política no console OpenSearch sem servidor, selecione a política e escolha Excluir.

Você também pode usar o DeleteLifecyclePolicycomando:

aws opensearchserverless delete-lifecycle-policy --name my-policy --type retention