我正在尝试过滤事件网格中的事件,使其仅在我的订阅中的Azure功能更改时触发(例如配置更改、代码更新或创建/删除新功能)。
我使用的 PowerShell 脚本如下所示:
# Provide an endpoint for handling the events. Must be formatted "https://your-endpoint-URL"
$myEndpoint = "https://myendpoint-function.azurewebsites.net"
$subscriptionId = "abcde-34df-4493-9477-notrealid980"
$eventSubscriptionName = "FunctionConfigChanges"
# Select the Azure subscription you want to subscribe to. You need this command only if the
# current subscription is not the one you wish to subscribe to.
Set-AzContext -Subscription $subscriptionId
$includedEventTypes = "Microsoft.Resources.ResourceActionSuccess", "Microsoft.Resources.ResourceDeleteSuccess", "Microsoft.Resources.ResourceWriteSuccess"
$AdvancedFilters = @{operator="StringContains"; key="Subject"; Values=@("providers/Microsoft.Web/sites")}
New-AzEventGridSubscription -Endpoint $myEndpoint -EventSubscriptionName $eventSubscriptionName -IncludedEventType $includedEventTypes -AdvancedFilter $AdvancedFilters
这将过滤到所有功能和网站(请检查<code>和$AdvancedFilters)。是否有任何方法可以将事件仅过滤到Azure函数?欢迎使用Azure CLI、portal、Powershell或.net sdk中的任何解决方案帮助。
对于您的要求,可以使用以下属性,请注意操作名称和操作位于数据对象中:
>
创建函数:
"eventType":"Microsoft.Resources.ResourceWriteSuccess"
"operationName":"Microsoft.Web/sites/functions/write"
删除功能:
"eventType":"Microsoft.Resources.ResourceDeleteSuccess"
"operationName":"Microsoft.Web/sites/functions/delete"
代码已更新(运行.csx 文件):
"eventType":"Microsoft.Resources.ResourceWriteSuccess"
"operationName":"Microsoft.Web/sites/hostruntime/vfs/run.csx/write"
配置已更改:
"eventType":"Microsoft.Resources.ResourceWriteSuccess"
"operationName":"Microsoft.Web/sites/config/write"
请注意,主题应用服务(目前在预览版中)的订阅可以根据以下属性进行筛选:
"eventType":"Microsoft.Web.AppUpdated"
"action":"ChangedAppSettings
订阅者可以从subject属性中找到函数应用(应用服务)和特定函数的名称。
以下示例显示了如何根据上述要求设置过滤属性:
"filter": {
"subjectBeginsWith": "",
"subjectEndsWith": "",
"includedEventTypes": [
"Microsoft.Resources.ResourceWriteSuccess",
"Microsoft.Resources.ResourceDeleteSuccess"
],
"advancedFilters": [
{
"values": [
"Microsoft.Web/sites/functions/write",
"Microsoft.Web/sites/functions/delete",
"Microsoft.Web/sites/hostruntime/vfs/run.csx/write",
"Microsoft.Web/sites/config/write"
],
"operatorType": "StringIn",
"key": "Data.operationName"
}
]
}
我正试图开发一个Azure函数来处理由事件中心的捕获功能创建的blob。然而,尽管捕获blobs被正确地存储在容器中,但似乎没有< code>Microsoft。EventHub . capturefile created 事件发布到函数订阅。功能endpoint的事件订阅已创建,没有错误,Azure CLI的输出为 该函数的主体是一个标准的Http触发器,其中包含事件网格endpoint订阅所需
我无法在Azure事件网格中添加新的WebHook订阅。有人能帮忙吗?当我添加webhookendpoint时,出现以下错误。
基本上,我试图使用ARM部署一个事件网格订阅来收集订阅中的特定事件(主题类型= Azure订阅)。我已经有一个创建了事件网格触发功能的功能应用程序,只需要将该功能与事件网格订阅绑定为webhook。 我正在使用Azure DevOps中的发布管道来自动化整个工作流。 以下是我使用的一个示例: 这最终部署了事件网格主题,而不是事件网格订阅。 然后,有人建议我尝试以下操作: 但是这最终以这个错误而失败
我可以在Azure Key Vault中创建事件订阅,但它只允许系统事件网格主题,而不允许自定义事件网格主题。我的首选是自定义事件网格主题,因为我可以分配一个托管标识,并向该托管标识授予必要的RBAC。 是否可以将Azure Key Vault配置为将事件发送到自定义事件网格主题? 这是一个示例自定义事件网格主题:
Node.js应用程序可以使用composer-client.BusinessNetworkConnection.onAPI调用从业务网络订阅事件。事件在业务网络模型文件中定义,并由交易处理函数文件中的指定交易处理。有关发布事件的更多信息,请参阅发布事件。 在你开始之前 在应用程序可以订阅事件之前,你必须定义一些事件和发送它们的交易。还必须部署业务网络,并且必须具有可连接到该业务网络的连接配置文件
Tendermint 会发出不同的事件,您可以通过Websocket订阅这些事件。这对于第三方应用程序(如 analysys)或检查状态非常有用。 事件列表 您可以通过 Websocket 调用 subscribe RPC 方法订阅上面的任何事件。 { "jsonrpc": "2.0", "method": "subscribe", "id": "0", "para