Я хочу поместить данные, подобные PDX, в регион с GFSH
В GFSH я хочу запустить команду put, чтобы создать ключ и значение с набором значений, подобных PDX... Например:
put --key=('test1') --value=('Client':'XYZ', 'MsgType':'R', 'OrdType':'C', 'SecurityType':'FOR', 'Symbol':'EUR/USD', 'QuoteReqId':'test1', 'OrderQty':'100000', 'OrderQty2':'0', 'Reference1':'GFSH Test', 'StreamingQuoteDuration':'30', 'FutSettDate':'20200102', 'Currency':'EUR') --region=/myRegion
Это возвращает ошибку
Вы не можете указать ':'R', 'OrdType':'C', 'SecurityType':'FOR', 'Symbol':'EUR/USD', 'QuoteReqId':'test1', 'OrderQty':'100000', 'OrderQty2':'0', 'Reference1':'GFSH Test', 'StreamingQuoteDuration':'30', 'FutSettDate':'20200102', 'Currency':'EUR')' в качестве другого значения для значения по умолчанию ('') в одной команде. Вы уже указали "MsgType" ранее. Вы забыли добавить в кавычки значение другого варианта?
2 ответа
Я попробовал ответить @Juan Ramos выше, но это не совсем сработало. Пробелы не проблема - что заставляет начальную работу поставить, так это добавление двойных кавычек вокруг строки значения в скобках:
put --key=('test1') --value="('Client':'XYZ', 'MsgType':'R', 'OrdType':'C', 'SecurityType':'FOR', 'Symbol':'EUR/USD', 'QuoteReqId':'test1', 'OrderQty':'100000', 'OrderQty2':'0', 'Reference1':'GFSH Test', 'StreamingQuoteDuration':'30', 'FutSettDate':'20200102', 'Currency':'EUR')" --region=/myRegion
Это по-прежнему помещает строку в область и не делает PDX-представление данных.
Вам в основном нужно удалить все пробелы внутри value
вариант, все работает нормально, как только вы это сделаете:
gfsh>put --key=('test1') --value=('Client':'XYZ','MsgType':'R','OrdType':'C','SecurityType':'FOR','Symbol':'EUR/USD','QuoteReqId':'test1','OrderQty':'100000','OrderQty2':'0','Reference1':'GFSHTest','StreamingQuoteDuration':'30','FutSettDate':'20200102','Currency':'EUR') --region=/myRegion
Result : true
Key Class : java.lang.String
Key : {'test1'}
Value Class : java.lang.String
Old Value : null
gfsh>query --query="SELECT * FROM /myRegion"
Result : true
Limit : 100
Rows : 1
Result
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
{'Client':'XYZ','MsgType':'R','OrdType':'C','SecurityType':'FOR','Symbol':'EUR/USD','QuoteReqId':'test1','OrderQty':'100000','OrderQty2':'0','Reference1':'GFSHTest','StreamingQuoteDuration':'30','FutSettDate':'20200102','Currency':'EUR'}
Ура.