Example
The following example uses the S3ObjectStorageScan operator to scan files and submits object names to a S3ObjectStorageSource operator.
Access key ID and secret access keys passed in at submission time are used for authentication.
composite Main {
param
expression<rstring> $accessKeyID : getSubmissionTimeValue("os-access-key-id");
expression<rstring> $secretAccessKey : getSubmissionTimeValue("os-secret-access-key");
expression<rstring> $bucket: getSubmissionTimeValue("os-bucket");
expression<rstring> $endpoint: getSubmissionTimeValue("os-endpoint", "s3.us.cloud-object-storage.appdomain.cloud");
graph
// S3ObjectStorageScan operator with directory and pattern
stream<rstring name> Scanned = com.teracloud.streams.objectstorage.s3::S3ObjectStorageScan() {
param
accessKeyID : $accessKeyID;
secretAccessKey : $secretAccessKey;
bucket : $bucket;
endpoint: $endpoint;
directory: "/sample";
pattern: ".*";
}
// use a S3ObjectStorageSource operator to process the object names
stream<rstring line> Data = com.teracloud.streams.objectstorage.s3::S3ObjectStorageSource(Scanned) {
param
accessKeyID : $accessKeyID;
secretAccessKey : $secretAccessKey;
bucket : $bucket;
endpoint: $endpoint;
}
}