将消息放入azure队列

2024-02-08

我按照给出的详细信息将消息放入天蓝色队列中Azure Python SDK https://github.com/Azure/azure-sdk-for-python。当我尝试将消息放入队列时,

from azure.storage import QueueService
queue_service = QueueService(account_name, account_key)
queue_service.put_message('taskqueue', 'Hello world!')

消息已放入队列中,但队列为空。任何帮助将不胜感激。


好像是官方的文档 https://learn.microsoft.com/en-us/azure/storage/queues/storage-python-how-to-use-queue-storage?tabs=python#insert-a-message-into-a-queue需要更新。我们需要对文档中缺少的字符串进行编码。

下面的代码,我测试并为我工作:

    from azure.storage.queue import (
           QueueClient,
           BinaryBase64EncodePolicy,
           BinaryBase64DecodePolicy
    )
    ...
    queue_client = QueueClient.from_connection_string(
        AZURE_STORAGE_CONNECTION_STRING,
        QUEUE_NAME
        )

    # Setup Base64 encoding and decoding functions
    queue_client.message_encode_policy = BinaryBase64EncodePolicy()
    queue_client.message_decode_policy = BinaryBase64DecodePolicy()

    message = 'Hello World'
    message_bytes = message.encode('ascii')
    queue_client.send_message(
      queue_client.message_encode_policy.encode(content=message_bytes)
      )
  • 我们不能直接使用字符串queue_client.message_encode_policy.encode甚至也不简单base64.b64encode('你好')方法,因为需要类似字节的对象。

      In [6]: base64.b64encode('hello')
      ---------------------------------------------------------------------------
      TypeError                                 Traceback (most recent call last)
      <ipython-input-6-b1f43373737a> in <module>
      ----> 1 base64.b64encode('hello')
      /usr/local/Cellar/[email protected] /cdn-cgi/l/email-protection/3.9.0_1/Frameworks/Python.framework/Versions/3.9/lib/python3.9/base64.py in b64encode(s, altchars)
      ...
      TypeError: a bytes-like object is required, not 'str'
    
  • 另外上面的代码使用的是最新的SDK https://learn.microsoft.com/en-us/python/api/azure-storage-queue/azure.storage.queue.queueclient?view=azure-python#send-message-content----kwargs-方法名称改变了。

  • 一切都在Python 3.9下测试

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将消息放入azure队列 的相关文章

随机推荐

  • C++中的动态对象[关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我从c 转到c 我不明白什么是动态对象 所以想象一下你有 A 类并创建像 A a new A 这样的对象是正常的 但是对象 a 是什么 它和
  • 客户端服务器程序的多线程

    我正在尝试使用我一直在开发的客户端 服务器程序来实现多线程 我需要允许多个客户端同时连接到服务器 我目前有 4 个类 一个客户端 一个服务器 一个协议和一个处理线程的工作人员 以下代码是我为这些类编写的代码 套接字服务器类 public c
  • Jmeter 而控制器似乎没有将变量评估为数字

    我正在编写一个 jmeter 脚本 该脚本会不断加载数据 直到表达到指定的大小 我有一个 while 循环 其中有一个 HTTP 采样器来加载数据 然后是另一个带有 XPath 后处理器的 HTTP 采样器来检查表大小 它们调用两个不同的
  • get_dummies (Pandas) 和 OneHotEncoder (Scikit-learn) 之间的优缺点是什么?

    我正在学习不同的方法将分类变量转换为机器学习分类器的数字 我遇到了pd get dummies方法和sklearn preprocessing OneHotEncoder 我想看看它们在性能和使用方面有何不同 我找到了一个关于如何使用的教程
  • 树形视图闪烁?

    我开始知道 通过添加 TreeView BeginUpdate 将防止树视图闪烁 但是当我将其添加到我的项目中时 树视图的所有节点都会消失 任何人都可以告诉我为什么会发生这种情况 这是我使用 TreeView 的代码片段 BeginUpda
  • ios google登录,如何获取用户图片url?

    我正在研究 iOS Swift 谷歌登录 我在github上做了一个demo 我的演示项目 https github com tanggod GoogleSignIn git https github com tanggod GoogleS
  • 使用python删除某些文件

    我有一个 py 脚本 可以处理扩展名为 hgx 的文件 示例 test hgx 有很多这样的扩展名为 hgx 的文件 该脚本处理 test hgx 并创建一个新的 test bac hgx 并在重新运行时创建 test bac bac hg
  • 如何获取存储库 /network 的完整 github.com 可视化

    EDIT 这应该是给我母亲的礼物 如果需要的话 我会将它拖放并将一堆丝网印刷品缝合在一起 但是该资源必须位于网站上的某个地方 我相信至少这个网站上有人知道如何做到这一点 EDIT 所以我进一步研究了这个问题 发现如果你把 meta 放在网络
  • Windows 10 通用应用程序 - 类型同时存在于“Windows.Foundation.UniversalApiContract”中

    不知何故 我什至没有做任何事情 我在 Visual Studio 2015 中遇到很多错误 但我无法理解问题到底是什么 它说两个 Windows Foundation UniversalApiContract 库中都存在很多 类型 有人可以
  • 将 defer 与指针一起使用

    假设我有以下代码 func getConnection fileName string os File file err os Open fileName Check for error return file 我使用此函数打开一个文件 并
  • clang 对 C++ 11 lambda 的支持

    我有这个使用 lambda 的 C 11 代码 这是一个示例 include
  • 线程创建、CRT 和 DLL 是如何完成的?

    所以我知道 CreateThread 和 CRT 可能会导致内存泄漏 信号不起作用 应该使用 beginthread 或 beginthreadex 函数 在编写应用程序时这一切都很好 但是那些为其他应用程序编写 dll 等的人 无论是普通
  • django-mptt 引发 django.db.utils.IntegrityError:列“lft”中的空值违反了非空约束

    条件 Django 1 8 7 和 django mptt 0 8 0 有一个模型 class Tree mptt models MPTTModel name models CharField max length 120 unique T
  • AWS EB - 将所有流量重定向到 https

    我的nodejs应用程序部署在AWS EB上 我已经配置了 https 服务器并且工作正常 现在我需要将每个非 https 请求重定向到带有 www 的 https 作为前缀 如下所示 GET example com gt https ww
  • Flutter URL 启动器 Google 地图

    列表 dart import package flutter material dart import package url launcher url launcher dart class List extends StatefulWi
  • 算法渐近复杂度

    我想知道这个过程可以使用大 符号在以下算法中返回的最小值和最大值是多少 算法是 procedure F 1 n s 0 for i 1 to n j min max i A i n s s j return s 编辑 删除了原始答案 因为它
  • 我可以为 gtest 中的值参数化测试指定更好的名称吗?

    我在 gtest 中使用值参数化测试 例如 如果我写 INSTANTIATE TEST CASE P InstantiationName FooTest testing Values meeny miny moe 然后在输出中我看到测试名称
  • 延迟加载模块时生成错误

    在另一个模块中延迟加载模块时 出现构建错误 延迟加载在执行 ng 服务时工作得很好 角度版本 11 1 2 错误 错误 构建多个块时 必须使用 output dir 选项 而不是 output file 要内联动态导入 请设置 inline
  • 通过 c# 解析 csproj - 无法解析 ItemGroup

    我尝试从 csproj 文件中获取所有 dll 名称 但无法获取任何内容 因此 我尝试使用 liq 查询从 ItemGroup 标记中获取所有元素 var elem doc Descendants Project Where t gt t
  • 将消息放入azure队列

    我按照给出的详细信息将消息放入天蓝色队列中Azure Python SDK https github com Azure azure sdk for python 当我尝试将消息放入队列时 from azure storage import