标签: azure-blob-storage

如何将 parquet 文件从 Azure Blob 读取到 Pandas DataFrame 中?

我需要在本地计算机上将 .parquet 文件读入 Python 中的 Pandas DataFrame,而无需下载文件。parquet 文件存储在具有分层目录结构的 Azure blob 上。我正在做类似以下的事情,但我不知道如何继续:

from azure.storage.blob import BlobServiceClient
blob_service_client = BlobServiceClient.from_connection_string(connection_string)

blob_client = blob_service_client.get_blob_client(container="abc", blob="/xyz/pqr/folder_with_parquet_files")
Run Code Online (Sandbox Code Playgroud)

出于隐私考虑,我在这里使用了虚拟名称。假设目录“folder_with_parquet_files”包含“n”个。parquet 文件,如何将它们读入单个 Pandas DataFrame 中?

azure parquet azure-blob-storage

13
推荐指数
1
解决办法
1万
查看次数

s3 上的 AWS Athena 的 Azure 等效项

我有一个 AWS 工作负载,它将 csv 文件存储在 s3 的分区中,然后使用 Athena 通过 SQL 查询来查询数据,将结果写回 s3。

我正在 Azure 中寻找等效的行为,我可以将 csv 文件存储在存储中并查询它们并将结果写回该存储。

amazon-s3 azure-storage azure-blob-storage amazon-athena

13
推荐指数
1
解决办法
2万
查看次数

错误:检测到 fs.azure.account.key 的配置值无效

我正在使用 Azure Databricks 使用 ADLS Gen2 在 Azure Blob 存储中创建增量表,但在最后一行收到错误“初始化配置失败检测到 fs.azure.account.key 的配置值无效”

%scala
spark.conf.set(
    "fs.azure.account.oauth2.client.secret",
    "<storage-account-access-key>")
friends = spark.read.csv('myfile/fakefriends-header.csv',
   inferSchema = True, header = True)
friends.write.format("delta").mode('overwrite')\
   .save("abfss://tempfile@tempaccount.dfs.core.windows.net/myfile/friends_new")
Run Code Online (Sandbox Code Playgroud)

请帮助我如何避免这个错误

azure azure-blob-storage azure-databricks

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

由于缺少 Azure 存储连接字符串和 SAS 连接 uri,Blob 存储的秘密初始化失败

我在 Visual Studio 中为 Azure 函数 HTTP 触发器配置 blob 输出绑定时收到此错误。我尝试在文件中分配值host.json,但仍然出现此错误。

Microsoft.Azure.WebJobs.Script.WebHost:由于缺少 Azure 存储连接字符串和 SAS 连接 URI,Blob 存储的秘密初始化失败。对于 Blob 存储,请至少提供其中一项。如果打算使用文件作为机密,请添加应用程序设置键“AzureWebJobsSecretStorageType”和值“Files”。

本地.settings.json

{
  "IsEncrypted": false,

  "Values": {
    "AzureWebJobsStorage": "DefaultEndpointsProtocol=https;AccountName=.......",
    "APPINSIGHTS_INSTRUMENTATIONKEY": "f...........",
    "FUNCTIONS_EXTENSION_VERSION": "~2",
    "WEBSITE_NODE_DEFAULT_VERSION": "8.11.1",
    "WEBSITE_LOAD_CERTIFICATES": "*",
    "WEBSITE_RUN_FROM_PACKAGE": "1"
  },
  "version": "2.0"
}
Run Code Online (Sandbox Code Playgroud)

谁能帮我在 Visual Studio 中为 azure 函数配置 blob 输出绑定?

c# azure visual-studio azure-blob-storage azure-functions

13
推荐指数
3
解决办法
1万
查看次数

针对kubernetes的Spark - Azure Blob存储凭据问题

当应用程序jar存储在Azure Blob存储容器中时,我尝试为kubernetes运行Spark时出现以下问题:

2018-10-18 08:48:54 INFO  DAGScheduler:54 - Job 0 failed: reduce at SparkPi.scala:38, took 1.743177 s
Exception in thread "main" org.apache.spark.SparkException: Job aborted due to stage failure: Task 0 in stage 0.0 failed 4 times, most recent failure: Lost task 0.3 in stage 0.0 (TID 6, 10.244.1.11, executor 2): org.apache.hadoop.fs.azure.AzureException: org.apache.hadoop.fs.azure.AzureException: No credentials found for account datasets83d858296fd0c49b.blob.core.windows.net in the configuration, and its container datasets is not accessible using anonymous credentials. Please check if the container exists …
Run Code Online (Sandbox Code Playgroud)

azure apache-spark kubernetes azure-blob-storage

12
推荐指数
1
解决办法
355
查看次数

将Excel从Azure Blob存储导入Sql Server时出现数据截断问题

我正在尝试将Azure Blob存储中存在的以下Excel文件导入SQL Server

EXCEL文件

在此处输入图片说明

询问

SELECT * 
    FROM OPENROWSET(
        BULK 'container/testfile.xlsx', 
        DATA_SOURCE = 'ExternalSrcImport',
        FORMATFILE='container/test.fmt', FORMATFILE_DATA_SOURCE = 'ExternalSrcImport',
        codepage = 1252,
        FIRSTROW = 1
        ) as data
Run Code Online (Sandbox Code Playgroud)

格式化文件

10.0  
4  
1       SQLCHAR       0       7       "\t"     1     DepartmentID     ""  
2       SQLCHAR       0       100     "\t"     2     Name             SQL_Latin1_General_CP1_CI_AS  
3       SQLCHAR       0       100     "\t"     3     GroupName        SQL_Latin1_General_CP1_CI_AS  
4       SQLCHAR       0       24      "\r\n"   4     ModifiedDate     ""  
Run Code Online (Sandbox Code Playgroud)

格式文件说明

在此处输入图片说明

当我执行查询时,出现以下错误

消息4863,级别16,状态1,行210的行1,列1(部门ID)的大负荷数据转换错误(截断)。

看起来格式文件中的字段终止符不起作用,导入文件有什么想法吗?

sql sql-server azure openrowset azure-blob-storage

12
推荐指数
1
解决办法
205
查看次数

模拟 Azure BlobItem - C# 单元测试

我有一些单元测试,我想在其中模拟 AzureBlobItem类 (Azure.Storage.Blobs.Models)。

这是我正在使用的测试类。我希望Valuesgetter 返回一个带有模拟 BlobItem 的列表。那是有效的。

public class TestPage : Page<BlobItem>
{
    public override IReadOnlyList<BlobItem> Values
    {
        get
        {
            return new List<BlobItem>() { new Mock<BlobItem>().Object };
        }
    }

    public override string ContinuationToken => throw new NotImplementedException();

    public override Response GetRawResponse()
    {
        throw new NotImplementedException();
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,当我这样做时,Name我的模拟 BlobItem 上的属性始终为 null。

我可以尝试设置它,以便Name返回一个模拟值,如下所示:

var mock = new Mock<BlobItem>();
mock.SetupGet(x => x.Name).Returns("mock");
Run Code Online (Sandbox Code Playgroud)

但后来我得到一个错误:

Non-overridable members may not be used in setup/verification expressions.
Run Code Online (Sandbox Code Playgroud)

我明白为什么会发生这个错误。但我不知道解决方案是什么。

我希望模拟的 …

c# unit-testing moq azure-blob-storage

12
推荐指数
1
解决办法
7987
查看次数

Status = 403 Code =“AuthorizationFailure” Message =“此请求无权执行此操作”

我正在尝试运行一个部署存储容器的 terraform 部署。初始部署有效(由于尚未到位 IP 过滤),但随后失败。运行 terraform plan 时,我得到以下信息:

Error: retrieving Container "xxxx" (Account "xxxx" / Resource Group "xxx"): containers.Client#GetProperties: Failure responding to request: StatusCode=403 -- Original Error: autorest/azure: Service returned an error. Status=403 Code="AuthorizationFailure" Message="This request is not authorized to perform this operation.\nRequestId:62a85c92-901e-0021-12de-816608000000\nTime:2022-06-17T00:11:56.2063816Z"
Run Code Online (Sandbox Code Playgroud)

根据一些研究和调试,当存储容器没有将托管管道代理的 IP 列入白名单时,就会发生这种情况。

我修改了管道,以便检索代理的 IP 并将其添加为防火墙规则。然后,我添加了不同时间的睡眠(最多 5 分钟),尝试为规则生效留出时间,但它从未起作用。

这是我的管道的片段:

          - task: AzureCLI@2
            inputs:
              azureSubscription: '$(azureSubscription)'
              scriptType: 'bash'
              scriptLocation: 'inlineScript'
              inlineScript: |
                 agentIP=$(curl -s https://api.ipify.org/)
                 az storage account network-rule add -g xxx --account-name xxx --ip-address $agentIP
                 sleep 300 …
Run Code Online (Sandbox Code Playgroud)

azure terraform azure-blob-storage azure-devops azure-pipelines

12
推荐指数
1
解决办法
4万
查看次数

如何使用Azure Portal中Azure Blob容器的存储访问策略创建共享访问签名?

我从这里读到了使用存储的Azure存储访问策略生成的共享访问签名.

我还在此处了解了如何使用PowerShell为Azure存储的存储访问策略创建此共享访问签名.

但是,我想使用Azure门户执行上述操作.我知道如何生成ad-hoc共享访问签名.我也知道如何在Azure Blob中为容器创建存储访问策略.

如何在Azure门户中为Azure Blob容器创建存储访问策略的共享访问签名?

azure azure-storage azure-blob-storage azureportal

11
推荐指数
2
解决办法
6655
查看次数

如何在Azure存储资源管理器中按名称搜索blob文件?

Azure 存储资源管理器中的 Blob 文件是分页的,每页 100 个文件。有没有一种方法可以按名称搜索文件,这样我就不必翻阅页面来查找它。

azure-storage azure-blob-storage azure-storage-explorer

11
推荐指数
1
解决办法
1万
查看次数