用于接收、发现、编辑和存储DG IMD文件的一组资料

imd-handler的Python项目详细描述


imdiddler

从本地或s3编辑imd文件的工具 可以作为lambda或命令行部署/调用。 保留IMD文件顺序。IMD编辑可以按任意顺序进行

编辑说明符

imd的编辑由一个json字符串指定,该字符串映射键/值对并简单地替换 IMD文件中现有的键/值对,其中JSON字符串中的键/值对。怎么做是没有限制的 只要设置编辑说明符,就可以用一个说明符编辑imd中的一个或所有项。 这是一个简单的叠加操作。一个特别的注意事项是下面讨论的“begin_group/end_group”对。 可以指定imd中的任何类型。以下编辑适用于每个单独的类型 #####字符串

'{"version": "\\"28.4\\";"}'

#####整数

'{"numRows": 6932;"}'

#####日期

'{"generationTime": 2017-08-01T03:39:53.000000Z;"}'

你明白了…

####团体 imds包含一个begin_group=<;name>;和end_group=<;name>;用于波段、图像和产品。命名方案是消歧器。 可以通过在imd中将组的名称指定为键,然后指定子词典来编辑组的内容。 组中要应用的键/值对的。下面编辑imd中的“image_1”组,替换卫星名称。

'"IMAGE_1": {"satId": "\\"WV09\\";"}}'

调用

代码可以通过命令行调用,也可以作为lambda调用。

命令行

python imd_handler.py <input file/s3 object> <edit[s]>

输入文件是一个文件uri,不言而喻(任何有效路径,都需要读/写访问)

file:///Volumes/GKW/Sibinacocha2017/1cc99383-29fd-470a-a3ac-22431193b65a/103001006A803400/056848496010_01/056848496010_01_P001_MUL/17MAY12150511-M1BS-056848496010_01_P001.IMD

s3对象是一个s3 uri,指定名称ie:

s3://727281582563-deliveries/production/I00000070198_01/I00000070198_01_P001_MUL/18APR05102137-M1BS_R1C1-I00000070198_01_P001.IMD

作为lambda

它被部署为imdiddler。事件字典/有效负载应该如下所示:

{"file_uri":"<input file/s3 object>""edit":{"<edit tag>":"<edit value>"}}

#####lambda示例有效载荷

{"file_uri":"s3://727281582563-deliveries/production/I00000070198_01/I00000070198_01_P001_MUL/18APR05102137-M1BS_R1C1-I00000070198_01_P001.IMD""edit":{"version":"\"28.4\";","IMAGE_1":{"satId":"\"WV09;\""}}}

#####注: imd文件包含带引号的字符串,这意味着执行的编辑也必须包含引号。 这意味着json引号转义机制必须用于字符串类型。其他类型(float、int、date)不 需要这个。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
来自Oozie Java Jobs的电子邮件   泛型Java映射。具有有界通配符的getOrDefault   java如何制作定制的Swing容器?   java断言使用正则表达式重新启动响应体   安卓 java正则表达式查找字符串中的所有空格   java循环语法不起作用   使用spring4@Transactional时,java事务不起作用   java三桨乒乓球命中检测   java Camera 2 Api错误不拍照的错误   java使用ServletContext从war外部读取Hibernate属性   性能如何禁用Java垃圾回收器?   如何通过MySQL触发器执行外部java函数?   使用Ecfbittorent下载torrent时出现java NegativeArraySizeException   java Android arraylist因迭代而崩溃   MyBatis中的java Delete查询没有删除任何内容