code: def objects_compose(bucket_name, object_name):
      """Implement the 'Objects: compose' API: concatenate Objects."""
      payload = json.loads(flask.request.data)
      source_objects = payload["sourceObjects"]
      if source_objects is None:
          raise error_response.ErrorResponse(
              "You must provide at least one source component.",
              status_code=400,
          )
      if len(source_objects) > 32:
          raise error_response.ErrorResponse(
              "The number of source components provided"
              " (%d) exceeds the maximum (32)" % len(source_objects),
              status_code=400,
          )
      composed_media = b""
      for source_object in source_objects:
          source_object_name = source_object.get("name")
          if source_object_name is None:
              raise error_response.ErrorResponse(
                  "Required.", status_code=400
              )
          (
              source_object_path,
              source_blob,
          ) = testbench_utils.lookup_object(
              bucket_name, source_object_name
          )
          source_revision = source_blob.get_latest()
          generation = source_object.get("generation")
          if generation is not None:
              source_revision = source_blob.get_revision_by_generation(
                  generation
              )
              if source_revision is None:
                  raise error_response.ErrorResponse(
                      "No such object: %s" % source_object_path,
                      status_code=404,
                  )
          object_preconditions = source_object.get(
              "objectPreconditions"
          )
          if object_preconditions is not None:
              if_generation_match = object_preconditions.get(
                  "ifGenerationMatch"
              )
              source_blob.check_preconditions_by_value(
                  if_generation_match, None, None, None
              )
          composed_media += source_revision.media
      (
          composed_object_path,
          composed_object,
      ) = testbench_utils.get_object(
          bucket_name,
          object_name,
          gcs_object.GcsObject(bucket_name, object_name),
      )
      composed_object.check_preconditions(flask.request)
      base_url = flask.url_for("gcs_index", _external=True)
      current_version = composed_object.compose_from(
          base_url, flask.request, composed_media
      )
      testbench_utils.insert_object(
          composed_object_path, composed_object
      )
      return testbench_utils.filtered_response(
          flask.request, current_version.metadata
      )
  
imports: import argparse
  import error_response
  import flask
  import gcs_bucket
  import gcs_object
  import json
  import os
  import re
  import testbench_utils
  import time
  import sys
  from werkzeug import serving
  from werkzeug.middleware.dispatcher import DispatcherMiddleware
label_desc: Use image node_id 19 for calling a global function with example usage: objects_compose(bucket_name, object_name) and returns: testbench_utils