Converters
Converters Nedir?
Converters, seçilen değişkenin değerini kullanılmadan önce işleyen fonksiyonlardır. Add variable penceresinde Add functions anahtarı açıldığında eklenirler ve eklendikleri sırayla uygulanır: ilk fonksiyon değişkenin değerini alır, sonraki fonksiyon bir öncekinin sonucunu alır. Arayüzde 46 fonksiyon sunulur; fonksiyon listesinde her satır grup adı - fonksiyon adı biçiminde görünür, grupsuz fonksiyonlar yalnız adlarıyla listelenir. Aşağıdaki başlıklar listedeki sırayla aynıdır.
Tipik kullanım: bir başlık değerini küçük harfe çevirip özetini almak, gövdeden JSON ile bir alan çıkarmak, IP adresini bloğa daraltıp listeyle karşılaştırmak.
Fonksiyon Satırları
Add functions anahtarı açıldığında pencereye Function 1 satırı eklenir. Her yeni satır JSON query fonksiyonu ve $.key argümanıyla hazır gelir; istenen fonksiyon listeden seçilerek değiştirilir.
- butonuyla yeni fonksiyon satırı eklenir; satırlar Function 1, Function 2 biçiminde numaralanır.
- butonuyla satır silinir. Tek satır kaldığında bu buton görüntülenmez.
- İki ya da daha fazla satır varken satırın solundaki tutamaçtan sürüklenerek fonksiyonların sırası değiştirilir.
- Bir satırda fonksiyon değiştirildiğinde o satırın argümanları yeni fonksiyonun varsayılanlarına döner.
- Add functions anahtarı kapatılıp yeniden açıldığında önceki satırlar geri gelir.
- Fonksiyon listesi değişkene göre değişmez; aynı 46 fonksiyon bütün değişkenlerde ve bütün alanlarda sunulur.
- AGS OTP değişkenlerinde Add functions satırı görüntülenmez; bu değişkenlere fonksiyon eklenmez.
Tabloların Okunması
| Kolon | İçerik |
|---|---|
| Fonksiyon | Fonksiyon listesinde görünen ad |
| Ne yapar | Fonksiyonun değer üzerinde yaptığı işlem |
| Argüman | Fonksiyon seçilince beliren alanların etiketleri; parantez içinde alanın davranışı ve varsayılanı |
Converters Grubu
Değeri başka bir gösterime çeviren ve geri çözen fonksiyonlar. Bir değeri başlığa, çereze ya da adres satırına güvenle yerleştirmek gerektiğinde kullanılır.
| Fonksiyon | Ne yapar | Argüman |
|---|---|---|
| Encode BASE64 | Değeri Base64 biçimine çevirir. | - |
| Decode BASE64 | Base64 ile yazılmış değeri çözer. | - |
| Hexadecimal | Değeri onaltılık gösterime çevirir. | - |
| URL encode | Değeri adres satırında taşınabilecek biçime kodlar. | - |
| URL decode | Adres kodlamasıyla yazılmış değeri çözer. | - |
| Encode URL-safe BASE64 | Değeri, adres satırında kullanılabilen Base64 biçimine çevirir. | - |
| Decode URL-safe BASE64 | Adres satırına uygun Base64 ile yazılmış değeri çözer. | - |
Math operations
Tam sayı aritmetiği. Sayı döndüren değişkenlerle (sayaçlar, süreler, boyutlar) birlikte kullanılır.
| Fonksiyon | Ne yapar | Argüman |
|---|---|---|
| Integer addition | Değere verilen sayıyı ekler. | Addend (tam sayı, varsayılan 1) |
| Integer multiplication | Değeri verilen sayıyla çarpar. | Multiplicand (tam sayı, varsayılan 1) |
| Integer division | Değeri verilen sayıya böler. | Divider (tam sayı, varsayılan 1) |
| Modulo operation | Bölme işleminden kalanı verir. | Divider (tam sayı, varsayılan 1) |
XML
XML gövdelerinden değer çıkarma ve yol denetimi.
| Fonksiyon | Ne yapar | Argüman |
|---|---|---|
| XML query | XML içinden, belirtilen yoldaki değeri alır. | XML query path (Example: root/books/[2]/title/_attr/text) |
| XML path type | Belirtilen XML yolundaki verinin türünü verir. | XML query path (Example: root/books/[2]/title/_attr/text) |
| XML path exists | Belirtilen XML yolunun bulunup bulunmadığını söyler. | XML query path (Example: root/books/[2]/title/_attr/text) |
JSON
JSON gövdelerinden değer çıkarma ve değeri JSON içinde kullanılabilir hale getirme.
| Fonksiyon | Ne yapar | Argüman |
|---|---|---|
| JSON query | JSON içinden, belirtilen yoldaki değeri alır. | JSON path (Example: $.books[0]) (varsayılan $.key) |
| Convert to JSON text | Değeri bir JSON metninin içine yerleştirilebilecek biçime getirir. | - |
FORM parameter
Fonksiyon listesinde bir grup adı altında değil, tek başına görünür.
| Fonksiyon | Ne yapar | Argüman |
|---|---|---|
| FORM parameter | Form verisinin içinden, belirtilen parametreyi alır. | Parameter name |
JWT (JSON Web Token)
JWT (JSON Web Token) yapısının başlık ve yük bölümlerinden değer okuma. Belirteç içindeki kullanıcı bilgisine göre karar vermek için kullanılır.
| Fonksiyon | Ne yapar | Argüman |
|---|---|---|
| JWT header query | Belirtecin başlık bölümünden, belirtilen yoldaki değeri alır. | JSON path (Example: $.books[0]) (varsayılan $.key) |
| JWT payload query | Belirtecin yük bölümünden, belirtilen yoldaki değeri alır. | JSON path (Example: $.books[0]) (varsayılan $.key) |
IP
IP adresi üzerinde maskeleme ve konum sorgulama.
| Fonksiyon | Ne yapar | Argüman |
|---|---|---|
| IP masking | IP adresini verilen maskeye göre daraltır; tek tek adresler yerine blok elde edilir. | CIDR (tam sayı, varsayılan 24; form 0-128 kabul eder, yalnız IPv4 adresler maskelenir) |
| Get country of IP | IP adresinin iki harfli ülke kodunu verir (ör. TR); özel ve yerel ağlardaki adresler için ISO listesinde bulunmayan XX kodu döner, eşleşme yoksa sonuç boş kalır. | - |
Text manipulation
Metin üzerinde uzunluk, harf düzeni, değiştirme ve bölme işlemleri. Karşılaştırmadan önce değeri sadeleştirmek için kullanılır.
| Fonksiyon | Ne yapar | Argüman |
|---|---|---|
| Text length | Değerin bayt cinsinden uzunluğunu verir; çok baytlı UTF-8 karakterlerde sonuç karakter sayısından büyük olur. | - |
| Convert to lowercase | Harfleri küçültür. | - |
| Convert to UPPERCASE | Harfleri büyütür. | - |
| Replace (first) | Aranan düzenli ifadenin ilk eşleştiği yeri yeni değerle değiştirir. | To replace (düzenli ifade) · New value (boş bırakılabilir) |
| Replace (all) | Aranan düzenli ifadenin eşleştiği bütün yerleri yeni değerle değiştirir. | To replace (düzenli ifade) · New value (boş bırakılabilir) |
| Split text | Değeri ayraç karakterlerinden bölüp belirtilen sıradaki parçadan başlayarak istenen sayıda parçayı alır. | Delimeter (her karakter ayrı bir ayraçtır; boşluklar kırpılmaz) · From (1'den başlar) · Total |
Hash
Fonksiyon listesinde bir grup adı altında değil, tek başına görünür.
| Fonksiyon | Ne yapar | Argüman |
|---|---|---|
| Hash | Değerin özetini alır; değerin kendisi yerine özeti kullanılır. | Hash algorithm (md5,sha256,...) (varsayılan sha256; hazır listede 22 algoritma) |
HMAC signature
Fonksiyon listesinde bir grup adı altında değil, tek başına görünür.
| Fonksiyon | Ne yapar | Argüman |
|---|---|---|
| HMAC signature | Değerin, verilen anahtarla imzalanmış özetini alır. | Hash algorithm (md5,sha256,...) (varsayılan sha256; hazır listede 22 algoritma) · HMAC key · HMAC key format (liste: base64, hex, text; varsayılan base64) |
Conditional text
Fonksiyon listesinde bir grup adı altında değil, tek başına görünür.
| Fonksiyon | Ne yapar | Argüman |
|---|---|---|
| Conditional text | Değer doğruysa birinci metni, değilse ikinci metni yazar. | If true · If false |
FIX (Financial Information eXchange)
FIX (Financial Information eXchange) mesajlarının alanlarını okur ve yapısını denetler.
| Fonksiyon | Ne yapar | Argüman |
|---|---|---|
| FIX tag value | FIX mesajında, belirtilen etiketin değerini verir. | FIX tag (liste, 405 benzersiz etiket; Currency listede iki kez yer aldığı için 406 satır görünür; varsayılan Account) |
| FIX structure check | Değerin geçerli bir FIX mesajı olup olmadığını söyler. | - |
MQTT
MQTT paketlerinin alanlarını okur ve yapısını denetler.
| Fonksiyon | Ne yapar | Argüman |
|---|---|---|
| MQTT value | MQTT paketinde, belirtilen alanın değerini verir. | MQTT packet type (liste: CONNECT, CONNACK; varsayılan CONNECT) · MQTT field name (liste, paket türüne göre değişir; varsayılan flags) |
| MQTT structure check | Değerin geçerli bir MQTT paketi olup olmadığını söyler. | - |
List
Değeri, argüman alanına yazılan bir listeyle karşılaştırır. In list fonksiyonları değerin listede bulunup bulunmadığını, Mapping fonksiyonları ise eşleşen satırın karşılığını verir. In list fonksiyonlarının sonucu sayıdır: eşleşme varsa 1, yoksa 0.
| Fonksiyon | Ne yapar | Argüman |
|---|---|---|
| Mapping (exact match) | Birebir eşleşen satırın karşılığını verir. | Mapping (çok satırlı alan) |
| Mapping (regex match) | Kalıbı uyan satırın karşılığını verir; karşılık metninde \1, \2 gibi geri başvurularla eşleşen bölümler kullanılır. | Mapping (çok satırlı alan) |
| Mapping (substring match) | İçerme kuralına uyan satırın karşılığını verir. | Mapping (çok satırlı alan) |
| Mapping (IP/cidr match) | Adres ya da blok eşleşmesine uyan satırın karşılığını verir. | Mapping (çok satırlı alan) |
| Mapping (beginning match) | Başlangıcı eşleşen satırın karşılığını verir. | Mapping (çok satırlı alan) |
| Mapping (ending match) | Sonu eşleşen satırın karşılığını verir. | Mapping (çok satırlı alan) |
| In list (exact match) | Değerin listede birebir bulunup bulunmadığını söyler. | List to query (çok satırlı alan) |
| In list (regex match) | Değerin, listedeki kalıplardan birine uyup uymadığını söyler. | List to query (çok satırlı alan) |
| In list (substring match) | Değerin, listedeki ifadelerden birini içerip içermediğini söyler. | List to query (çok satırlı alan) |
| In list (IP/cidr match) | IP adresinin, listedeki adres ya da bloklara girip girmediğini söyler. | List to query (çok satırlı alan) |
| In list (beginning match) | Değerin, listedeki ifadelerden biriyle başlayıp başlamadığını söyler. | List to query (çok satırlı alan) |
| In list (ending match) | Değerin, listedeki ifadelerden biriyle bitip bitmediğini söyler. | List to query (çok satırlı alan) |
Liste ve Eşleştirme Alanları
Liste fonksiyonlarında karşılaştırılacak içerik ayrıca tanımlanan bir liste nesnesinden seçilmez; doğrudan fonksiyonun argüman alanına yazılır. TR7, yapılandırmayı üretirken bu içeriği kendi dosyasına yazar ve karşılaştırmayı o dosya üzerinden yapar.
| Fonksiyon türü | Argüman alanına yazılan |
|---|---|
| In list | Aranacak değerler; boşluk ya da satır sonuyla ayrılır. Sonuç eşleşmede 1, eşleşme yoksa 0 olur |
| Mapping | Her satırda önce anahtar, sonra bir boşluk, sonra karşılığı. Karşılığı olmayan satırlar dikkate alınmaz; hiçbir satır eşleşmezse sonuç boş olur |
Seçenek Listeleri
Hash algorithm (md5,sha256,...) hazır listesi (22)
blake2b512, blake2s256, gost, md2, md4, md5, mdc2, rmd160, sha1, sha224, sha256, sha3-224, sha3-256, sha3-384, sha3-512, sha384, sha512, sha512-224, sha512-256, shake128, shake256, sm3
Alan serbest metin kabul eder; liste yalnız öneri olarak sunulur.
MQTT field name seçenekleri
MQTT packet type CONNECT iken (23): flags, protocol_name, protocol_version, client_identifier, will_topic, will_payload, username, password, keepalive, 1, 2, 3, 8, 9, 17, 18, 21, 22, 23, 25, 33, 34, 39
MQTT packet type CONNACK iken (19): flags, protocol_version, reason_code, 17, 18, 19, 21, 22, 26, 28, 31, 33, 34, 36, 37, 39, 40, 41, 42
FIX tag seçenekleri (405 benzersiz etiket)
Account, AdvId, AdvRefID, AdvSide, AdvTransType, AvgPx, BeginSeqNo, BeginString, BodyLength, CheckSum, ClOrdID, Commission, CommType, CumQty, Currency, EndSeqNo, ExecID, ExecInst, ExecRefID, ExecTransType, HandlInst, IDSource, IOIid, IOIOthSvc, IOIQltyInd, IOIRefID, IOIShares, IOITransType, LastCapacity, LastMkt, LastPx, LastShares, LinesOfText, MsgSeqNum, MsgType, NewSeqNo, OrderID, OrderQty, OrdStatus, OrdType, OrigClOrdID, OrigTime, PossDupFlag, Price, RefSeqNum, RelatdSym, Rule80A, SecurityID, SenderCompID, SenderSubID, SendingDate, SendingTime, Shares, Side, Symbol, TargetCompID, TargetSubID, Text, TimeInForce, TransactTime, Urgency, ValidUntilTime, SettlmntTyp, FutSettDate, SymbolSfx, ListID, ListSeqNo, TotNoOrders, ListExecInst, AllocID, AllocTransType, RefAllocID, NoOrders, AvgPrxPrecision, TradeDate, ExecBroker, OpenClose, NoAllocs, AllocAccount, AllocShares, ProcessCode, NoRpts, RptSeq, CxlQty, NoDlvyInst, DlvyInst, AllocStatus, AllocRejCode, Signature, SecureDataLen, SecureData, BrokerOfCredit, SignatureLength, EmailType, RawDataLength, RawData, PossResend, EncryptMethod, StopPx, ExDestination, CxlRejReason, OrdRejReason, IOIQualifier, WaveNo, Issuer, SecurityDesc, HeartBtInt, ClientID, MinQty, MaxFloor, TestReqID, ReportToExch, LocateReqd, OnBehalfOfCompID, OnBehalfOfSubID, QuoteID, NetMoney, SettlCurrAmt, SettlCurrency, ForexReq, OrigSendingTime, GapFillFlag, NoExecs, CxlType, ExpireTime, DKReason, DeliverToCompID, DeliverToSubID, IOINaturalFlag, QuoteReqID, BidPx, OfferPx, BidSize, OfferSize, NoMiscFees, MiscFeeAmt, MiscFeeCurr, MiscFeeType, PrevClosePx, ResetSeqNumFlag, SenderLocationID, TargetLocationID, OnBehalfOfLocationID, DeliverToLocationID, NoRelatedSym, Subject, Headline, URLLink, ExecType, LeavesQty, CashOrderQty, AllocAvgPx, AllocNetMoney, SettlCurrFxRate, SettlCurrFxRateCalc, NumDaysInterest, AccruedInterestRate, AccruedInterestAmt, SettlInstMode, AllocText, SettlInstID, SettlInstTransType, EmailThreadID, SettlInstSource, SettlLocation, SecurityType, EffectiveTime, StandInstDbType, StandInstDbName, StandInstDbID, SettlDeliveryType, SettlDepositoryCode, SettlBrkrCode, SettlInstCode, SecuritySettlAgentName, SecuritySettlAgentCode, SecuritySettlAgentAcctNum, SecuritySettlAgentAcctName, SecuritySettlAgentContactName, SecuritySettlAgentContactPhone, CashSettlAgentName, CashSettlAgentCode, CashSettlAgentAcctNum, CashSettlAgentAcctName, CashSettlAgentContactName, CashSettlAgentContactPhone, BidSpotRate, BidForwardPoints, OfferSpotRate, OfferForwardPoints, OrderQty2, FutSettDate2, LastSpotRate, LastForwardPoints, AllocLinkID, AllocLinkType, SecondaryOrderID, NoIOIQualifiers, MaturityMonthYear, PutOrCall, StrikePrice, CoveredOrUncovered, CustomerOrFirm, MaturityDay, OptAttribute, SecurityExchange, NotifyBrokerOfCredit, AllocHandlInst, MaxShow, PegDifference, XmlDataLen, XmlData, SettlInstRefID, NoRoutingIDs, RoutingType, RoutingID, SpreadToBenchmark, Benchmark, CouponRate, ContractMultiplier, MDReqID, SubscriptionRequestType, MarketDepth, MDUpdateType, AggregatedBook, NoMDEntryTypes, NoMDEntries, MDEntryType, MDEntryPx, MDEntrySize, MDEntryDate, MDEntryTime, TickDirection, MDMkt, QuoteCondition, TradeCondition, MDEntryID, MDUpdateAction, MDEntryRefID, MDReqRejReason, MDEntryOriginator, LocationID, DeskID, DeleteReason, OpenCloseSettleFlag, SellerDays, MDEntryBuyer, MDEntrySeller, MDEntryPositionNo, FinancialStatus, CorporateAction, DefBidSize, DefOfferSize, NoQuoteEntries, NoQuoteSets, QuoteAckStatus, QuoteCancelType, QuoteEntryID, QuoteRejectReason, QuoteResponseLevel, QuoteSetID, QuoteRequestType, TotQuoteEntries, UnderlyingIDSource, UnderlyingIssuer, UnderlyingSecurityDesc, UnderlyingSecurityExchange, UnderlyingSecurityID, UnderlyingSecurityType, UnderlyingSymbol, UnderlyingSymbolSfx, UnderlyingMaturityMonthYear, UnderlyingMaturityDay, UnderlyingPutOrCall, UnderlyingStrikePrice, UnderlyingOptAttribute, Underlying, RatioQty, SecurityReqID, SecurityRequestType, SecurityResponseID, SecurityResponseType, SecurityStatusReqID, UnsolicitedIndicator, SecurityTradingStatus, HaltReason, InViewOfCommon, DueToRelated, BuyVolume, SellVolume, HighPx, LowPx, Adjustment, TradSesReqID, TradingSessionID, ContraTrader, TradSesMethod, TradSesMode, TradSesStatus, TradSesStartTime, TradSesOpenTime, TradSesPreCloseTime, TradSesCloseTime, TradSesEndTime, NumberOfOrders, MessageEncoding, EncodedIssuerLen, EncodedIssuer, EncodedSecurityDescLen, EncodedSecurityDesc, EncodedListExecInstLen, EncodedListExecInst, EncodedTextLen, EncodedText, EncodedSubjectLen, EncodedSubject, EncodedHeadlineLen, EncodedHeadline, EncodedAllocTextLen, EncodedAllocText, EncodedUnderlyingIssuerLen, EncodedUnderlyingIssuer, EncodedUnderlyingSecurityDescLen, EncodedUnderlyingSecurityDesc, AllocPrice, QuoteSetValidUntilTime, QuoteEntryRejectReason, LastMsgSeqNumProcessed, OnBehalfOfSendingTime, RefTagID, RefMsgType, SessionRejectReason, BidRequestTransType, ContraBroker, ComplianceID, SolicitedFlag, ExecRestatementReason, BusinessRejectRefID, BusinessRejectReason, GrossTradeAmt, NoContraBrokers, MaxMessageSize, NoMsgTypes, MsgDirection, NoTradingSessions, TotalVolumeTraded, DiscretionInst, DiscretionOffset, BidID, ClientBidID, ListName, TotalNumSecurities, BidType, NumTickets, SideValue1, SideValue2, NoBidDescriptors, BidDescriptorType, BidDescriptor, SideValueInd, LiquidityPctLow, LiquidityPctHigh, LiquidityValue, EFPTrackingError, FairValue, OutsideIndexPct, ValueOfFutures, LiquidityIndType, WtAverageLiquidity, ExchangeForPhysical, OutMainCntryUIndex, CrossPercent, ProgRptReqs, ProgPeriodInterval, IncTaxInd, NumBidders, TradeType, BasisPxType, NoBidComponents, Country, TotNoStrikes, PriceType, DayOrderQty, DayCumQty, DayAvgPx, GTBookingInst, NoStrikes, ListStatusType, NetGrossInd, ListOrderStatus, ExpireDate, ListExecInstType, CxlRejResponseTo, UnderlyingCouponRate, UnderlyingContractMultiplier, ContraTradeQty, ContraTradeTime, ClearingFirm, ClearingAccount, LiquidityNumSecurities, MultiLegReportingType, StrikeTime, ListStatusText, EncodedListStatusTextLen, EncodedListStatusText
Notlar
- Bir değişkene birden fazla fonksiyon eklenir; sıralama sonucu değiştirir.
- HMAC signature fonksiyonunda HMAC key format alanı anahtarın hangi biçimde yazıldığını belirtir.
hexvetextbiçimindeki anahtar yapılandırma üretilirken Base64'e çevrilir;base64biçimindeki anahtar olduğu gibi kullanılır. Bu alanın seçeneklerindenbase64vehexarayüzde sözlük anahtarı olarak,textise Text olarak görünür. - Replace (first) ve Replace (all) fonksiyonlarında New value boş bırakılırsa eşleşen bölüm silinir. To replace alanı düzenli ifadedir; ör.
.herhangi bir karakterle eşleşir. - Split text fonksiyonunun üç alanı da zorunludur ve varsayılan değeri yoktur.
- IP masking fonksiyonu tek bir maske değeri alır ve bu değer IPv4 adreslerine uygulanır; IPv6 adreslerinde maskeleme yapılmaz. Form 0-128 aralığını kabul etse de 32'nin üzerindeki değerler yapılandırma hatasına yol açar.
- Pencerenin Summary satırı, seçilen fonksiyonlarla birlikte sonucun ne anlama geldiğini okunur biçimde gösterir. Satırda kısa biçim yazar; üzerine gelindiğinde uzun biçim ipucu olarak açılır. Özet yalnız ilk on fonksiyonu anlatır, sonraki fonksiyonlar özette görünmez.
