def get_emr_workspace_storage_location()

in migration/utils/emr_helper.py [0:0]


def get_emr_workspace_storage_location(workspace_id, region):
    method = 'POST'
    service = 'elasticmapreduce'
    host = f'elasticmapreduce.{region}.amazonaws.com'
    target = 'ElasticMapReduce.DescribeEditorPrivate'
    endpoint = '/'

    canonical_uri = endpoint
    raw_data = json.dumps(
        {
            "EditorId": workspace_id
        }
    )
    request_url = 'https://' + host + canonical_uri
    headers = sign_request(method, service, host, region, canonical_uri, target, raw_data)

    print(f"Getting workspace storage location for workspace {workspace_id} in region {region}...")
    response = requests.request(method, request_url, headers=headers, timeout=5, data=raw_data)
    response.raise_for_status()
    print(f"Got workspace storage location for workspace {workspace_id} in region {region}.")

    response_json = response.json()
    return f"{response_json['Editor']['LocationUri']}/{workspace_id}/"