[NO ISSUE][OTH] Add API to IO cloud mgr to put data in dir in bucket

- user model changes: no
- storage format changes: no
- interface changes: no

Details:
Change-Id: Ic3c0f7440d96ca762deb2bb28dfce3c7a4af2aae
Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/18130
Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Reviewed-by: Ali Alsuliman <ali.al.solaiman@gmail.com>
Reviewed-by: Murtadha Hubail <mhubail@apache.org>
diff --git a/asterixdb/asterix-cloud/src/main/java/org/apache/asterix/cloud/AbstractCloudIOManager.java b/asterixdb/asterix-cloud/src/main/java/org/apache/asterix/cloud/AbstractCloudIOManager.java
index dc8bc68..f271f1d 100644
--- a/asterixdb/asterix-cloud/src/main/java/org/apache/asterix/cloud/AbstractCloudIOManager.java
+++ b/asterixdb/asterix-cloud/src/main/java/org/apache/asterix/cloud/AbstractCloudIOManager.java
@@ -279,4 +279,15 @@
     public final JsonNode listAsJson(ObjectMapper objectMapper) {
         return cloudClient.listAsJson(objectMapper, bucket);
     }
+
+    /**
+     * Writes the bytes to the specified key in the bucket
+     *
+     * @param key the key where the bytes will be written
+     * @param bytes the bytes to write
+     */
+    public final void put(String key, byte[] bytes) {
+        cloudClient.write(bucket, key, bytes);
+    }
+
 }
diff --git a/hyracks-fullstack/hyracks/hyracks-util/src/main/java/org/apache/hyracks/util/JSONUtil.java b/hyracks-fullstack/hyracks/hyracks-util/src/main/java/org/apache/hyracks/util/JSONUtil.java
index 191df1f..426b6f4 100644
--- a/hyracks-fullstack/hyracks/hyracks-util/src/main/java/org/apache/hyracks/util/JSONUtil.java
+++ b/hyracks-fullstack/hyracks/hyracks-util/src/main/java/org/apache/hyracks/util/JSONUtil.java
@@ -58,6 +58,10 @@
         return SORTED_MAPPER.writeValueAsString(SORTED_MAPPER.treeToValue(node, Object.class));
     }
 
+    public static byte[] asBytes(JsonNode node) throws JsonProcessingException {
+        return OBJECT_MAPPER.writeValueAsBytes(node);
+    }
+
     public static String convertNodeUnchecked(final JsonNode node) throws UncheckedExecutionException {
         try {
             return convertNode(node);