日期: 2024 年 8 月 30 日

  • 如何使用AWS SDK for PHP操作Minio Server

    1. 前提条件

    这里下载并安装Minio Server。

    2. 安装

    AWS SDK for PHP官方文档下载将安装aws-sdk-php

    3. 使用GetObject和PutObject

    下面示例描述的是如何使用aws-sdk-php对Minio Server进行putObject和getObject操作。请将 example.php文件中的endpoint,keysecretBucket修改为你的本地配置。注意,我们将use_path_style_endpoint设置为true以使用AWS SDK for PHP来操作Minio。了解更多,请参考AWS SDK for PHP

    1. <? php
    2. // 使用Composer autoloader引入SDK
    3. date_default_timezone_set ( 'America/Los_Angeles' );
    4. require 'vendor/autoload.php' ;
    5. $s3 = new Aws \S 3 \S 3Client ([
    6. 'version' => 'latest' ,
    7. 'region' => 'us-east-1' ,
    8. 'endpoint' => 'http://localhost:9000' ,
    9. 'use_path_style_endpoint' => true ,
    10. 'credentials' => [
    11. 'key' => 'YOUR-ACCESSKEYID' ,
    12. 'secret' => 'YOUR-SECRETACCESSKEY' ,
    13. ],
    14. ]);
    15. // 发送PutObject请求并获得result对象
    16. $insert = $s3 -> putObject ([
    17. 'Bucket' => 'testbucket' ,
    18. 'Key' => 'testkey' ,
    19. 'Body' => 'Hello from Minio!!'
    20. ]);
    21. // 下载文件的内容
    22. $retrive = $s3 -> getObject ([
    23. 'Bucket' => 'testbucket' ,
    24. 'Key' => 'testkey' ,
    25. 'SaveAs' => 'testkey_local'
    26. ]);
    27. // 通过索引到结果对象来打印结果的body。
    28. echo $retrive [ 'Body' ];

    修改之后,运行程序

    1. php example . php
    2. Hello from Minio !!

    4. 生成pre-signed URL

    1. <? php
    2. // 从client中获得一个commad对象
    3. $command = $s3 -> getCommand ( 'GetObject' , [
    4. 'Bucket' => 'testbucket' ,
    5. 'Key' => 'testkey'
    6. ]);
    7. // 获得一个10分钟有效期的pre-signed URL
    8. $presignedRequest = $s3 -> createPresignedRequest ( $command , '+10 minutes' );
    9. // 获得presigned-url
    10. $presignedUrl = ( string ) $presignedRequest -> getUri ();

    5. 获取plain URL

    获取一个plain URL,你需要将你的object/bucket权限设为public。注意,你不会获得带有后面这些信息的URL, X-Amz-Algorithm=[…]&X-Amz-Credential=[…]&X-Amz-Date=[…]&X-Amz-Expires=[…]&X-Amz-SignedHeaders=[…]&X-Amz-Signature=[…]

    1. <? php
    2. $plainUrl = $s3 -> getObjectUrl ( 'testbucket' , 'testkey' );

    6. 设置存储桶策略

    1. <? php
    2. $bucket = 'testbucket' ;
    3. // 该策略设置存储桶为只读
    4. $policyReadOnly = '{
    5. "Version": "2012-10-17",
    6. "Statement": [
    7. {
    8. "Action": [
    9. "s3:GetBucketLocation",
    10. "s3:ListBucket"
    11. ],
    12. "Effect": "Allow",
    13. "Principal": {
    14. "AWS": [
    15. "*"
    16. ]
    17. },
    18. "Resource": [
    19. "arn :aws :s3:::%s"
    20. ],
    21. "Sid": ""
    22. },
    23. {
    24. "Action": [
    25. "s3:GetObject"
    26. ],
    27. "Effect": "Allow",
    28. "Principal": {
    29. "AWS": [
    30. "*"
    31. ]
    32. },
    33. "Resource": [
    34. "arn :aws :s3:::%s /*"
    35. ],
    36. "Sid": ""
    37. }
    38. ]
    39. }
    40. ' ;
    41. // 如果你想将文件放到指定目录,你只需要修改'arn:aws:s3:::%s/*'为' arn: aws:s3:::%s/folder/*'
    42. // 创建一个存储桶
    43. $result = $s3 -> createBucket ([
    44. 'Bucket' => $bucket ,
    45. ]);
    46. // 配置策略
    47. $s3 -> putBucketPolicy ([
    48. 'Bucket' => $bucket ,
    49. 'Policy' => sprintf ( $policyReadOnly , $bucket , $bucket ),
    50. ]);
    原文: https://docs.minio.io/cn/how-to-use-aws-sdk-for-php-with-minio-server.html
  • 1.关于尿蛋白

    2022年11月5日 东哥小课堂 (大人群) 主题:1.关于尿蛋白 2.答疑:吃青霉胺尿铜不降反而高的原因是什么? 3.尿铜的变化和体内铜的关系 一、关于尿蛋白 1、尿常规尿蛋白与24小时尿蛋白区别 尿蛋白是间接反应肾尤其是肾小管的一个指标。我们平常查的尿常规也有尿蛋白,但那个是定性,尿蛋白定性一般到五百才能显示出它的异常来,这叫定性有问题。尿蛋白这个指标,晨尿可能蛋白多一点,空腹可能尿蛋白少一点,有很多不定因素。而我们查的24小时尿蛋白,它是一个平均数。 2、尿蛋白异常如何处理 人体一百四一百五的24小时尿蛋白,这属于正常范围,但是超过一星半点,我们就要开始引起注意了,观察是不是会继续恶化。如果从180变成280、380、480,持续在往上增,那这个时候我们就得采取停药,或者去肾内科让医生治疗的这个措施。 现在尿蛋白200多,不代表肾的损伤就已经很大了,就跟我们转氨酶42一样,这个时候我们已经知道数值不正常了,但是严不严重和是什么原因引起的,我们就需要引起注意了。就像转氨酶42并不严重,但是我们得知道它是有异常了,可是这个异常的量非常非常小,它的影响非常小,不至于说是不是转氨酶42马上就要爆发了,马上肝硬化晚期了,马上就腹水了,就是这个概念。 所以大家一定要理解,我们只是提前去观察到这些变化,提前去找出它异常的原因,早做措施预防,这是我们复查的一个意义。并不代表你现在就一定很严重,而是说我们要去观察它的趋势。 二、答疑:吃青霉胺尿铜不降反而高的原因是什么?

    1. 分析吃青霉胺期间尿铜不降反高原因 尿铜不降反而高,那是因为还没到峰值。你要看我们那个图,就知道它会逐渐地去排,不是说一上来就一定是最高,他有一个过程。

    青霉胺足量之后,尿铜没有到峰值,它有一个逐渐上升的过程。所以不是说这药一吃上去尿铜就一定会往下降了,它需要一个过程,只是之前的药量药力小,你的铜会逐渐往下去减,就像一个金字塔,金字塔越顶尖,上边的铜越少就排得越快,越到底层排得越慢,而你的药量,它有一个逐渐上升的过程,它是一个抛物线,所以你不用去关注它是不是往上增,我们最终看到的结果就是尿铜越来越低。 现在尿铜往上增,那只能说明你家铜多排得好,所以不用过多地去纠结这个。比如你们家孩子腹水了,为什么出现这些症状?这是因为铜在作祟,铜在一直在伤害身体。怎么办?这个时候我们大家都知道,要排铜。如果你现在没有铜,吃了10粒青霉胺的尿铜才200,那才需要慌,因为铜很少,但是伤害的时间长,肝能恢复的几率就非常小。但你现在铜多,马上排出来了反而会更好。所以说不用怕铜多,铜多是因为有20年的积累。只有把铜排出来了,肝脏才轻松了,才能改善地更快了,所以说不用去担心这些东西。如果尿铜太高了,一下就到2500了,那就不要再往上加量,就持续地再去观察。 如果你在加量的过程中,比如你吃四粒的时候尿铜是2000多,现在加到五粒了,尿铜开始降了然后后面又增加了,因为一个是可能尿铜不准,还有一个就是你没有看到吃四粒时尿铜持续往上增的一个过程。 所以说,不用过多地去纠结这个,只要知道铜往外排了就对了。 2.找出吃青霉胺期间尿铜变化的规律 有一部分医生对测尿铜的要求也没有那么多,因为他知道你只要吃青霉胺就是在排铜。假如吃一天排2000,吃一年就是2000乘以365,你去算。排到最后尿铜只要低了,就说明你的体内铜少了,不管你中间是变成3000变成5000还是变成1000,最终都是做减法。所以说很多医生并不注重中间测尿铜找规律找抛物线,是因为他们要看到的,只是排铜之后的结果。我们要的什么?我们要的是规律,是我们能看到我们体内的铜的情况。我们以后长期监测的一个事情就是找规律。 而峰值不峰值的,你在加量的过程中没有必要去看峰值,你直到足量了,才能看出峰值的变化。如果你尿铜特别高,从三粒就开始2000多,这个时候你就要让他去持续地吃三粒,吃到从2000变成1800、1500,这就已经形成了一个小抛物线,三粒的作用排得差不多,已经是抛物线在往下走了,这时候我们再加一粒,它又会往上走,因为药量加大了。 大家不管是吃青霉胺还是排铜水,其实道理都是一样的,如果你们去了解排铜水的话,只需要了解合肥神研所的一部分医生,就是小剂量加量的那部分医生的用法,你就知道我们青霉胺的这个用法了。不要去看什么华西、吴志英那些人的所谓的排铜水,他们是没有规律的,没有任何的技巧可言。 三、尿铜的变化和体内铜的关系 关于尿铜抛物线那个图,肯定是越低越好。实际上我们这些成人,发现肝豆病的时候,都是有问题的,要么是肢体症状,要么是肝的问题,不管严重与否,到现在为止,必然是出了问题你们才发现的肝豆病。 我们就说这个身体里的铜,那是不是100%都有?没有铜你怎么叫肝豆病呢?如果青霉胺吃五粒八粒的尿铜都不过百,那就别排了,那不是肝豆病。就算基因确诊肝豆病,那没准出了个个例,你没铜可排算什么肝豆病?所以说100%是有铜沉积问题的才是肝豆病。肝豆病是什么?就最简单一句话,不能正常排铜,铜代谢异常,就这么简单。 所以说,铜代谢异常就导致会有铜沉积,铜沉积我们就需要排铜,排铜是把你体内多余的铜排出去。那尿铜又代表什么? 尿铜是代表通过吃青霉胺这种螯合剂,和体内的铜发生化学反应,通过尿液排出体外。螯合可以想象成螃蟹的大钳子去夹这个铜。铜越多,用钳子是不是越容易夹到这个铜?当你体内的铜越来越少了,就算你还是原来那么多钳子,但是你没有那么铜可让你去夹了呀,那这个时候我们尿铜就会降低。 尿铜降低,为什么说能间接反应体内的铜没那么多?体内铜多的时候,六粒的药量,它能充分地去发挥药力,可能尿铜是2000。当你体内的铜少了,没那么多铜了,同样六粒的药量,它往外排的自然也就少了。 为什么初期吃青霉尿铜高是好事?因为肝硬化、肝纤维化、脂肪肝都是铜造成的,铜必然不少,都是你二三十年间积累起来的,这个时候它已经给肝造成损伤,只要你排出来,不就减少了你的肝脏损伤吗? 我们一直在说肝豆病是什么?肝豆病是铜代谢障碍,那我们把铜都排出来了,让肝上没有那么多铜,我们的肝脏就变成了和刚出生的小孩儿一样,体内没那么多多余的铜,那这个时候你肝脏就没有任何负担,你的肝还有充分的空间,让锌抑制不住的铜有一个沉积的空间。 为什么足量青霉胺和体重有关系?是因为要让药量和血液达到一个浓度的一个比例。就跟做汤一样,放调料的时候,做一小锅放一点儿就行了,如果说要熬一大锅,还放原来那么多调料,这能吃吗?你得达到一定的浓度,它才能发挥它的作用。

  • Microsoft Office 2021免费永久激活教程(附:微软官方下载地址、离线激活工具)

    Microsoft Office 2021免费永久激活教程(附:微软官方下载地址、离线激活工具)

    1,问题描述

      有时新购买的电脑带的是未激活的 Office,或者当我们使用微软官方的安装包安装 Office 后,如果没有密钥进行激活,窗口上方会显示“产品通知 Word 未激活。若要无中断地继续使用 Word,请在 XXXX 年 XX 月 XX 日之前激活。”提示。
    2024061611422992311

    2,免费激活方法

    (1)确保电脑正常联网,鼠标右键点击“开始”选择“Windows PowerShell(管理员)”。如果 Win11 系统则选择“终端管理员”。
    2024031610345045047
    (2)在弹出的终端窗口中输入如下命令,然后回车执行:
    1
    irm https:// massgrave.dev /get  | iex
  • PostgreSQL数据库的安装配置教程(CentOS系统为例)

    PostgreSQL 被业界誉为“世界上最先进的开源关系型数据库”,虽然 PostgreSQL 是关系型数据库,但其也支持 NoSQL 数据类型(JSON/XML/hstore),并且性能甚至超过了 MongoDB。本文演示如何在 CentOS 7 系统下安装配置 PostgreSQL 数据库。

    1,安装 PostgreSQL

    (1)首先访问官方的下载页面(点击访问),选择合适的版本:
    2021031115365563670
    (2)根据页面上的说明安装 rpm 文件:
    1
    sudo yum install -y https: //download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
  • Docker – 通过容器安装部署PostgreSQL数据库

      PostgreSQL 被业界誉为“世界上最先进的开源关系型数据库”,并且它同时还支持 NoSQL 数据类型(JSON/XML/hstore)。我在之前的文章中介绍了如何使用官方安装程序进行 PostgreSQL 数据库的安装(点击查看),本文介绍另一种方式:通过 Docker 来快速搭建 PostgreSQL 数据库环境。

    1,拉取镜像

    首先执行如下命令将镜像下载到本地:
    1
    docker pull postgres

    2,启动容器

    (1)执行如下命令实例化 PostgreSQL 服务:
    参数说明:
    • -d:表示在后台启动容器;
    • -p 5432:5432:容器内部的 5432 端口映射主机的 5432 端口;
    • –name postgresql:将容器命名为 postgresql
    • -v /home/user/pgdata:/var/lib/postgresql/data:挂载目录,其中 /home/user/pgdata 是宿主机的目录
    • -e POSTGRES_PASSWORD=123:数据库 postgres 密码设置为 123
    1
    docker run -d -p 5432:5432 --name=postgresql -v /home/user/pgdata:/ var /lib/postgresql/data -e POSTGRES_PASSWORD=123 postgres
    (2)执行 docker ps 命令确认容器启动成功:
    202103111838232658

    3,开放端口

    如果服务器开启了防火墙的话,还要执行如下命令开放端口:
    1
    2
    firewall-cmd --permanent --add-port=5432/tcp
    firewall-cmd --reload

    4,连接测试

    (1)我们使用客户端工具(比如 Navicat),输入相关信息后连接:
    2021031116464481954
    (2)连接成功后就可以看到相关数据了:
    2021031116474945760

    原文出自:www.hangge.com  转载请保留原文链接:https://www.hangge.com/blog/cache/detail_3073.html

  • Docker – 实现本地镜像的导出、导入(export、import、save、load)

    有时我们需要将一台电脑上的镜像复制到另一台电脑上使用,除了可以借助仓库外,还可以直接将镜像保存成一个文件,再拷贝到另一台电脑上导入使用。

        对于镜像的导出和导入,Docker 提供了两种方案,下面分别进行介绍。

    一、使用 export 和 import

    1,查看本机的容器

    这两个命令是通过容器来导入、导出镜像。首先我们使用 docker ps -a 命令查看本机所有的容器。
    2019050717392713580

    2,导出镜像

    (1)使用 docker export 命令根据容器 ID 将镜像导出成一个文件。
    1
    docker export f299f501774c > hangger_server.tar