问题标签 [azure-python-sdk]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
53 浏览

azure - Azure 存储帐户备份循环

我希望有人可以通过遵循最佳方法来帮助理解和解决small我面临的这个问题。

我有一个庞大的存储帐户列表,其中超过 54 个。每个存储帐户下面都有多个 blob 和表。我想将每个存储帐户备份到另一个存储帐户。

所以我开始编写备份代码,它的作用是对特定存储 blob 和表进行循环,复制并将它们粘贴到另一个存储帐户中。

这是 blob 和表循环的代码

但正如你在我的代码中看到的,我有

它们是硬编码的连接字符串和键。

另一方面,我正在使用azure bicep创建所有备份存储,我可以在其中备份以前代码中的所有内容。

但这是我的阻碍,我想不出一个正确的方法来使这个动态。

在我的第一个代码(副本)中,我有硬编码变量,这意味着我必须从每个存储帐户复制并粘贴连接字符串>>运行脚本>>等待它完成>>从下一个存储开始。

我想做的可能是在存储 A 和 StorageBackupA 之间建立一种映射,我可以在其中列出所有连接字符串并只运行一次脚本,以便它可以遍历所有这些连接字符串并复制 blob 等到分配的备份存储。

我正在考虑不同的方法,例如 2 个列表,一个用于 StorageA,一个用于备份或字典,但我很难找出开发此步骤的最佳方法。

我希望我的描述足够清楚,如果您需要更多信息,请随时询问。

非常感谢您提供的任何帮助

0 投票
1 回答
69 浏览

azure - Azure python sdk 容器已经存在

我有以下脚本将 blob 从一个容器复制到另一个容器。

这个完全相同的代码昨天工作得很好,但是今天当我再次运行它时,我得到了以下错误。

通过尝试,直到今天我都没有遇到任何问题。检查容器是否存在以不尝试再次创建它是否有更好的选择?

非常感谢您提供的任何帮助。

更新:

我用 if 条件更新了我的代码,如下所示:

但是if (!container_client.exists()):突出显示为错误说明Expression Expected

0 投票
1 回答
85 浏览

azure - Azure python sdk存储表备份表返回1000多行

希望我能得到一些关于这个问题的提示。

我编写了以下代码,以将表从一个存储备份到另一个存储。

这应该是一个简单的脚本,用于遍历表中的项目并将它们复制到另一个存储帐户中。我已经在一个 azure 函数中运行了这个确切的代码,它工作得很好。

今天我尝试针对多个存储帐户运行它,运行了一段时间就好了,但随后它停止并抛出此错误:

我不明白为什么会发生这种情况。因为它所要做的就是从一侧复制到另一侧。

请如果有人可以帮助解决这个问题,我完全筋疲力尽,无法再思考了:(

更新:再次阅读我的代码,我认为我在这里有这个限制。

当我检查我的存储表时,实际上我只有 100 行。但是我找不到任何地方可以设置查询大小以一次性加载所有数据。

据我了解,是在我达到 query_size 限制后,我需要寻找下一个x_ms_continuation令牌来获取下一批。

我现在有这个代码:

根据微软文档,marker应该检查是否有任何延续令牌,如果是真的,它应该重新运行代码。但这在我的情况下不会发生,一旦我到达query_size代码就会抛出错误。

任何人都可以帮忙吗?

0 投票
1 回答
30 浏览

azure - Azure 表备份检索超过 1000 行

我希望有人可以帮助我调试这个问题。

我有以下脚本

此代码将检查表并storageA复制它们并在其中创建相同的表StorageB,并且由于每个请求的行数超过 1000 行,marker我可以拥有令牌。x_ms_continuation

不用说,这工作得很好。

但是昨天我试图对代码进行一些更改,如下所示:

If in storageA I have a table name TEST, I storageB I want to create a table named TEST20210930, basically the table name from storageA + today date

这是代码开始崩溃的地方。

这里发生的情况是代码运行到了 query_size 限制,但是却说找不到表。

我在这里有点困惑,也许有人可以帮助发现我的错误。

如果您需要更多信息,请询问

非常感谢你。

如何重现:在 azure 门户中创建 2 个存储帐户。存储 A 和存储 B。

在存储A中创建一个表并用数据填充它,超过100(基于query_size。设置配置端点。table_service_out= storageA和table_storage_in= StorageB

0 投票
0 回答
19 浏览

azure - Azure Python SDK 存储备份失败

我在我的脚本中遇到了一个问题,老实说,我不知道去哪里寻找和/或如何解决它。

我有以下脚本。

这很好用,因为它从源存储复制所有 blob 和表并将它们粘贴到目标存储中。但是我面临的问题是,当源存储帐户容器包含一个$web如果存在的 blob 时,我的脚本会抛出一个The Resource contains an invalid character奇怪的错误,因为我检查了容器及其内容文件,并且它们都有允许的字符。

我是否遗漏了有关此配置的某些内容或做错了什么?

非常感谢您提供的任何帮助,如果您需要更多信息,请告诉我

0 投票
1 回答
120 浏览

azure - Azure 从密钥保管库中检索机密

我正在按照 Microsoft 文档使用 python sdk 从密钥库中检索机密。

微软提供的代码和解释导致了这个代码:

根据我的理解,DefaultCredentials配置的az login那个很好,我的代码运行得很好,但我一直在终端中收到这条消息。

我认为这warnings是因为我在我的 Azure 门户中有多个订阅。

我想知道,我怎样才能摆脱这些并仅为单个订阅设置凭据?

非常感谢您为我提供的任何帮助和解释。

0 投票
1 回答
78 浏览

azure - Azure Python SDK 检索存储帐户的 Key Vault 机密

我有以下代码用于密钥保管库以检索机密并能够在存储帐户备份中使用它们。密钥保管库的以下代码如下

另一方面,我有一个存储帐户代码,如下所示:

通常在这一行

参数将值作为字符串,秘密检索它作为字符串返回,所以我认为这会起作用,但是当我运行代码时,我收到以下错误

0 投票
1 回答
48 浏览

azure - Azure函数时间触发器sdk python

我有一个完全工作的 python 脚本,它连接到一个密钥库,从中检索一些秘密并使用这些秘密来执行一些备份。不用说,这段代码在本地工作得很好:

脚本选择正确的凭据并开始移动容器作为备份。

我面临的问题是在将此逻辑移至 azure 函数后开始的。当代码触发时,我收到以下错误

我了解 azure 函数正在寻找凭据进行身份验证,但我认为此身份验证(在 azure 函数中)在我通过身份验证时会自动发生。

请帮助解决和理解这个问题?

如果您需要更多信息,请随时询问

0 投票
0 回答
198 浏览

azure - Azure Function App Service Bus 主题 ImportError 模块 c_uamqp

我希望有人可以帮助我了解我在使用这个 azure 函数时做错了什么。

我的想法是结构如下。

我有2个主题。TOPIC_A 旨在接收消息并对其进行处理并将其发送到 TOPIC_B,我只想拥有该消息,直到我决定如何处理它。

这是实际的天蓝色函数应用程序代码。

在解释我遇到的函数问题之前,我将解释如果我在本地运行此代码会发生什么。

如果我向 TOPIC_A 发送一条消息,并从 azure 门户前往该主题,我可以在 RECEIVED 选项卡中看到该消息,一旦我运行我的 python 代码,来自 TOPIC_A 的该消息将被使用并发送到 TOPIC_B,它留在已收到。这正是我所期待的输出。

现在,我将整个逻辑移到了一个 azure 函数下,我将消息发送到 TOPIC_A ..我立即看到消息以 DEADLETTERS 结尾,并且在我的 azure 函数中我收到了这个错误。

而如果我偷看死信中的消息(TOPIC_A),我会看到这条消息:

据我了解,消息在死信下结束得如此之快,而我的代码正在寻找 RECEIVED 下的消息,它尝试了 10 次然后失败。

但是我难以理解的想法是为什么只有在我使用 azure 函数时才会发生这种情况。

如果有人可以帮助我理解这个问题,我会非常满意。

如果您需要更多详细信息,请告诉我。

更新:

经过不同的调试过程,我可以肯定地说问题是由于uamqp但我不明白为什么不起作用。

我在 ubuntu 工作人员上运行我的管道。

我的requirement.txt 有:

在管道输出中我可以看到已经安装

uamqp-1.4.3

但我得到了同样的错误:

起初,我的函数是从__init__.pyVisual Studio 代码创建的默认文件运行的。所以我认为这可能是一个名字冲突。所以我将文件名更改为,testServiceBus.py但我仍然有同样的错误。

这是我的完整配置。

函数.json

主机.json

非常感谢您的任何帮助或提示,完全迷失在这里,我没有更多的想法可以尝试

0 投票
1 回答
94 浏览

azure-functions - Azure Function app serviceBus ImportError:无法导入名称'c_uamqp'

我有一个 azure 函数应用程序,可以在消息发送到服务总线时触发。代码逻辑工作得很好,我可以手动向服务总线发送一条消息,运行我的 python 代码来接收该消息,它工作得很好。

但是当我将此逻辑集成到 azure 函数应用程序中时,我收到以下错误:

根据第一行,存在循环导入错误,导致函数应用失败。

我的代码如下:

我认为这种冲突发生在ServiceBusMessage两次导入时,但我不确定。

我在想如果我摆脱 azure.servicebus 并使用azure.functions应该可以解决问题。但是检查这个库,我找不到任何方法来初始化ServiceBusClient.

是否有任何人可以帮助我了解问题出在哪里以及如何解决?

非常感谢您的帮助