

# Usar operações em lote do S3 com o modo de conformidade de retenção do bloqueio de objetos do S3
<a name="batch-ops-compliance-mode"></a>

O exemplo a seguir baseia-se nos exemplos anteriores de criação de uma política de confiança e na definição de permissões de configuração do Operações em lote do S3 e Bloqueio de objetos do S3 em seus objetos. Este exemplo define o modo de retenção como `COMPLIANCE` e `retain until date` como 1.º de janeiro de 2025. Esse exemplo cria um trabalho que visa objetos no bucket de manifesto e relata os resultados no bucket de relatórios identificado.

Para usar os exemplos a seguir, substitua {{`user input placeholders`}} por suas próprias informações. 

## Como usar o AWS CLI
<a name="batch-ops-cli-object-lock-compliance-example"></a>

Os exemplos da AWS CLI a seguir mostram como usar o Operações em Lote para aplicar o modo de conformidade de retenção do Bloqueio de Objetos do S3 a vários objetos.

**Example – Definir o modo de conformidade de retenção do Bloqueio de Objetos do S3 em vários objetos**  

```
export AWS_PROFILE='{{aws-user}}'
export AWS_DEFAULT_REGION='{{us-west-2}}'
export ACCOUNT_ID={{123456789012}}
export ROLE_ARN='arn:aws:iam::{{123456789012}}:role/{{batch_operations-objectlock}}'

read -d '' {{OPERATION}} <<EOF
{
  "S3PutObjectRetention": {
    "Retention": {
      "RetainUntilDate":"{{2025-01-01T00:00:00}}",
      "Mode":"COMPLIANCE"
    }
  }
}
EOF

read -d '' {{MANIFEST}} <<EOF
{
  "Spec": {
    "Format": "S3BatchOperations_CSV_20180820",
    "Fields": [
      "Bucket",
      "Key"
    ]
  },
  "Location": {
    "ObjectArn": "arn:aws:s3:::{{{{amzn-s3-demo-manifest-bucket}}/compliance-objects-manifest.csv}}",
    "ETag": "{{Your-manifest-ETag}}"
  }
}
EOF

read -d '' {{REPORT}} <<EOF
{
  "Bucket": "arn:aws:s3:::{{ReportBucket}}",
  "Format": "Report_CSV_20180820",
  "Enabled": true,
  "Prefix": "{{{{amzn-s3-demo-completion-report-bucket}}/compliance-objects-batch-operations}}",
  "ReportScope": "AllTasks"
}
EOF

aws \
    s3control create-job \
    --account-id "${{{ACCOUNT_ID}}}" \
    --manifest "${{{MANIFEST}}//$'\n'}" \
    --operation "${{{OPERATION}}//$'\n'/}" \
    --report "${{{REPORT}}//$'\n'}" \
    --priority 10 \
    --role-arn "${{{ROLE_ARN}}}" \
    --client-request-token "$(uuidgen)" \
    --region "${{{AWS_DEFAULT_REGION}}}" \
    --description "{{Set compliance retain-until to 1 Jul 2030}}";
```

**Example – Estender o `retain until date` do modo de `COMPLIANCE` para 15 de janeiro de 2025**  
O exemplo a seguir estende a `retain until date` do modo de `COMPLIANCE` para 15 de janeiro de 2025.  

```
export AWS_PROFILE='{{aws-user}}'
export AWS_DEFAULT_REGION='{{us-west-2}}'
export ACCOUNT_ID={{123456789012}}
export ROLE_ARN='arn:aws:iam::{{123456789012}}:role/{{batch_operations-objectlock}}'

read -d '' {{OPERATION}} <<EOF
{
  "S3PutObjectRetention": {
    "Retention": {
      "RetainUntilDate":"{{2025-01-15T00:00:00}}",
      "Mode":"COMPLIANCE"
    }
  }
}
EOF

read -d '' {{MANIFEST}} <<EOF
{
  "Spec": {
    "Format": "S3BatchOperations_CSV_20180820",
    "Fields": [
      "Bucket",
      "Key"
    ]
  },
  "Location": {
    "ObjectArn": "arn:aws:s3:::{{{{amzn-s3-demo-manifest-bucket}}/compliance-objects-manifest.csv}}",
    "ETag": "{{Your-manifest-ETag}}"
  }
}
EOF

read -d '' {{REPORT}} <<EOF
{
  "Bucket": "arn:aws:s3:::{{amzn-s3-demo-completion-report-bucket}}",
  "Format": "Report_CSV_20180820",
  "Enabled": true,
  "Prefix": "{{reports/compliance-objects-batch_operations}}",
  "ReportScope": "AllTasks"
}
EOF

aws \
    s3control create-job \
    --account-id "${{{ACCOUNT_ID}}}" \
    --manifest "${{{MANIFEST}}//$'\n'}" \
    --operation "${{{OPERATION}}//$'\n'/}" \
    --report "${{{REPORT}}//$'\n'}" \
    --priority 10 \
    --role-arn "${{{ROLE_ARN}}}" \
    --client-request-token "$(uuidgen)" \
    --region "${{{AWS_DEFAULT_REGION}}}" \
    --description "{{Extend compliance retention to 15 Jan 2025}}";
```

## Usar o AWS SDK for Java
<a name="batch-ops-examples-java-object-lock-compliance"></a>

Os seguintes exemplos do AWS SDK para Java mostram como usar o recurso Operações em Lote para aplicar o modo de conformidade de retenção do Bloqueio de Objetos do S3 a vários objetos, inclusive como definir o modo de retenção como COMPLIANCE com um prazo de retenção e estender o prazo de retenção do modo COMPLIANCE.

Para ver exemplos de como usar o recurso Operações em Lote para aplicar o modo de conformidade de retenção do Bloqueio de Objetos do S3 em vários objetos com o AWS SDK para Java, consulte [Use CreateJob with an AWS SDK or CLI](https://docs.aws.amazon.com/AmazonS3/latest/API/s3-control_example_s3-control_CreateJob_section.html) na *Referência de API do Amazon S3*.