标签: azure-blob-storage

使用WinSCP .NET程序集以流形式访问远程文件内容

我试图打开文件以使用WinSCP .NET程序集从SFTP读取,这与将文件从SFTP存档到Azure blob的练习相当。

要将blob上传到Azure,我正在使用

using (var fileStream = inputStream)
{
    blockBlob.UploadFromStream(fileStream);
    blobUri = blockBlob.Uri.ToString();
}
Run Code Online (Sandbox Code Playgroud)

如何从SFTP服务器上的文件获取流?

我设法使用SftpClient下面的代码来获取流,并且可以工作,但是不幸的是,使用WinSCP .NET程序集无法实现相同的目的。

sftpClient.OpenRead(file.FullName)
Run Code Online (Sandbox Code Playgroud)

谁能帮我使用WinSCP .NET程序集实现相同的目的?

因为我需要使用用户名,密码和私钥连接到SFTP,所以我使用的是WinSCP .NET程序集。

谢谢

c# winscp winscp-net azure-blob-storage

5
推荐指数
1
解决办法
2043
查看次数

获取错误'(400)错误请求:指定的阻止列表无效.将文本上载到Azure Blob存储时

我实现了以下代码以将文本上载到Azure块blob:

CloudStorageAccount storageAccount = ... 
CloudBlobClient blobClient = ...
CloudBlobContainer container = container.CreateIfNotExists();
CloudBlockBlob blockBlob = container.GetBlockBlobReference("myblob");
blockBlob.UploadText(blob);
Run Code Online (Sandbox Code Playgroud)

我会定期从UploadText()操作中获得以下异常:

远程服务器返回错误:(400)错误请求.在System.Net.HttpWebRequest.GetResponse()... RequestID:27e93ddb-0001-0011-2113-0966db002000 RequestDate:星期六,17十月2015 19:38:47 GMT StatusMessage:指定的阻止列表无效.错误代码:InvalidBlockList

我理解在上传blob时发送正确有序的块ID列表并具有一致的块ID长度的重要性,但鉴于UploadText隐藏了这些细节,我不会认为除非框架中存在错误,否则可能发生阻止列表问题.显然,在下面的内容中,UploadText()调用REST API并处理块,但同样,这些都是隐藏的.

我上传的文字介于1kB到15MB之间,并且是UTF-8编码的.

.net azure-blob-storage

5
推荐指数
0
解决办法
435
查看次数

访问 blob uri 时出现 ResourceNotFound

我试图通过 Azure Blob 存储中的 URL 检索图像,但没有找到它,这是我得到的:

在此处输入图片说明

我的代码如下:

public async Task<bool> UploadFileAsync(string containerReference, string blobReference, string route)
    {
        CloudBlobContainer container = blobClient.GetContainerReference(containerReference);
        container.CreateIfNotExists();
        CloudBlockBlob blob = container.GetBlockBlobReference(blobReference);

        try
        {
            using (var fileStream = System.IO.File.OpenRead(route))
            {
                await blob.UploadFromStreamAsync(fileStream);
            }
        }
        catch (System.Exception)
        {
            return false;
        }

        return true;
    }
Run Code Online (Sandbox Code Playgroud)

它成功地将文件上传到 blob:

在此处输入图片说明

然后我尝试检索其 URL 以直接访问它:

public string GetBlobUrl(string containerReference, string blobReference)
    {
        CloudBlobContainer container = blobClient.GetContainerReference(containerReference);
        CloudBlockBlob blob = container.GetBlockBlobReference(blobReference);

        return blob.Uri.ToString();
    }
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

c# azure azure-storage azure-storage-blobs azure-blob-storage

5
推荐指数
1
解决办法
4135
查看次数

Azure Data Factory在复制到Blob存储时指定自定义输出文件名

我目前正在使用ADF按计划将文件从SFTP服务器复制到Blob存储.

文件名结构为AAAAAA_BBBBBB_CCCCCC.txt.

是否可以在复制到Blob存储之前重命名该文件,以便最终得到类似文件夹的结构,如下所示?

AAAAAA/BBBBBB/CCCCCC.txt

azure azure-data-factory azure-blob-storage

5
推荐指数
2
解决办法
1782
查看次数

Connecting Azure Function to Azure Storage Blob with HTTP trigger

I came across multiple ways of connecting Azure Storage Blobs to Azure (like this one for example) Functions but all of them require me to use a BlockBlob type parameter in my Run function, therefore replacing the HTTPRequestMessage parameter I need. Is there a way to keep the HTTPRequestMessage parameter and connect to Azure Storage Blob?

Ultimately, I need to get a file reference from the blob to send to another service via Azure Function.

When I try …

c# azure azure-blob-storage azure-functions

5
推荐指数
1
解决办法
3455
查看次数

TLS 1.0和Azure Blob存储如何兼容?

我们最近对托管在Azure中的应用程序进行了“安全性审查”,其中之一是我们没有禁用TLS 1.0。

虽然我知道我们可以为Web角色甚至是App Services禁用TLS 1.0(或者至少很快将能够执行此操作),但我们还允许移动应用程序使用REST API直接将数据上传到Blob存储。扫描发现了这一点并将其标记为问题?

是否有人知道这里可能的解决方案,为每个容器禁用它的措施或其他措施?

我能看到的唯一解决方案是实现我们自己的端点,但这将是最后的选择。如果有人对这个问题有更简单的解决方案,是否会徘徊?

ssl azure azure-storage-blobs azure-blob-storage tls1.0

5
推荐指数
0
解决办法
634
查看次数

Azure函数无法使用给定输入找到方法签名

我创建了一个在创建或更新blob存储时触发的函数.我的团块结构:容器/ A-123/B-123/C-1-2-3

123是动态值

在这里我的功能

public class BlobTriggerFunction {
/**
 * This function will be invoked when a new or updated blob is detected at the specified path. The blob contents are provided as input to this function.
 */
@FunctionName("blobtriggerfunction")
@StorageAccount("connection")
public static void run(
        @BlobTrigger(name = "container", path = "container") CloudBlockBlob cloudBlockBlob,
        @BindingName("name") String name,
        final ExecutionContext context
) {
    context.getLogger().info(cloudBlockBlob.getUri().toString());
    context.getLogger().info(name);
}
Run Code Online (Sandbox Code Playgroud)

}

我总是得到错误

执行'Functions.blobtriggerfunction'(Reason ='检测到新blob:容器/ u-123/c-123/m-1-2-3-a50a-025592397574',Id = 6b9ae40c-f92b-46d4-8c1-41791167c355)不能使用给定的输入System.Private.CoreLib找到方法签名:执行函数时出现异常:Functions.blobtriggerfunction.System.Private.CoreLib:Result:Failure Exception:无法使用给定的输入堆栈找到方法签名:java.lang.NoSuchMethodException:无法使用com.microsoft.azure.functions.worker.broker中的给定输入找到方法签名. JavaMethodExecutor.lambda $在java.util.Optional.orElseThrow(Optional.java:290)的com.microsoft.azure.functions.worker.broker.JavaMethodExecutor.execute执行$ 0(JavaMethodExecutor.java:49)(JavaMethodExecutor.java:49 )com.microsoft.azure.functions.worker.broker.JavaFunctionBroker.invokeMethod(JavaFunctionBroker.java:47)at com.microsoft.azure.functions.worker.handler.InvocationRequestHandler.execute(InvocationRequestHandler.java:33)at com. micros.com.azure.functions.worker.handler.InvocationRequestHandler.execute(InvocationRequestHandler.java:10)位于com.microsoft.azure的com.microsoft.azure.functions.worker.handler.MessageHandler.handle(MessageHandler.java:45). functions.worker.JavaWorkerClient …

java azure azure-blob-storage azure-functions

5
推荐指数
1
解决办法
370
查看次数

使用SQL行中的文件名和数据创建Blob

关于如何使用Azure数据工厂将数据从Blob读取到SQL中,有很多文档,甚至还有关于如何将查询的输出转储到单个Blob的文档。我试图为表中的每一行(在Azure SQL Server上)创建一个Blob,由一个字段命名,并在另一字段中包含数据。

我的表有一个GUID id字段和一个nvarchar(max)data字段(其中包含JSON,尽管基本上无关紧要)。假设我有以下几行:

                 id                    |  data
---------------------------------------+----------
38b2f551-5f13-40ce-8512-c108a05ecd44   |  foo
4db5b25b-1194-44e9-a7b2-bc8889c32979   |  bar
2a3bd653-ce14-4bd2-9243-6923e97224c6   |  baz
Run Code Online (Sandbox Code Playgroud)

我希望创建以下Blob:

https://mycontainer.blob.core.windows.net/myblobs/38b2f551-5f13-40ce-8512-c108a05ecd44
https://mycontainer.blob.core.windows.net/myblobs/4db5b25b-1194-44e9-a7b2-bc8889c32979
https://mycontainer.blob.core.windows.net/myblobs/2a3bd653-ce14-4bd2-9243-6923e97224c6
Run Code Online (Sandbox Code Playgroud)

它们的内容应该是相关的数据字段,即foobarbaz分别。

Data Factory v2-每行生成一个json文件具有有效的答案,但它涉及一次查询数据库以获取所有ids,然后再查询N次以从每一行获取数据。似乎应该只对这两个字段查询一次,对文件名使用一个查询,对内容使用一个查询,但是我还无法弄清楚该怎么做。

azure-storage-blobs azure-data-factory azure-blob-storage azure-data-factory-2

5
推荐指数
1
解决办法
213
查看次数

WebContentNotFound位于以CDN部署为Azure Blob静态网站的SPA的刷新页面上

我有一个SPA(用角度构建),并已部署到Azure Blob存储。当您从默认域中运行时,一切正常,但当我刷新任何页面/路由时,index.html不再加载,而是出现错误“请求的内容不存在”

谷歌搜索该词总共得到3个结果,所以我迷茫地尝试诊断和解决这个问题。

azure azure-storage azure-storage-blobs azure-blob-storage

5
推荐指数
2
解决办法
776
查看次数

MarkLogic-我们可以在Azure Blob上配置计划的备份吗

我们要为数据库配置计划备份。

我们在安全性-> Azure凭据中为Azure Blob设置了存储帐户和访问密钥。

在备份目录中,输入azure:// containName时,此容器名称存在于给定的存储帐户中。

作为响应,它说目录azure:// backup /在主机ml01上不存在。您想尝试创建它吗?

有人可以帮我配置吗?

backup azure marklogic azure-blob-storage

5
推荐指数
1
解决办法
114
查看次数