从python瘦客户端调用put_all时出错

从python瘦客户端调用put_all时出错,python,thin-client,Python,Thin Client,我正在研究“create_binary.py”示例,而不是将其放入缓存,而是尝试将多个记录放入缓存。虽然put成功,但put\u all给出错误 student_cache = client.get_or_create_cache({ PROP_NAME: 'SQL_PUBLIC_STUDENT', PROP_SQL_SCHEMA: 'PUBLIC', PROP_QUERY_ENTITIES: [ { 'table_name': '

我正在研究“create_binary.py”示例,而不是将其放入缓存,而是尝试将多个记录放入缓存。虽然
put
成功,但
put\u all
给出错误

student_cache = client.get_or_create_cache({
    PROP_NAME: 'SQL_PUBLIC_STUDENT',
    PROP_SQL_SCHEMA: 'PUBLIC',
    PROP_QUERY_ENTITIES: [
        {
            'table_name': 'Student'.upper(),
            'key_field_name': 'SID',
            'key_type_name': 'java.lang.Integer',
            'field_name_aliases': [],
            'query_fields': [
                {
                    'name': 'SID',
                    'type_name': 'java.lang.Integer',
                    'is_key_field': True,
                    'is_notnull_constraint_field': True,
                },
                {
                    'name': 'NAME',
                    'type_name': 'java.lang.String',
                },
                {
                    'name': 'LOGIN',
                    'type_name': 'java.lang.String',
                },
                {
                    'name': 'AGE',
                    'type_name': 'java.lang.Integer',
                },
                {
                    'name': 'GPA',
                    'type_name': 'java.math.Double',
                },
            ],
            'query_indexes': [],
            'value_type_name': 'SQL_PUBLIC_STUDENT_TYPE',
            'value_field_name': None,
        },
    ],
})
把工作做好 把你的一切都搞糟了
put_all
给出错误:

回溯(最近一次调用上次):文件 “C:/ignite/pyignite/examples/create_binary.py”,第105行,在 学生缓存。放置所有({1:student(LOGIN='jdoe',NAME='John Doe',AGE=17,GPA=4.25),2:student(LOGIN='jdoe2',NAME='John Doe2',AGE=18, GPA=4.25)})文件 “C:\Users\nbkmqoi\AppData\Roaming\Python\Python35\site packages\pyignite\utils.py”, 第169行,在ste_包装中 raise exc(result.message)pyignite.exceptions.CacheError:未能更新密钥(如果可能,请重试更新)。:[1,2]

我怎样才能让所有的人都工作? 谢谢

我明白了。 需要使用键在turple中添加数据类型

学生缓存。放入所有({(1,输入对象):学生(LOGIN='jdoe',NAME='John Doe',AGE=17,GPA=4.25),(2,输入对象):学生(LOGIN='jdoe2',NAME='John Doe2',AGE=18,GPA=4.25)

。 需要使用键在turple中添加数据类型


学生(LOGIN='jdoe',NAME='John Doe',AGE=17,GPA=4.25),(2,IntObject):学生(LOGIN='jdoe2',NAME='John Doe2',AGE=18,GPA=4.25)

似乎对于put,我们需要给出一个键提示(key\u hint=IntObject)。但是对于put\u all,我们如何放置key\u提示?对于put,我们似乎需要给出key\u提示(key\u hint=IntObject)。但是对于put_all,我们如何放置关键提示?
student_cache.put(
1,
Student(LOGIN='jdoe', NAME='John Doe', AGE=17, GPA=4.25),
key_hint=IntObject
)
student_cache.put_all({1: Student(LOGIN='jdoe', NAME='John Doe', AGE=17, GPA=4.25), 2: Student(LOGIN='jdoe2', NAME='John Doe2', AGE=18, GPA=4.25)})