Once the S3SERV process is configured and running, any NonStop application can access S3 by sending the process a predefined IPM request and waiting for the response. Each IPM request includes a header containing a 2-byte request code. The request code indicates which S3SERV service should be invoked by the IPM request. The remainder of the IPM consists of fields that correspond to the parameters of the selected S3SERV request.
For example, the
s3-copy-object-rq DDL for the "copy S3 object" request is used to invoke a copy one S3 object to another:
Initialize the s3-copy-object-rq structure to 0 values.
Set the s3-copy-object-rq.rq-hdr.rq-code to S3-RQ-COPY-OBJECT.
Set the s3-copy-object-rq.source-object to the name of the S3 object to copy from.
Set the s3-copy-object-rq.target-object to the name of the S3 object or bucket to copy to.
Send the IPM to the S3SERV process using the appropriate Guardian system procedure call.
Once the S3SERV process completes the S3 service request, it returns the response in an IPM. This response IPM also contains a standard S3SERV header which contains a 2-byte response code. If the response code is zero, the remainder of the IPM consists of the appropriate reply IPM. If the response code is non-zero, then the application should treat the response as an error.