首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >自定义活动中具有sas令牌的Azure数据工厂获取blob路径

自定义活动中具有sas令牌的Azure数据工厂获取blob路径
EN

Stack Overflow用户
提问于 2018-01-12 06:06:40
回答 1查看 648关注 0票数 0

我正在尝试在Azure Data Factory中构建一个自定义活动,该活动获取一个blob作为输入数据集,并希望将此blob的sas令牌路径传递给需要此类路径的API。

有没有办法在自定义活动中使用sas令牌来获取blob的路径?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-15 06:41:32

我想出了一个办法。ADF v1中的自定义活动的一部分是具有上下文参数的Execute方法。从该上下文中,您可以获得blob存储的连接字符串和blob的路径,然后可以像这样提取sas令牌:

代码语言:javascript
复制
public override IDictionary<string, string> Execute(
AOMDotNetActivityContext context,
IActivityLogger logger)
{
    string blobConnectionString = context.ConnectionString;
    CloudStorageAccount inputStorageAccount = CloudStorageAccount.Parse(blobConnectionString);
    var blob = new CloudBlob(new Uri(inputStorageAccount.BlobEndpoint, Path.Combine(context.FolderPath, context.FileName)), inputStorageAccount.Credentials);
    SharedAccessBlobPolicy adHocSAS = new SharedAccessBlobPolicy()
    {
        SharedAccessExpiryTime = DateTime.UtcNow.AddHours(48),
        Permissions = SharedAccessBlobPermissions.Read | SharedAccessBlobPermissions.Delete
    };
    string sasBlobToken = blob.GetSharedAccessSignature(adHocSAS);
    string fullUri = new Uri(blob.Uri, sasBlobToken).ToString();
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48216584

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档