gpt4 book ai didi

python - 将电子邮件附件保存到指定存储桶

转载 作者:行者123 更新时间:2023-11-30 21:58:11 24 4
gpt4 key购买 nike

App Engine 允许用户收听传入的电子邮件。然后我想读取附件并将​​其写入 GCS 存储桶。 google.cloud.storage 在标准环境中不可用,而可用的 cloudstorage 不允许在除默认存储桶之外的任何其他存储桶中写入。

我也在灵活的环境中尝试过,但在这种情况下 InboundMailHandler 不可用:“App Engine 邮件服务在标准环境之外不可用”https://cloud.google.com/appengine/docs/flexible/python/migrating

有没有办法在标准环境下将这些文件写入指定的存储桶?

import logging
import webapp2
from google.appengine.ext.webapp.mail_handlers import InboundMailHandler

class LogSenderHandler(InboundMailHandler):
def receive(self, mail_message):
logging.info("Received a message from: " + mail_message.sender)
plaintext_bodies = mail_message.bodies('text/plain')
html_bodies = mail_message.bodies('text/html')

if hasattr(mail_message, 'attachments'):
for filename, filecontent in mail_message.attachments:
# write filecontent to a bucket


app = webapp2.WSGIApplication([LogSenderHandler.mapping()], debug=True)

最佳答案

您可以在云存储中写入时指定存储桶。

from google.appengine.api import app_identity
bucket_name = os.environ.get('BUCKET_NAME',app_identity.get_default_gcs_bucket_name())

您可以通过上面的代码获取特定的存储桶。然后您可以使用此存储桶写入您的云存储。请记住,在写入文件时请指定您的文件名,如下所示:

file_name = '/' + 'BUCKET_NAME' + '/' + 'FILE_NAME'

更详细的读写代码可以引用
Cloud Read/Write Documentation.

详细读/写代码:Github Google Cloud

希望这能回答您的问题!!

关于python - 将电子邮件附件保存到指定存储桶,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55013797/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com