分布式应用的讲解(知乎讲解分布式较好的一篇文章)
一、作为一名工程师,在满足目前的工作的同事,需要做一些自我提升的工作。 在知乎上发现了一篇较好的分布式讲解的文章,再次转载分享一下。 二、点下方可以直接转入知乎: Java分布式应用如何入门以及有哪些资料? 三、祝大家工作顺利
接上文,由于NASA官方弃用了FTP改用HTTPS服务,所以关于MODIS数据的下载方式有所改变。完整系列博客可以参照以下链接。本篇主要接着上一篇没有讲完的应用密钥的脚本下载介绍。
MODIS数据的简介和下载(二)——MODIS数据下载方式(FTP)
MODIS数据的简介和下载(三)——MODIS数据下载方式(基于MODIS Web Service)
MODIS数据的简介和下载(番外篇)——MODIS Web Service的Python客户端应用
接着上文的部分往下,上一篇博客已经讲了一小部分应用密钥。本篇主要针对以下部分介绍(红框部分)。
任何注册了Earthdata账户(注册链接)的人都可以申请应用密钥。通过以下步骤就可以申请一个应用密钥。
1.首先转到对应的页面:LAADS DAAC,登陆Earthdata。
2.接着点击Profile→App Keys(见截图)。
3.通过输入你对keys的描述并且点击 “Create New App Key”按钮创建一个新的应用密钥。
当然如果以前你就有应用密钥,但是你忘记了,那就按照如下的步骤操作:
1.登陆Earthdata(同上)。
2.接着点击Profile→App Keys(同上)。
3.复制你的密钥。
总的来说这个操作跟国内百度地图、高德地图API也没太大差别。
应用密钥可以通过HTTPS GET服务请求数据。关于HTTPS的GET和POST服务,可以看一下我找的几个帖子吧,对于做过爬虫,调用过API的人应该不陌生。
HTTP 方法:GET 对比 POST
知乎:get和post区别?
官方给了个样例,是用“curl”命令行工具来创建带请求的URL。
https://ladsweb.modaps.eosdis.nasa.gov/PATH_TO_MY_FILE
curl -v -H 'Authorization: Bearer MY_APP_KEY' 'https://ladsweb.modaps.eosdis.nasa.gov/PATH_TO_MY_FILE' > result
-v和-H属于附加的设置命令。
curl是个适用于所有操作系统的命令行工具。curl简介,也就是说通过curl可以下载对应订单的数据。
它给出了使用这个方式下载的一些要点:
1.所有的字符串都很重要,包括破折号、冒号和引号;
2.将’MY_APP_KEY’替换成你的应用密钥;
3.把“PATH_TO_MY_FILE”替换成你所需要的文件的路径。
4.通常LAADS DAAC的文件路径像下面的形式:
archive/allData/COLLECTION/PRODUCT/YEAR/DAY_OF_YEAR/FILENAME
这里给出一个URL的示例:
在发送请求之后会返回给你一个2007年第18天MODIS Terra250m的大气顶层反射率产品。
笔者常用系统是Ubuntu和Windows10,这里就演示下如何用curl下载数据吧(以Ubuntu为例)。以给出的URL为样例。
Ubuntu上可以直接用apt-get install命令安装curl。网上有帖子,这里不细述了。接着按照上面所说的改写命令行,如果不要“> result”,是按照原来的文件名下载。
下载中。
结果数据。
Windows下的尝试不是很愉快。当然curl也不是主要下载方式,所以我就不继续探索了,如果后面有机会再来说这个吧。
如果你需要的数据是单个文件,并且你知道它位于LAADS数据存档的路径,那么点击并下载它是很简单的。如果你需要下载的文件非常多(比如上个月整个月的VIIRS数据),你可能更愿意利用脚本来下载。因此这里给出了一些代码的示例:Shell脚本、Perl和Python版的。
两条警告:1.不要把全部数据下到你的硬盘。2.尽可能在你的脚本里避免错误,以防下载过多导致IP被封。
大多数语言都可以进行HTTPS通信,下面有些样例。使用方式是点击“下载源代码”以下载或复制代码并将其粘贴到反映语言的文件中(Shell脚本为.sh,Perl为.p1.,Python为.py)。 确保为文件设置了执行权限。 最后,打开终端或使用您的首选运行时执行文件。
示例:
perl laads-data-download.pl
Perl我不是特别懂,本篇主要介绍Python脚本,Shell脚本也会提一下。
首先下载下来laads-data-download.py,然后放到一个文件夹里,接着打开cmd,输入如下的命令。
python laads-data-download.py -h
这句代码的意思就是,-h是指help,也就是说关于这个Python函数的使用说明。
laads-data-download.py [-h] -s URL -d DIR -t TOK
简单地说这个函数有几个参数需要传进去,-s就是下载源,URL就是你要下载的数据的URL路径,-d就是下载路径,也就是数据应该下载到哪个路径里,-t就是token,令牌,其实就是你的app keys。也就是说完整的运行代码应该是如下:
python laads-data-download.py -s https://ladsweb.modaps.eosdis.nasa.gov/archive/orders/YOUR ORDERS ID -d Paht TO MY FILE -t MY_APP_KEYS
第一个红框就是你订购数据的ID(如下图)。
第二个红框是你数据存放在电脑里的路径。
第三个红框是你的app keys。
接下来就只需要等待数据下载完即可。
顺带提下Shell脚本,也是下载laads-data-download.sh文件。事实上语法都相同。但是Shell脚本呢还需要依赖‘jq’来下载。
./laads-data-download.sh [-h] -s URL -d PATH -t TOKEN
‘jq’的安装用命令即可。
apt-get install jq
等待下载结束。
所以事实上,Python脚本下载其实并不难。只需要替换对应的URL、路径、App Keys即可。其他的也如此,如果你懂了就可以开始尝试了。当然笔者之前还用过另一种方式来进行批量下载。接下来可能会就这个部分也来介绍一下。另外一点就目前笔者测试结果,感觉Shell脚本和Ubuntu下载速度要明显快于Python脚本和Windows。
微信关注我们
转载内容版权归作者及来源网站所有!
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。
为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。
Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。
Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。