实现亚马逊商品列表报告自动化:AWS Lambda与GitHub Actions

需积分: 9 1 下载量 40 浏览量 更新于2024-11-30 收藏 54KB ZIP 举报
资源摘要信息:"本存储库包含名为get-amz-listing-report的AWS Lambda函数,该函数旨在提取亚马逊产品列表报告。该函数配置了事件桥(EventBridge)作为成功执行后的输出目的地。此外,还定义了一个名为get-amz-listing-report的Lambda层,该层包含对mws-client库的依赖,版本为1.1.3。该函数的执行超时设置为900秒。" 知识点: 1. AWS Lambda: AWS Lambda是一个计算服务,允许用户运行代码而无需管理服务器。用户只需上传代码,Lambda会处理运行和扩展的高难度任务。Lambda函数可以被触发执行,触发源可以包括HTTP请求、Amazon S3、Amazon DynamoDB、Amazon Kinesis、Amazon SNS等。 2. 事件桥(EventBridge): 事件桥是AWS提供的一个事件总线服务,用于构建事件驱动架构。它能够从应用程序、软件即服务(SaaS)和AWS服务收集事件,并将这些事件路由到目标,如Lambda函数、Amazon SQS、Amazon SNS等,以便进行进一步处理。 3. Lambda层(Lambda Layers): Lambda层允许用户将代码库、自定义运行时或中间件等库打包,以供Lambda函数使用。这有助于代码重用,并减少部署包的大小。一个Lambda函数可以引用多个层,层可以与多个函数关联。 4. mws-client库: mws-client是用于与亚马逊市场Web服务(Amazon MWS)接口交互的NPM包。它简化了与Amazon MWS API的通信,使得开发者能够更容易地在应用中集成亚马逊的报告和数据功能。 5. GitHub Actions工作流程: GitHub Actions是GitHub提供的一项服务,允许自动化软件开发工作流,从代码提交到部署的每一个步骤。工作流程状态通常显示在仓库的Actions标签页中,可以监控CI/CD流程中的各个阶段。 6. CodeClimate: CodeClimate是一个工具,用于对代码质量和维护性进行自动化分析。它集成在GitHub等代码托管平台上,以提供代码质量的反馈,并推动更好的开发实践。 7. 标签和资源查找: 在AWS上,资源可以被标记,以便于通过键值对(标签)进行分类和检索。标签可以包含关于应用程序、服务、逻辑单元等信息。这些标签使得资源管理更为简便,尤其是在管理大型环境或需要跟踪成本归属时。 8. 云资源配置文件: 云资源的配置文件定义了资源的属性和行为,包括权限、网络设置、依赖关系等。通常采用YAML或JSON格式编写,可以被云服务如AWS CloudFormation或AWS SAM(Serverless Application Model)使用,以实现基础设施即代码。 9. JavaScript编程语言: JavaScript是一种广泛使用的高级编程语言,主要用于网页开发。它是Web浏览器中实现动态内容的关键技术,并被Node.js平台支持,在服务器端运行JavaScript代码。 10. 压缩包子文件: "get-amz-listing-report-master"表明这是一个压缩的文件包,可能包含了Lambda函数的源代码、配置文件、依赖关系等。文件的命名方式暗示这可能是项目的主分支或主版本。

我get这个 http://127.0.0.1:8088/trans/getPutUploadUrl?fileMd5=e162d29f84c14133938890e54baa8ee7&fileSize=17353&fileName=1.jpg 给出这个信息 {"code":200,"message":"成功!","data":"{\"base64Md5\":\"4WLSn4TBQTOTiJDlS6qO5w==\",\"objectId\":\"4468a04b1f7144bcb2b33841b79080d4.jpg\",\"url\":\"http://127.0.0.1:9000/cloud-photo-3221003611/4468a04b1f7144bcb2b33841b79080d4.jpg?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20230714T110156Z&X-Amz-SignedHeaders=content-md5%3Bhost&X-Amz-Expires=599&X-Amz-Credential=minioadmin%2F20230714%2F%2Fs3%2Faws4_request&X-Amz-Signature=b9fc62b49d8cf2946b54699cf55e6d8d4719fadc25391f60b59058ad24da3d36\"}","requestId":null} 然后我put了这个 http://127.0.0.1:9000/cloud-photo-3221003611/afe1b5502f684cb2905d8b8db248284c.jpg?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20230714T105428Z&X-Amz-SignedHeaders=content-md5%3Bhost&X-Amz-Expires=599&X-Amz-Credential=minioadmin%2F20230714%2F%2Fs3%2Faws4_request&X-Amz-Signature=9fc2a0f6d8e917afde592356981bc2f21e0b29e8511d75ea9c7861fd048ff736 并且Content-MD5的值设置了4WLSn4TBQTOTiJDlS6qO5w== 但是又这个错误信息,为什么 <?xml version="1.0" encoding="UTF-8"?> <Error> BadDigest <Message>The Content-Md5 you specified did not match what we received.</Message> <Key>afe1b5502f684cb2905d8b8db248284c.jpg</Key> <BucketName>cloud-photo-3221003611</BucketName> <Resource>/cloud-photo-3221003611/afe1b5502f684cb2905d8b8db248284c.jpg</Resource> <RequestId>1771B69533816A0C</RequestId> <HostId>370a84fd-7b54-4be9-9a51-a2d773c8339d</HostId> </Error>

2023-07-15 上传