簡體   English   中英

我們如何在 azure 文件客戶端中為 C# 中的 Azure 數據湖設置 setMetadata

[英]How do we set setMetadata in azure fileclient for Azure Data Lake in C#

I am getting while setting meta data in azure data lake file using azure fileclient, it's throwing the exception like "Specified value has invalid HTTP Header characters. Parameter name: name in azure data lake"

我正在使用字典來設置元數據。

PathHttpHeaders path = new PathHttpHeaders();
path.ContentType = "application/octet-stream";
fileClient.SetHttpHeaders(path);
var metaDataProperties = await GetMetaDataProperties(entityData);
await fileClient.SetMetadataAsync(metaDataProperties);

上述問題已解決,問題是由 FileClient 實例引起的,我使用的是同一個 FileClient 實例,用於將文件存儲到 Azure 數據湖中。 為了解決這個問題,我創建了一個新的 FileClient 實例,它對我有用。 下面是我的代碼。

private async Task SetMetaDataProps(MessageWrapper wrapper, Uri uri, string filename)
        {
            
            try
            {
                var entityData = JObject.Parse(wrapper.Payload);
                entityData["FileName"] = filename;
                var storageCredentials = new StorageSharedKeyCredential("accountName", "accountKey");
                var fileclient = new DataLakeFileClient(uri, storageCredentials);
                var metaDataProps = await GetMetaDataProperties(entityData);
                var ss = fileclient.SetMetadataAsync(metaDataProps);
            }
            catch(Exception ex)
            {
                throw ex;
            }
        }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM