Tous les produits
Search
Centre de documentation

ApsaraMQ for RocketMQ:Filtrage des messages

Dernière mise à jour :Aug 27, 2026

Cette rubrique décrit la syntaxe du filtrage des messages.

Notes

Tenez compte des principes suivants pour le filtrage des messages :

  • Un événement doit contenir tous les noms de champs répertoriés dans le modèle d'événement. Les champs du modèle d'événement doivent également présenter la même structure imbriquée que les champs de l'événement.

  • La correspondance de modèle est sensible à la casse et s'effectue caractère par caractère. Le processus de correspondance ne normalise pas les chaînes.

  • Les valeurs à faire correspondre doivent respecter les règles JSON, telles que les chaînes entre guillemets, les nombres et les mots-clés non mis entre guillemets true, false et null.

  • Les modèles d'événements prennent en charge la sémantique OU. Différentes Key sont mises en correspondance avec une sémantique ET, tandis que les valeurs d'un tableau pour une Key sont mises en correspondance avec une sémantique OU.

Correspondance par valeur

Vous pouvez mettre un événement en correspondance en spécifiant la valeur d'un champ. Par exemple, le modèle d'événement suivant ne correspond qu'aux événements dont la source est Object Storage Service. Le tableau suivant décrit comment les événements provenant d'une source d'événements sont filtrés par le modèle d'événement.

Événement reçu de la source d'événements

Modèle d'événement

Événement après filtrage

{
    "id":"7adc8c1a-645d-4476-bdef-5d6fb57f****",
    "source":"acs.oss",
    "specversion":"1.0",
    "type":"oss:ObjectCreated:PostObject",
    "datacontenttype":"application/json",
    "dataschema":"http://example.com/test.json",
    "subject":"acs:oss:cn-hangzhou:1234567:xls-papk/game_apk/123.jpg",
    "time":"2020-08-17T16:04:46.149Asia/Shanghai",
    "data":{
        "name":"test",
        "scope":100
    }
}
{
        "source":[
            "acs.oss"
        ]
    }
{
        "id":"7adc8c1a-645d-4476-bdef-5d6fb57f****",
        "source":"acs.oss",
        "specversion":"1.0",
        "type":"oss:ObjectCreated:PostObject",
        "datacontenttype":"application/json",
        "dataschema":"http://example.com/test.json",
        "subject":"acs:oss:cn-hangzhou:1234567:xls-papk/game_apk/123.jpg",
        "time":"2020-08-17T16:04:46.149Asia/Shanghai",
        "data":{
            "name":"test",
            "scope":100
        }
    }
{
    "data":{
        "meetingName":"marketing-meeting",
        "action":"meeting_start",
        "time":1590592494070,
        "meetingUUID":"hz-20864c8f-b10d-45cd-9935-884bca1b****"
    },
    "id":"45ef4dewdwe1-7c35-447a-bd93-fab****",
    "source":"acs.aliyuncvc",
    "specversion":"1.0",
    "subject":"acs.aliyuncvc:cn-hangzhou:<yourAccountId>:215672",
    "time":"2020-07-21 20:22:01.961000",
    "type":"aliyuncvc:MeetingEvent:MeetingStateEvent"
}

Aucun

{
    "id": "45ef4dewdwe1-7c35-447a-bd93-fab****",
    "source": "acs.imm",
    "specversion": "1.0",
    "subject": "acs.imm:cn-hangzhou:123456789098****:215672",
    "time": "2020-11-19T21:04:41+08:00",
    "type": "imm:Task:VideoModeration",
    "aliyunaccountid": "123456789098****",
    "aliyunpublishtime": "2020-11-19T21:04:42Z",
    "aliyuneventbusname": "default",
    "aliyunregionid": "cn-hangzhou",
    "aliyunpublishaddr": "172.25.XX.XX",
    "data": {
        "name":"test",
        "scope":100
    }
}

Aucune correspondance

Correspondance par préfixe

Vous pouvez mettre un événement en correspondance selon le préfixe de la valeur d'un champ. Par exemple, le modèle d'événement suivant ne correspond qu'aux événements dont le champ source commence par acs.. Le tableau suivant décrit comment les événements provenant d'une source d'événements sont filtrés par le modèle d'événement.

Événement reçu de la source d'événements

Modèle d'événement

Événement après filtrage

{
    "id":"7adc8c1a-645d-4476-bdef-5d6fb57f****",
    "source":"acs.oss",
    "specversion":"1.0",
    "type":"oss:ObjectCreated:PostObject",
    "datacontenttype":"application/json",
    "dataschema":"http://example.com/test.json",
    "subject":"acs:oss:cn-hangzhou:1234567:xls-papk/game_apk/123.jpg",
    "time":"2020-08-17T16:04:46.149Asia/Shanghai",
    "data":{
        "name":"test",
        "scope":100
    }
}
{
        "source":[
            {
                "prefix":"acs."
            }
        ]
    }
{
        "id":"7adc8c1a-645d-4476-bdef-5d6fb57f****",
        "source":"acs.oss",
        "specversion":"1.0",
        "type":"oss:ObjectCreated:PostObject",
        "datacontenttype":"application/json",
        "dataschema":"http://example.com/test.json",
        "subject":"acs:oss:cn-hangzhou:1234567:xls-papk/game_apk/123.jpg",
        "time":"2020-08-17T16:04:46.149Asia/Shanghai",
        "data":{
            "name":"test",
            "scope":100
        }
    }
{
    "id": "45ef4dewdwe1-7c35-447a-bd93-fab****",
    "source": "acs.imm",
    "specversion": "1.0",
    "subject": "acs.imm:cn-hangzhou:123456789098****:215672",
    "time": "2020-11-19T21:04:41+08:00",
    "type": "imm:Task:VideoModeration",
    "aliyunaccountid": "123456789098****",
    "aliyunpublishtime": "2020-11-19T21:04:42Z",
    "aliyuneventbusname": "default",
    "aliyunregionid": "cn-hangzhou",
    "aliyunpublishaddr": "172.25.XX.XX",
    "data": {
        "name":"test",
        "scope":100
    }
}
{
        "id": "45ef4dewdwe1-7c35-447a-bd93-fab****",
        "source": "acs.imm",
        "specversion": "1.0",
        "subject": "acs.imm:cn-hangzhou:123456789098****:215672",
        "time": "2020-11-19T21:04:41+08:00",
        "type": "imm:Task:VideoModeration",
        "aliyunaccountid": "123456789098****",
        "aliyunpublishtime": "2020-11-19T21:04:42Z",
        "aliyuneventbusname": "default",
        "aliyunregionid": "cn-hangzhou",
        "aliyunpublishaddr": "172.25.XX.XX",
        "data": {
            "name":"test",
            "scope":100
        }
    }

Correspondance par suffixe

Vous pouvez mettre un événement en correspondance selon le suffixe de la valeur d'un champ. Par exemple, le modèle d'événement suivant correspond aux événements dont le subject a le préfixe acs:oss:cn-hangzhou:1234567:xls-papk/ et le suffixe .jpg ou .txt. Le tableau suivant décrit comment les événements provenant d'une source d'événements sont filtrés par le modèle d'événement.

Événement reçu de la source d'événements

Modèle d'événement

Événement après filtrage

{
    "id":"7adc8c1a-645d-4476-bdef-5d6fb57f****",
    "source":"acs.oss",
    "specversion":"1.0",
    "type":"oss:ObjectCreated:PostObject",
    "datacontenttype":"application/json",
    "dataschema":"http://example.com/test.json",
    "subject":"acs:oss:cn-hangzhou:1234567:xls-papk/game_apk/123.jpg",
    "time":"2020-08-17T16:04:46.149Asia/Shanghai",
    "data":{
        "name":"test",
        "scope":100
    }
}
{
        "subject":[
            {
                "prefix":"acs:oss:cn-hangzhou:1234567:xls-papk/"
            },
            {
                "suffix":".txt"
            },
            {
                "suffix":".jpg"
            }
        ]
    }
{
        "id":"7adc8c1a-645d-4476-bdef-5d6fb57f****",
        "source":"acs.oss",
        "specversion":"1.0",
        "type":"oss:ObjectCreated:PostObject",
        "datacontenttype":"application/json",
        "dataschema":"http://example.com/test.json",
        "subject":"acs:oss:cn-hangzhou:1234567:xls-papk/game_apk/123.jpg",
        "time":"2020-08-17T16:04:46.149Asia/Shanghai",
        "data":{
            "name":"test",
            "scope":100
        }
    }
{
    "id":"7adc8c1a-645d-4476-bdef-5d6fb57f****",
    "source":"acs.oss",
    "specversion":"1.0",
    "type":"oss:ObjectCreated:PostObject",
    "datacontenttype":"application/json",
    "dataschema":"http://example.com/test.json",
    "subject":"acs:oss:cn-hangzhou:1234567:xls-papk/game_apk/123.png",
    "time":"2020-08-17T16:04:46.149Asia/Shanghai",
    "data":{
        "name":"test",
        "scope":100
    }
}
{
        "id":"7adc8c1a-645d-4476-bdef-5d6fb57f****",
        "source":"acs.oss",
        "specversion":"1.0",
        "type":"oss:ObjectCreated:PostObject",
        "datacontenttype":"application/json",
        "dataschema":"http://example.com/test.json",
        "subject":"acs:oss:cn-hangzhou:1234567:xls-papk/game_apk/123.png",
        "time":"2020-08-17T16:04:46.149Asia/Shanghai",
        "data":{
            "name":"test",
            "scope":100
        }
    }

Correspondance anything-but (tout sauf)

Vous pouvez mettre en correspondance n'importe quelle valeur, à l'exception de celles que vous spécifiez. Vous pouvez utiliser anything-but avec des chaînes et des nombres. Par exemple, le modèle d'événement suivant correspond à tous les événements dont l'state n'est pas initializing et dont la x-limit n'est pas 123. Le tableau suivant décrit comment les événements provenant d'une source d'événements sont filtrés par le modèle d'événement.

Le modèle suivant illustre une seule correspondance anything-but, d'abord pour une chaîne, puis pour un nombre.

Événement reçu de la source d'événements

Modèle d'événement

Événement après filtrage

{
    "id":"7adc8c1a-645d-4476-bdef-5d6fb57f****",
    "source":"acs.oss",
    "specversion":"1.0",
    "type":"oss:ObjectCreated:PostObject",
    "datacontenttype":"application/json",
    "dataschema":"http://example.com/test.json",
    "subject":"acs:oss:cn-hangzhou:1234567:xls-papk/game_apk/123.jpg",
    "time":"2020-08-17T16:04:46.149Asia/Shanghai",
    "data":{
        "name":"test",
        "scope":100,
        "state":"running",
        "x-limit":456
    }
}
{
        "data":{
            "state":[
                {
                    "anything-but":"initializing"
                }
            ],
            "x-limit":[
                {
                    "anything-but":123
                }
            ]
        }
    }
{
        "id":"7adc8c1a-645d-4476-bdef-5d6fb57f****",
        "source":"acs.oss",
        "specversion":"1.0",
        "type":"oss:ObjectCreated:PostObject",
        "datacontenttype":"application/json",
        "dataschema":"http://example.com/test.json",
        "subject":"acs:oss:cn-hangzhou:1234567:xls-papk/game_apk/123.jpg",
        "time":"2020-08-17T16:04:46.149Asia/Shanghai",
        "data":{
            "name":"test",
            "scope":100,
            "state":"running",
            "x-limit":456
        }
    }
{
    "id":"7adc8c1a-645d-4476-bdef-5d6fb57f****",
    "source":"acs.oss",
    "specversion":"1.0",
    "type":"oss:ObjectCreated:PostObject",
    "datacontenttype":"application/json",
    "dataschema":"http://example.com/test.json",
    "subject":"acs:oss:cn-hangzhou:1234567:xls-papk/game_apk/123.jpg",
    "time":"2020-08-17T16:04:46.149Asia/Shanghai",
    "data":{
        "name":"test",
        "scope":100,
        "x-limit":456
    }
}

Aucune correspondance

Le modèle d'événement suivant correspond aux événements dont l'state n'est ni stopped ni overloaded. Le tableau suivant décrit comment les événements provenant d'une source d'événements sont filtrés par le modèle d'événement.

Événement reçu de la source d'événements

Modèle d'événement

Événement après filtrage

{
    "id":"7adc8c1a-645d-4476-bdef-5d6fb57f****",
    "source":"acs.oss",
    "specversion":"1.0",
    "type":"oss:ObjectCreated:PostObject",
    "datacontenttype":"application/json",
    "dataschema":"http://example.com/test.json",
    "subject":"acs:oss:cn-hangzhou:1234567:xls-papk/game_apk/123.jpg",
    "time":"2020-08-17T16:04:46.149Asia/Shanghai",
    "data":{
        "name":"test",
        "scope":100,
        "state":"terminated"
    }
}
{
        "data":{
            "state":[
                {
                    "anything-but":[
                        "stopped",
                        "overloaded"
                    ]
                }
            ]
        }
    }
{
        "id":"7adc8c1a-645d-4476-bdef-5d6fb57f****",
        "source":"acs.oss",
        "specversion":"1.0",
        "type":"oss:ObjectCreated:PostObject",
        "datacontenttype":"application/json",
        "dataschema":"http://example.com/test.json",
        "subject":"acs:oss:cn-hangzhou:1234567:xls-papk/game_apk/123.jpg",
        "time":"2020-08-17T16:04:46.149Asia/Shanghai",
        "data":{
            "name":"test",
            "scope":100,
            "state":"terminated"
        }
    }
{
    "id":"7adc8c1a-645d-4476-bdef-5d6fb57f****",
    "source":"acs.oss",
    "specversion":"1.0",
    "type":"oss:ObjectCreated:PostObject",
    "datacontenttype":"application/json",
    "dataschema":"http://example.com/test.json",
    "subject":"acs:oss:cn-hangzhou:1234567:xls-papk/game_apk/123.jpg",
    "time":"2020-08-17T16:04:46.149Asia/Shanghai",
    "data":{
        "name":"test",
        "scope":100,
        "state":"stopped"
    }
}

Aucune correspondance

Le modèle d'événement suivant correspond aux événements dont la x-limit n'est ni 100, ni 200, ni 300. Le tableau suivant décrit comment les événements provenant d'une source d'événements sont filtrés par le modèle d'événement.

Événement reçu de la source d'événements

Modèle d'événement

Événement après filtrage

{
    "id":"7adc8c1a-645d-4476-bdef-5d6fb57f****",
    "source":"acs.oss",
    "specversion":"1.0",
    "type":"oss:ObjectCreated:PostObject",
    "datacontenttype":"application/json",
    "dataschema":"http://example.com/test.json",
    "subject":"acs:oss:cn-hangzhou:1234567:xls-papk/game_apk/123.jpg",
    "time":"2020-08-17T16:04:46.149Asia/Shanghai",
    "data":{
        "name":"test",
        "scope":100,
        "x-limit":456
    }
}
{
        "data":{
            "x-limit":[
                {
                    "anything-but":[
                        100,
                        200,
                        300
                    ]
                }
            ]
        }
    }
{
        "id":"7adc8c1a-645d-4476-bdef-5d6fb57f****",
        "source":"acs.oss",
        "specversion":"1.0",
        "type":"oss:ObjectCreated:PostObject",
        "datacontenttype":"application/json",
        "dataschema":"http://example.com/test.json",
        "subject":"acs:oss:cn-hangzhou:1234567:xls-papk/game_apk/123.jpg",
        "time":"2020-08-17T16:04:46.149Asia/Shanghai",
        "data":{
            "name":"test",
            "scope":100,
            "x-limit":456
        }
    }
{
    "id":"7adc8c1a-645d-4476-bdef-5d6fb57f****",
    "source":"acs.oss",
    "specversion":"1.0",
    "type":"oss:ObjectCreated:PostObject",
    "datacontenttype":"application/json",
    "dataschema":"http://example.com/test.json",
    "subject":"acs:oss:cn-hangzhou:1234567:xls-papk/game_apk/123.jpg",
    "time":"2020-08-17T16:04:46.149Asia/Shanghai",
    "data":{
        "name":"test",
        "scope":100,
        "x-limit":200
    }
}

Aucune correspondance

Le modèle d'événement suivant correspond aux événements dont le préfixe de la valeur de l'state n'est pas init. Le tableau suivant décrit comment les événements provenant d'une source d'événements sont filtrés par le modèle d'événement.

Événement reçu de la source d'événements

Modèle d'événement

Événement après filtrage

{
    "id":"7adc8c1a-645d-4476-bdef-5d6fb57f****",
    "source":"acs.oss",
    "specversion":"1.0",
    "type":"oss:ObjectCreated:PostObject",
    "datacontenttype":"application/json",
    "dataschema":"http://example.com/test.json",
    "subject":"acs:oss:cn-hangzhou:1234567:xls-papk/game_apk/123.jpg",
    "time":"2020-08-17T16:04:46.149Asia/Shanghai",
    "data":{
        "name":"test",
        "scope":100,
        "state":"pending"
    }
}
{
        "data":{
            "state":[
                {
                    "anything-but":{
                        "prefix":"init"
                    }
                }
            ]
        }
    }
{
        "id":"7adc8c1a-645d-4476-bdef-5d6fb57f****",
        "source":"acs.oss",
        "specversion":"1.0",
        "type":"oss:ObjectCreated:PostObject",
        "datacontenttype":"application/json",
        "dataschema":"http://example.com/test.json",
        "subject":"acs:oss:cn-hangzhou:1234567:xls-papk/game_apk/123.jpg",
        "time":"2020-08-17T16:04:46.149Asia/Shanghai",
        "data":{
            "name":"test",
            "scope":100,
            "state":"pending"
        }
    }
{
    "id":"7adc8c1a-645d-4476-bdef-5d6fb57f****",
    "source":"acs.oss",
    "specversion":"1.0",
    "type":"oss:ObjectCreated:PostObject",
    "datacontenttype":"application/json",
    "dataschema":"http://example.com/test.json",
    "subject":"acs:oss:cn-hangzhou:1234567:xls-papk/game_apk/123.jpg",
    "time":"2020-08-17T16:04:46.149Asia/Shanghai",
    "data":{
        "name":"test",
        "scope":100,
        "state":"initializing"
    }
}

Aucune correspondance

Le modèle d'événement suivant correspond aux événements dont la source n'est pas Elastic Compute Service. Le tableau suivant décrit comment les événements provenant d'une source d'événements sont filtrés par le modèle d'événement.

Événement reçu de la source d'événements

Modèle d'événement

Événement après filtrage

{
    "id":"7adc8c1a-645d-4476-bdef-5d6fb57f****",
    "source":"acs.oss",
    "specversion":"1.0",
    "type":"oss:ObjectCreated:PostObject",
    "datacontenttype":"application/json",
    "dataschema":"http://example.com/test.json",
    "subject":"acs:oss:cn-hangzhou:1234567:xls-papk/game_apk/123.jpg",
    "time":"2020-08-17T16:04:46.149Asia/Shanghai",
    "data":{
        "name":"test",
        "scope":100,
        "x-limit":456
    }
}
{
        "source":[
            {
                "anything-but":[
                    "acs.ecs"
                ]
            }
        ]
    }
{
        "id":"7adc8c1a-645d-4476-bdef-5d6fb57f****",
        "source":"acs.oss",
        "specversion":"1.0",
        "type":"oss:ObjectCreated:PostObject",
        "datacontenttype":"application/json",
        "dataschema":"http://example.com/test.json",
        "subject":"acs:oss:cn-hangzhou:1234567:xls-papk/game_apk/123.jpg",
        "time":"2020-08-17T16:04:46.149Asia/Shanghai",
        "data":{
            "name":"test",
            "scope":100,
            "x-limit":456
        }
    }
{
    "data":{
        "meetingName":"marketing-meeting",
        "action":"meeting_start",
        "time":1590592494070,
        "meetingUUID":"hz-20864c8f-b10d-45cd-9935-884bca1b****"
    },
    "id":"45ef4dewdwe1-7c35-447a-bd93-fab****",
    "source":"acs.aliyuncvc",
    "specversion":"1.0",
    "subject":"acs.aliyuncvc:cn-hangzhou:<yourAccountId>:215672",
    "time":"2020-07-21 20:22:01.961000",
    "type":"aliyuncvc:MeetingEvent:MeetingStateEvent"
}

Aucune correspondance

Le modèle d'événement suivant ne correspond qu'aux événements dont la source n'est pas un service Alibaba Cloud, comme les événements envoyés depuis vos applications personnalisées. Le tableau suivant décrit comment les événements provenant d'une source d'événements sont filtrés par le modèle d'événement.

Événement reçu de la source d'événements

Modèle d'événement

Événement après filtrage

{
    "id":"7adc8c1a-645d-4476-bdef-5d6fb57f****",
    "source":"acs.oss",
    "specversion":"1.0",
    "type":"oss:ObjectCreated:PostObject",
    "datacontenttype":"application/json",
    "dataschema":"http://example.com/test.json",
    "subject":"acs:oss:cn-hangzhou:1234567:xls-papk/game_apk/123.jpg",
    "time":"2020-08-17T16:04:46.149Asia/Shanghai",
    "data":{
        "name":"test",
        "scope":100,
        "x-limit":456
    }
}
{
        "source":[
            {
                "anything-but":{
                    "prefix":"acs."
                }
            }
        ]
    }

Aucun

Correspondance numérique

Vous pouvez faire correspondre un champ en fonction d'une valeur ou d'une plage numérique. Par exemple, le modèle d'événement suivant correspond aux événements pour lesquels c-count est supérieur à 0 et inférieur ou égal à 5, d-count est inférieur à 10 et x-limit est égal à 301,8. Le tableau ci-dessous décrit le filtrage des événements provenant d'une source d'événements par le modèle d'événement.

Événement reçu de la source d'événements

Modèle d'événement

Événement après filtrage

{
    "id":"7adc8c1a-645d-4476-bdef-5d6fb57f****",
    "source":"acs.oss",
    "specversion":"1.0",
    "type":"oss:ObjectCreated:PostObject",
    "datacontenttype":"application/json",
    "dataschema":"http://example.com/test.json",
    "subject":"acs:oss:cn-hangzhou:1234567:xls-papk/game_apk/123.jpg",
    "time":"2020-08-17T16:04:46.149Asia/Shanghai",
    "data":{
        "name":"test",
        "c-count":5,
        "d-count":7,
        "x-limit":301.8
    }
}
{
        "data":{
            "c-count":[
                {
                    "numeric":[
                        ">",
                        0,
                        "<=",
                        5
                    ]
                }
            ],
            "d-count":[
                {
                    "numeric":[
                        "<",
                        10
                    ]
                }
            ],
            "x-limit":[
                {
                    "numeric":[
                        "=",
                        301.8
                    ]
                }
            ]
        }
    }
{
        "id":"7adc8c1a-645d-4476-bdef-5d6fb57f****",
        "source":"acs.oss",
        "specversion":"1.0",
        "type":"oss:ObjectCreated:PostObject",
        "datacontenttype":"application/json",
        "dataschema":"http://example.com/test.json",
        "subject":"acs:oss:cn-hangzhou:1234567:xls-papk/game_apk/123.jpg",
        "time":"2020-08-17T16:04:46.149Asia/Shanghai",
        "data":{
            "name":"test",
            "c-count":5,
            "d-count":7,
            "x-limit":301.8
        }
    }
{
    "id":"7adc8c1a-645d-4476-bdef-5d6fb57f****",
    "source":"acs.oss",
    "specversion":"1.0",
    "type":"oss:ObjectCreated:PostObject",
    "datacontenttype":"application/json",
    "dataschema":"http://example.com/test.json",
    "subject":"acs:oss:cn-hangzhou:1234567:xls-papk/game_apk/123.jpg",
    "time":"2020-08-17T16:04:46.149Asia/Shanghai",
    "data":{
        "name":"test",
        "c-count":5,
        "d-count":7,
        "x-limit":300
    }
}

Aucune correspondance

Important

La correspondance numérique fonctionne uniquement avec les nombres JSON. La valeur doit être comprise entre -1,0e9 et +1,0e9. La précision est de 15 chiffres, avec jusqu'à 6 décimales.

Correspondance d'adresse IP

Vous pouvez faire correspondre une adresse IP dans le champ data. Par exemple, le modèle d'événement suivant correspond aux événements dont l'adresse source-ip se trouve dans le bloc CIDR 10.0.0.0/24. Le tableau ci-dessous décrit le filtrage des événements provenant d'une source d'événements par le modèle d'événement.

Événement reçu de la source d'événements

Modèle d'événement

Événement après filtrage

{
    "id":"7adc8c1a-645d-4476-bdef-5d6fb57f****",
    "source":"acs.oss",
    "specversion":"1.0",
    "type":"oss:ObjectCreated:PostObject",
    "datacontenttype":"application/json",
    "dataschema":"http://example.com/test.json",
    "subject":"acs:oss:cn-hangzhou:1234567:xls-papk/game_apk/123.jpg",
    "time":"2020-08-17T16:04:46.149Asia/Shanghai",
    "data":{
        "name":"test",
        "source-ip":"10.0.0.123"
    }
}
{
        "data":{
            "source-ip":[
                {
                    "cidr":"10.0.0.0/24"
                }
            ]
        }
    }
{
        "id":"7adc8c1a-645d-4476-bdef-5d6fb57f****",
        "source":"acs.oss",
        "specversion":"1.0",
        "type":"oss:ObjectCreated:PostObject",
        "datacontenttype":"application/json",
        "dataschema":"http://example.com/test.json",
        "subject":"acs:oss:cn-hangzhou:1234567:xls-papk/game_apk/123.jpg",
        "time":"2020-08-17T16:04:46.149Asia/Shanghai",
        "data":{
            "name":"test",
            "source-ip":"10.0.0.123"
        }
    }
{
    "id":"7adc8c1a-645d-4476-bdef-5d6fb57f****",
    "source":"acs.oss",
    "specversion":"1.0",
    "type":"oss:ObjectCreated:PostObject",
    "datacontenttype":"application/json",
    "dataschema":"http://example.com/test.json",
    "subject":"acs:oss:cn-hangzhou:1234567:xls-papk/game_apk/123.jpg",
    "time":"2020-08-17T16:04:46.149Asia/Shanghai",
    "data":{
        "name":"test",
        "source-ip":"192.168.0.123"
    }
}

Aucun

Remarque

Seules les adresses IPv4 sont prises en charge.

Correspondance multi-modèles

Vous pouvez combiner plusieurs règles pour créer des modèles d'événements complexes. Par exemple, le modèle suivant combine la correspondance de préfixe, la correspondance « anything-but », la correspondance d'adresse IP et la correspondance numérique pour filtrer précisément les événements. Le tableau ci-dessous décrit le filtrage des événements provenant d'une source d'événements par le modèle d'événement.

Événement reçu de la source d'événements

Modèle d'événement

Événement après filtrage

{
    "id":"7adc8c1a-645d-4476-bdef-5d6fb57f****",
    "source":"acs.oss",
    "specversion":"1.0",
    "type":"oss:ObjectCreated:PostObject",
    "datacontenttype":"application/json",
    "dataschema":"http://example.com/test.json",
    "subject":"acs:oss:cn-hangzhou:1234567:xls-papk/game_apk/123.jpg",
    "time":"2020-08-17T16:04:46.149Asia/Shanghai",
    "data":{
        "name":"test",
        "c-count":5,
        "d-count":7,
        "x-limit":301.8,
        "state":"pending",
        "source-ip":"10.0.0.123"
    }
}
{
        "source":[
            {
                "prefix":"acs."
            }
        ],
        "data":{
            "state":[
                {
                    "anything-but":"initializing"
                }
            ],
            "source-ip":[
                {
                    "cidr":"10.0.0.0/24"
                }
            ],
            "c-count":[
                {
                    "numeric":[
                        ">",
                        0,
                        "<=",
                        5
                    ]
                }
            ],
            "d-count":[
                {
                    "numeric":[
                        "<",
                        10
                    ]
                }
            ],
            "x-limit":[
                {
                    "anything-but":[
                        100,
                        200,
                        300
                    ]
                }
            ]
        }
    }
{
        "id":"7adc8c1a-645d-4476-bdef-5d6fb57f****",
        "source":"acs.oss",
        "specversion":"1.0",
        "type":"oss:ObjectCreated:PostObject",
        "datacontenttype":"application/json",
        "dataschema":"http://example.com/test.json",
        "subject":"acs:oss:cn-hangzhou:1234567:xls-papk/game_apk/123.jpg",
        "time":"2020-08-17T16:04:46.149Asia/Shanghai",
        "data":{
            "name":"test",
            "c-count":5,
            "d-count":7,
            "x-limit":301.8,
            "state":"pending",
            "source-ip":"10.0.0.123"
        }
    }
{
    "id":"7adc8c1a-645d-4476-bdef-5d6fb57f****",
    "source":"acs.oss",
    "specversion":"1.0",
    "type":"oss:ObjectCreated:PostObject",
    "datacontenttype":"application/json",
    "dataschema":"http://example.com/test.json",
    "subject":"acs:oss:cn-hangzhou:1234567:xls-papk/game_apk/123.jpg",
    "time":"2020-08-17T16:04:46.149Asia/Shanghai",
    "data":{
        "name":"test",
        "c-count":5,
        "d-count":7,
        "x-limit":301.8,
        "state":"initializing",
        "source-ip":"192.168.0.123"
    }
}

Aucun

Correspondance de tableaux

La valeur d'un champ dans un modèle d'événement peut être un tableau de valeurs. Le modèle correspond si l'une des valeurs du tableau correspond à la valeur de l'événement. Si la valeur de l'événement est également un tableau, le modèle correspond si l'intersection des deux tableaux n'est pas vide. Le tableau ci-dessous décrit le filtrage des événements provenant d'une source d'événements par le modèle d'événement.

Événement reçu de la source d'événements

Modèle d'événement

Événement après filtrage

{
    "id":"7adc8c1a-645d-4476-bdef-5d6fb57f****",
    "source":"acs.oss",
    "specversion":"1.0",
    "type":"oss:ObjectCreated:PostObject",
    "datacontenttype":"application/json",
    "dataschema":"http://example.com/test.json",
    "subject":"acs:oss:cn-hangzhou:1234567:xls-papk/game_apk/123.jpg",
    "time":"2020-08-17T16:04:46.149Asia/Shanghai",
    "data":{
        "name":"test",
        "scope":100
    }
}
{
        "subject":[
            "acs:oss:cn-hangzhou:1234567:xls-papk/game_apk/123.jpg",
            "acs:oss:cn-hangzhou:1112223:xls-papk/game_apk/123.jpg",
            "acs:oss:cn-hangzhou:4455667:xls-papk/game_apk/123.jpg"
        ]
    }
{
        "id":"7adc8c1a-645d-4476-bdef-5d6fb57f****",
        "source":"acs.oss",
        "specversion":"1.0",
        "type":"oss:ObjectCreated:PostObject",
        "datacontenttype":"application/json",
        "dataschema":"http://example.com/test.json",
        "subject":"acs:oss:cn-hangzhou:1234567:xls-papk/game_apk/123.jpg",
        "time":"2020-08-17T16:04:46.149Asia/Shanghai",
        "data":{
            "name":"test",
            "scope":100
        }
    }
{
    "id":"7adc8c1a-645d-4476-bdef-5d6fb57f****",
    "source":"acs.oss",
    "specversion":"1.0",
    "type":"oss:ObjectCreated:PostObject",
    "datacontenttype":"application/json",
    "dataschema":"http://example.com/test.json",
    "subject":[
        "acs:oss:cn-hangzhou:1234567:xls-papk/game_apk/123.jpg",
        "acs:acs.aliyuncvc:cn-hangzhou:<yourAccountId>:215672"
    ],
    "time":"2020-08-17T16:04:46.149Asia/Shanghai",
    "data":{
        "name":"test",
        "scope":100
    }
}
{
        "id":"7adc8c1a-645d-4476-bdef-5d6fb57f****",
        "source":"acs.oss",
        "specversion":"1.0",
        "type":"oss:ObjectCreated:PostObject",
        "datacontenttype":"application/json",
        "dataschema":"http://example.com/test.json",
        "subject":[
            "acs:oss:cn-hangzhou:1234567:xls-papk/game_apk/123.jpg",
            "acs:acs.aliyuncvc:cn-hangzhou:<yourAccountId>:215672"
        ],
        "time":"2020-08-17T16:04:46.149Asia/Shanghai",
        "data":{
            "name":"test",
            "scope":100
        }
    }

Correspondance de valeurs vides

Vous pouvez créer un modèle d'événement pour faire correspondre les événements contenant une valeur null ou une chaîne vide. Par exemple, le modèle suivant correspond aux événements dont la valeur eventVersion est une chaîne vide. Le tableau ci-dessous décrit le filtrage des événements provenant d'une source d'événements par le modèle d'événement.

Événement reçu de la source d'événements

Modèle d'événement

Événement après filtrage

{
  "version": "0",
  "id": "7adc8c1a-645d-4476-bdef-5d6fb57f****",
  "datacontenttype": "Instance Launch Successful",
  "source": "acs.oss",
  "account": "123456789012",
  "time": "2015-11-11T21:31:47Z",
  "region": "cn-hangzhou",
  "resources": [
   ],
  "data": {
    "eventVersion": "",
    "responseElements": null
   }
}
{
        "data":{
            "eventVersion":[
                ""
            ]
        }
    }
{
      "version": "0",
      "id": "7adc8c1a-645d-4476-bdef-5d6fb57f****",
      "datacontenttype": "Instance Launch Successful",
      "source": "acs.oss",
      "account": "123456789012",
      "time": "2015-11-11T21:31:47Z",
      "region": "cn-hangzhou",
      "resources": [
       ],
      "data": {
        "eventVersion": "",
        "responseElements": null
       }
    }
{
  "version": "0",
  "id": "7adc8c1a-645d-4476-bdef-5d6fb57f****",
  "datacontenttype": "Instance Launch Successful",
  "source": "acs.oss",
  "account": "123456789012",
  "time": "2015-11-11T21:31:47Z",
  "region": "cn-hangzhou",
  "resources": [
   ],
  "data": {
    "eventVersion": "1.0",
    "responseElements": null
   }
}

Aucune correspondance

Le modèle d'événement suivant correspond aux événements dont la valeur responseElements est null. Le tableau ci-dessous décrit le filtrage des événements provenant d'une source d'événements par le modèle d'événement.

Événement reçu de la source d'événements

Modèle d'événement

Événement après filtrage

{
  "version": "0",
  "id": "7adc8c1a-645d-4476-bdef-5d6fb57f****",
  "datacontenttype": "Instance Launch Successful",
  "source": "acs.oss",
  "time": "2015-11-11T21:31:47Z",
  "region": "cn-hangzhou",
  "resources": [
   ],
  "data": {
    "eventVersion": "",
    "responseElements": null
   }
}
{
        "data":{
            "responseElements":[
                null
            ]
        }
    }
{
      "version": "0",
      "id": "7adc8c1a-645d-4476-bdef-5d6fb57f****",
      "datacontenttype": "Instance Launch Successful",
      "source": "acs.oss",
      "time": "2015-11-11T21:31:47Z",
      "region": "cn-hangzhou",
      "resources": [
       ],
      "data": {
        "eventVersion": "",
        "responseElements": null
       }
    }
{
  "version": "0",
  "id": "7adc8c1a-645d-4476-bdef-5d6fb57f****",
  "datacontenttype": "Instance Launch Successful",
  "source": "acs.oss",
  "account": "123456789012",
  "time": "2015-11-11T21:31:47Z",
  "region": "cn-hangzhou",
  "resources": [
   ],
  "data": {
    "eventVersion": "",
    "responseElements": "lss"
   }
}

Aucune correspondance

Remarque

Une valeur null n'est pas identique à une chaîne vide. Un modèle qui correspond à une chaîne vide ne correspond pas à une valeur null.

Correspondance d'existence

Vous pouvez faire correspondre un événement en fonction de la présence ou de l'absence d'un champ dans l'objet data. Par exemple, le modèle suivant correspond aux événements qui ne contiennent pas de champ state. Le tableau ci-dessous décrit le filtrage des événements provenant d'une source d'événements par le modèle d'événement.

Événement reçu de la source d'événements

Modèle d'événement

Événement après filtrage

{
    "id":"7adc8c1a-645d-4476-bdef-5d6fb57f****",
    "source":"acs.oss",
    "specversion":"1.0",
    "type":"oss:ObjectCreated:PostObject",
    "datacontenttype":"application/json",
    "dataschema":"http://example.com/test.json",
    "subject":"acs:oss:cn-hangzhou:1234567:xls-papk/game_apk/123.jpg",
    "time":"2020-08-17T16:04:46.149Asia/Shanghai",
    "data":{
        "name":"test",
        "scope":100,
    }
}
{
        "data":{
            "state":[
                {
                   "exists": false
                }
             ]
        }
    }
{
        "id":"7adc8c1a-645d-4476-bdef-5d6fb57f****",
        "source":"acs.oss",
        "specversion":"1.0",
        "type":"oss:ObjectCreated:PostObject",
        "datacontenttype":"application/json",
        "dataschema":"http://example.com/test.json",
        "subject":"acs:oss:cn-hangzhou:1234567:xls-papk/game_apk/123.jpg",
        "time":"2020-08-17T16:04:46.149Asia/Shanghai",
        "data":{
            "name":"test",
            "scope":100,
        }
    }
{
    "id":"7adc8c1a-645d-4476-bdef-5d6fb57f****",
    "source":"acs.oss",
    "specversion":"1.0",
    "type":"oss:ObjectCreated:PostObject",
    "datacontenttype":"application/json",
    "dataschema":"http://example.com/test.json",
    "subject":"acs:oss:cn-hangzhou:1234567:xls-papk/game_apk/123.jpg",
    "time":"2020-08-17T16:04:46.149Asia/Shanghai",
    "data":{
        "name":"test",
        "scope":100,
        "state":"terminated"
    }
}

Aucune correspondance