0

我正在使用 Azure EventHub 并使用https://docs.microsoft.com/en-us/azure/event-hubs/event-hubs-capture-overview将内容捕获到 blob 存储。

现在对于生成的 Avro 文件,为什么propertiesSystem properties字段中存储的信息是空的?

注意 Azure 正在填充这些字段

我使用 POST 请求发布数据,并将我的有效负载设置为正文和授权标头。我是否缺少使 Azure 填充这些列所需的其他标题?

编辑

因此事件中心客户端的 POST 方法如下所示:

    private val SB_URL = "https://$namespace.servicebus.windows.net/$eventHub"
    private val HEADER_AUTHORIZATION = AzureUtil.getSasToken(SB_URL, sas_key_name, sas_key)
    private val HEADER_CONTENT_TYPE = "application/atom+xml;type=entry;charset=utf-8"

    private val REQ_URL = "https://$namespace.servicebus.windows.net/$eventHub/messages"
    private val REQ_TIMEOUT = "60"
    private val REQ_API_VERSION = "2014-01"

    private val client = OkHttpClient()
    private val JSON = "application/json; charset=utf-8".toMediaType()


    private var callback: Callback? = null

    fun registerCallback(cb: Callback) {
        callback = cb
    }

    fun send(message: String) {
        val request = Request.Builder()
            .url("$REQ_URL?timeout=$REQ_TIMEOUT&api-version=$REQ_API_VERSION")
            .addHeader("Content-Type", HEADER_CONTENT_TYPE)
            .addHeader("Authorization", HEADER_AUTHORIZATION)
            .post(message.toRequestBody(JSON))
            .build()

        val call = client.newCall(request)

        try {
            val response = call.execute()
            callback!!.onResponse(call, response)
        } catch (error: IOException) {
            callback!!.onFailure(call, error)
        }
    }
4

0 回答 0