def _save_ec2_package_relations_batch()

in lambdas/helper/dal.py [0:0]


    def _save_ec2_package_relations_batch(self, aws_instance_id, package_list, batch_size=200, ignore_key_conflict=True):
        DataAccessLayer._xray_start('save_ec2_package_relations_batch')
        try:
            ignore = 'ignore' if ignore_key_conflict else ''
            sql_parameter_sets = []
            for package in package_list:
                sql_parameters = [
                    {'name':'aws_instance_id', 'value':{'stringValue': aws_instance_id}},
                    {'name':'package_name', 'value':{'stringValue': package['package_name']}},
                    {'name':'package_version', 'value':{'stringValue': package['package_version']}}
                ]
                sql_parameter_sets.append(sql_parameters)
            sql = f'insert {ignore} into {ec2_package_table_name}' \
                f' (aws_instance_id, package_name, package_version)' \
                f' values (:aws_instance_id, :package_name, :package_version)'
            response = self.batch_execute_statement(sql, sql_parameter_sets, batch_size)
            return response
        finally:
            DataAccessLayer._xray_stop()