微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

IBM Cloud Object Storage:使用CLI获取存储桶大小

如何解决IBM Cloud Object Storage:使用CLI获取存储桶大小

我正在尝试寻找一种自动在IBM Cloud上获取COS存储桶大小的任务的方法

我在不同帐户中有数十个存储桶,但仍然找不到使用IBM Cloud COS CLI获取此信息的方法,只是其他信息(例如存储桶名称等)。

解决方法

COS S3 API不返回存储桶的大小信息。因此,基于API的CLI也不会返回大小信息。

但这是通过遍历存储桶中各个对象的大小来找到存储桶大小的一种间接方法

ibmcloud cos objects --bucket <BUCKET_NAME> --output JSON | jq 'reduce (.Contents[] | to_entries[]) as {$key,$value} ({}; .[$key] += $value) | .Size'

输出以字节

为单位

您可能必须遍历存储桶名称,这些名称可能在Shell脚本中。对于帐户+资源组中的所有存储桶,请运行以下命令

ibmcloud cos buckets --output JSON

注意:在运行上述命令之前,请记住使用以下命令将COS服务CRN添加到配置中

ibmcloud cos config crn --crn <SERVICE_CRN>
,

遍历单个对象的答案确实是使用IBM Cloud CLI查找该信息的唯一(并且可能是最好的)方法,但是还有其他一些值得一提的完成方法。

如果您需要在命令行中优雅地执行此操作,则Minio Client提供了Linux风格的语法:

from scipy import stats
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib.gridspec as gridspec
import pylab

csv = 'Trendline.csv'

df = pd.read_csv(csv,header=None,decimal=",",sep=";",names=['x','y']).dropna()

x = df['x']
y = df['y']

# linear regression
slope,intercept,rvalue,pvalue,stderr = stats.linregress(x,y)
y_prime = slope*x+intercept
print ('y=%.6fx+(%.6f)'%(slope,intercept))
print('R2 value: ',rvalue**2)

# bivariate outliers identification
residual = y-y_prime
q1 = residual.quantile(0.25)
q3 = residual.quantile(0.75)
iqr = q3-q1
lower_boundary = q1-1.5*iqr
upper_boundary = q3+1.5*iqr

# plot
fig = plt.figure(tight_layout=True)
plt.rc('grid',linestyle='--')

ax1 = plt.subplot(311)
ax1.scatter (x,y,marker = '+',color ='black')
plt.setp(ax1.get_xticklabels(),visible=False)
ax1.grid (True)
plt.ylim(bottom=0)

pylab.plot(x,y_prime,'-',color='grey')
pylab.plot(x,y_prime+lower_boundary,y_prime+upper_boundary,color='grey')

fig.align_labels()
plt.ylim(bottom=0)
plt.show()

这将返回MiB中存储桶的大小。

此外,COS Resource Configuration API将直接返回一个mc du cos/$BUCKET 值,而不会遍历幕后的对象。尽管还没有正式的CLI实施(尽管正在实施中),但使用cURL或httpie查询存储桶相对容易。

bytes_used

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?