

# Uso de operaciones por lotes de S3 con el modo de conformidad de la retención de bloqueo de objetos de S3
<a name="batch-ops-compliance-mode"></a>

El siguiente ejemplo se basa en los ejemplos anteriores de creación de una política de confianza y en establecer permisos de configuración de Operaciones por lotes de S3 y Bloqueo de objetos en S3 en sus objetos. En este ejemplo se establece el modo de retención en `COMPLIANCE` y la `retain until date` del 1 de enero de 2025. En este ejemplo, se crea un trabajo que apunta a objetos del bucket del manifiesto e informa de los resultados en el bucket de informes que ha identificado.

Para utilizar los siguientes ejemplos, reemplace los {{`user input placeholders`}} con su propia información. 

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

En los siguientes ejemplos de AWS CLI, se muestra cómo utilizar Operaciones por lotes para aplicar el modo de cumplimiento de retención de Bloqueo de objetos de S3 en varios objetos.

**Example — Establecimiento del modo de cumplimiento de la retención de Bloqueo de objetos de S3 en varios 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 — Ampliación del `retain until date` del modo de `COMPLIANCE` hasta el 15 de enero de 2025**  
El siguiente ejemplo extiende la `COMPLIANCE` del modo de `retain until date` hasta el 15 de enero 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}}";
```

## Uso de AWS SDK para Java
<a name="batch-ops-examples-java-object-lock-compliance"></a>

En los ejemplos siguientes del AWS SDK para Java se muestra cómo utilizar operaciones por lotes para aplicar el modo de cumplimiento de la retención de bloqueo de objetos de S3 en varios objetos, incluida la configuración del modo de retención en CUMPLIMIENTO con una fecha límite de retención y la ampliación de la fecha límite de retención del modo de CUMPLIMIENTO.

Para ver ejemplos de cómo usar operaciones por lotes para aplicar el modo de cumplimiento de retención de bloqueo de objetos de S3 en varios objetos con el 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) en la *Referencia de la API de Amazon S3*.