代码之家  ›  专栏  ›  技术社区  ›  angelcervera

对的Azure事件订阅Microsoft.Storage.Blob已创建事件使用地形

  •  0
  • angelcervera  · 技术社区  · 4 年前

    这个Azure Cli示例的等价物是什么( from Azure doc

    az eventgrid resource event-subscription create -g myResourceGroup \
    --provider-namespace Microsoft.Storage --resource-type storageAccounts \
    --resource-name myblobstorage12345 --name myFuncSub  \
    --included-event-types Microsoft.Storage.BlobCreated \
    --subject-begins-with /blobServices/default/containers/images/blobs/ \
    --endpoint https://mystoragetriggeredfunction.azurewebsites.net/runtime/webhooks/eventgrid?functionName=imageresizefunc&code=<key>
    
    

    注: Terraform Github Issue , resource_group_name topic_name 已弃用。

    0 回复  |  直到 4 年前
        1
  •  0
  •   Charles Xu    4 年前

    恐怕您使用了错误的Azure CLI命令,只有事件网格之类的CLI命令 az eventgrid event-subscription create ,并且它没有资源组的参数。所以您也不需要在Terraform代码中关心它。

    更新:

    scope :

    被创造出来。

    您也可以从参数中理解它 --source-resource-id

    --源资源id

    事件指向的Azure资源的完全限定标识符 需要创建订阅。

    Terraform也不支持Azure支持的所有东西。我有时也会对地形感到困惑。此时,我建议您直接使用CLI命令或在Terraform代码中运行CLI命令。

        2
  •  1
  •   angelcervera    4 年前

    所以这在地形上是等价的:

    resource "azurerm_eventgrid_event_subscription" "my_func_sub" {
      name  = "myFuncSub"
      scope = azurerm_storage_account.images.id
    
      included_event_types = [
        "Microsoft.Storage.BlobCreated"
      ]
    
      subject_filter {
        subject_begins_with = "/blobServices/default/containers/${azurerm_storage_container.images.name}/blobs/"
      }
    
      webhook_endpoint {
        url = "https://mystoragetriggeredfunction.azurewebsites.net/runtime/webhooks/eventgrid?functionName=imageresizefunc&code=<key>"
      }
    
    }
    

    azurerm_storage_container.images

    重要的是要注意 scope

    推荐文章