当前位置: 首页 > article >正文

Ceph+python对象存储

进行对象存储操作时,使用 Ceph 的 rados Python 库是一个非常直接和高效的方式。下面我将详细介绍如何使用 rados 进行基本的对象存储操作,包括连接到 Ceph 集群、创建池(pool)、写入和读取对象、列出对象等。

# 完整代码
import rados

def main():
    # 连接到 Ceph 集群
    cluster = rados.Rados(conffile='/etc/ceph/ceph.conf', conf=dict(keyring='/etc/ceph/ceph.client.admin.keyring'))
    print("Cluster ID: ", cluster.get_fsid())
    cluster.connect()

    pool_name = 'my_new_pool'

    # 创建池
    if not cluster.pool_exists(pool_name):
        try:
            cluster.create_pool(pool_name)
            print(f"Pool '{pool_name}' created.")
        except Exception as e:
            print(f"Failed to create pool: {e}")
            return

    # 写入对象
    ioctx = cluster.open_ioctx(pool_name)
    object_name = 'my_object'
    data = b'Hello, Ceph!'
    try:
        ioctx.write(object_name, data)
        print(f"Wrote {len(data)} bytes to object '{object_name}'.")
    except Exception as e:
        print(f"Failed to write object: {e}")

    # 读取对象
    try:
        read_data = ioctx.read(object_name)
        print(f"Read data from object: {read_data.decode()}")
    except Exception as e:
        print(f"Failed to read object: {e}")

    # 列出对象
    print(f"Objects in pool '{pool_name}':")
    for obj in ioctx.list_objects():
        print(obj.key)

    # 删除对象
    try:
        ioctx.remove(object_name)
        print(f"Object '{object_name}' removed.")
    except Exception as e:
        print(f"Failed to remove object: {e}")

    # 关闭资源
    ioctx.close()
    cluster.shutdown()

if __name__ == "__main__":
    main()

http://www.kler.cn/a/445126.html

相关文章:

  • 南城云趣:智能云平台,杜绝电动车充电安全隐患
  • Mybatis加密解密查询操作(sql前),where要传入加密后的字段时遇到的问题
  • 深度学习模型中增加随机性可以通过多种方式实现,以下是一些可以应用到你的 `TCNAttentionLSTM`
  • 省略内容在句子中间
  • 【Unity】【VR开发】实现VR屏幕共享应用的几个重要插件和参考资料分享
  • Qt+OPC开发笔记(一):OPCUA介绍、open62541介绍、编译与基础环境Demo
  • ubuntu,自动休眠后,程序自动暂停。如何破?
  • Window右键打开方式,删除无效应用
  • C# opencvsharp 流程化-脚本化-(2)ROI
  • 通过算法识别运行过程中产生的常见缺陷,及时处理,避免运行故障,影响正常作业的智慧快消开源了
  • Pytorch常用内置损失函数合集
  • 【Elasticsearch03】企业级日志分析系统ELK之Elasticsearch访问与优化
  • BI 工具与 NoETL 自动化指标平台在自助数据分析的差异
  • element table 表头header-cell-style设置的表头不生效
  • 移动魔百盒中的 OpenWrt作为旁路由 安装Tailscale并配置子网路由实现在外面通过家里的局域网ip访问内网设备
  • 每日十题八股-2024年12月18日
  • 亚马逊云科技 re:Invent 2024重磅发布!Amazon Bedrock Data Automation 预览版震撼登场
  • 深度学习0-前置知识
  • 道路运输企业安全生产管理人员安全考核试题
  • 【网络安全设备系列】7、流量监控设备
  • 华为云联合中国信通院发布首个云计算智能化可观测性能力成熟度模型标准
  • Group FLUX - Beta Sprint Summary Essay
  • Vue中Axios二次封装
  • 主曲率为常数时曲面分类
  • uniApp使用腾讯地图提示未添加maps模块
  • 设计模式--单例模式【创建型模式】