View a markdown version of this page

Uso de UpdateJobStatus con un SDK de AWS o la CLI - Amazon Simple Storage Service

Uso de UpdateJobStatus con un SDK de AWS o la CLI

Los siguientes ejemplos de código muestran cómo utilizar UpdateJobStatus.

Los ejemplos de acciones son extractos de código de programas más grandes y deben ejecutarse en contexto. Puede ver esta acción en contexto en el siguiente ejemplo de código:

CLI
AWS CLI

Para actualizar el estado de un trabajo de Operaciones por lotes de Amazon S

En el siguiente ejemplo de update-job-status, se cancela el trabajo especificado que espera ser aprobado.

aws s3control update-job-status \ --account-id 123456789012 \ --job-id 8d9a18fe-c303-4d39-8ccc-860d372da386 \ --requested-job-status Cancelled

Salida:

{ "Status": "Cancelled", "JobId": "8d9a18fe-c303-4d39-8ccc-860d372da386" }

En el siguiente ejemplo de update-job-status, se confirma y ejecuta el trabajo especificado que espera ser aprobado.

aws s3control update-job-status \ --account-id 123456789012 \ --job-id 5782949f-3301-4fb3-be34-8d5bab54dbca \ --requested-job-status Ready Output:: { "Status": "Ready", "JobId": "5782949f-3301-4fb3-be34-8d5bab54dbca" }

En el siguiente ejemplo de update-job-status, se cancela el trabajo especificado que se está ejecutando.

aws s3control update-job-status \ --account-id 123456789012 \ --job-id 5782949f-3301-4fb3-be34-8d5bab54dbca \ --requested-job-status Cancelled Output:: { "Status": "Cancelling", "JobId": "5782949f-3301-4fb3-be34-8d5bab54dbca" }
  • Para obtener información sobre la API, consulte UpdateJobStatus en la Referencia de la API de la AWS CLI.

Java
SDK para Java 2.x
nota

Hay más en GitHub. Busque el ejemplo completo y aprenda a configurar y ejecutar en el Repositorio de ejemplos de código de AWS.

/** * Cancels a job asynchronously. * * @param jobId The ID of the job to be canceled. * @param accountId The ID of the account associated with the job. * @return A {@link CompletableFuture} that completes when the job status has been updated to "CANCELLED". * If an error occurs during the update, the returned future will complete exceptionally. */ public CompletableFuture<Void> cancelJobAsync(String jobId, String accountId) { UpdateJobStatusRequest updateJobStatusRequest = UpdateJobStatusRequest.builder() .accountId(accountId) .jobId(jobId) .requestedJobStatus(String.valueOf(JobStatus.CANCELLED)) .build(); return asyncClient.updateJobStatus(updateJobStatusRequest) .thenAccept(updateJobStatusResponse -> { System.out.println("Job status updated to: " + updateJobStatusResponse.status()); }) .exceptionally(ex -> { System.err.println("Failed to cancel job: " + ex.getMessage()); throw new RuntimeException(ex); // Propagate the exception }); }
  • Para obtener información sobre la API, consulte UpdateJobStatus en la Referencia de la API de AWS SDK for Java 2.x.

Python
SDK para Python (Boto3)
nota

Hay más en GitHub. Busque el ejemplo completo y aprenda a configurar y ejecutar en el Repositorio de ejemplos de código de AWS.

def cancel_job(self, job_id: str, account_id: str) -> None: """ Cancel an S3 batch job. Args: job_id (str): ID of the batch job account_id (str): AWS account ID """ try: response = self.s3control_client.describe_job( AccountId=account_id, JobId=job_id ) current_status = response['Job']['Status'] print(f"Current job status: {current_status}") if current_status in ['Ready', 'Suspended', 'Active']: self.s3control_client.update_job_status( AccountId=account_id, JobId=job_id, RequestedJobStatus='Cancelled' ) print(f"Job {job_id} was successfully canceled.") elif current_status in ['Completing', 'Complete']: print(f"Job is in '{current_status}' state - cannot be cancelled") if current_status == 'Completing': print("Job is finishing up and will complete soon.") elif current_status == 'Complete': print("Job has already completed successfully.") else: print(f"Job is in '{current_status}' state - cancel not allowed") except ClientError as e: print(f"Error canceling job: {e}") raise
  • Para obtener información sobre la API, consulte UpdateJobStatus en la Referencia de la API de AWS SDK para Python (Boto3).

SAP ABAP
SDK para SAP ABAP
nota

Hay más en GitHub. Busque el ejemplo completo y aprenda a configurar y ejecutar en el Repositorio de ejemplos de código de AWS.

TRY. " iv_requested_status = 'Cancelled' oo_result = lo_s3c->updatejobstatus( " oo_result is returned for testing purposes. iv_accountid = iv_account_id iv_jobid = iv_job_id iv_requestedjobstatus = iv_requested_status ). MESSAGE |Job { oo_result->get_jobid( ) } status updated to { oo_result->get_status( ) }| TYPE 'I'. CATCH /aws1/cx_s3cjobstatusexception INTO DATA(lo_ex_js). MESSAGE lo_ex_js->get_text( ) TYPE 'I'. RAISE EXCEPTION TYPE /aws1/cx_rt_generic EXPORTING previous = lo_ex_js. CATCH /aws1/cx_s3cnotfoundexception INTO DATA(lo_ex_nf). MESSAGE lo_ex_nf->get_text( ) TYPE 'I'. RAISE EXCEPTION TYPE /aws1/cx_rt_generic EXPORTING previous = lo_ex_nf. CATCH /aws1/cx_s3cclientexc INTO DATA(lo_ex_cli). MESSAGE lo_ex_cli->get_text( ) TYPE 'I'. RAISE EXCEPTION TYPE /aws1/cx_rt_generic EXPORTING previous = lo_ex_cli. CATCH /aws1/cx_s3cserverexc INTO DATA(lo_ex_srv). MESSAGE lo_ex_srv->get_text( ) TYPE 'I'. RAISE EXCEPTION TYPE /aws1/cx_rt_generic EXPORTING previous = lo_ex_srv. ENDTRY.
  • Para obtener información sobre la APl, consulte UpdateJobStatus en la Referencia de la API de AWS SDK para SAP ABAP.

Para obtener una lista completa de las guías para desarrolladores de AWS SDK y ejemplos de código, consulte Desarrollo con Amazon S3 mediante los SDK de AWS. En este tema también se incluye información sobre cómo empezar a utilizar el SDK y detalles sobre sus versiones anteriores.