繁体   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