Score:0

อ่านเฉพาะข้อมูลเมตาของไฟล์ในที่เก็บข้อมูล Google Cloud Storage ไปยัง Cloud Function ใน Python (โดยไม่ต้องโหลดไฟล์หรือข้อมูล!)

ฉันต้องการบางอย่างเช่น Cloud Storage for Firebase: ดาวน์โหลดข้อมูลเมตาของไฟล์ทั้งหมดไม่ใช่ใน Angular แต่เป็น Python และสำหรับไฟล์ที่เลือกแทน

เป้าหมายคือการส่งคืนข้อมูลนี้เมื่อ Cloud Function เสร็จสิ้นด้วย กลับ คำสั่งหรือเพียงเพื่อบันทึกระหว่างการเรียกใช้ Cloud Function ทันทีที่บันทึกไฟล์ในบัคเก็ต Google Storage ด้วยข้อมูลนั้น คุณสามารถเริ่มงานอื่นได้หลังจากประทับเวลาที่กำหนด ไปป์ไลน์เป็นแบบซิงโครนัส

ฉันพบคำถาม/คำตอบเกี่ยวกับการโหลดไฟล์หรือข้อมูลใน Cloud Function

เพื่อแยกสถิติข้อมูลไปยัง Cloud Function ที่รันอยู่จากไฟล์ภายนอก

เนื่องจากฉันไม่ต้องการบันทึกไฟล์ขนาดใหญ่หรือข้อมูลในหน่วยความจำเมื่อใดก็ได้เพียงเพื่อรับข้อมูลเมตา ฉันจึงต้องการดาวน์โหลด เท่านั้น ข้อมูลเมตาจากไฟล์นั้นซึ่งจัดเก็บไว้ในบัคเก็ตใน Google Storage ซึ่งหมายถึงการประทับเวลาและขนาด

ฉันจะดึงเฉพาะข้อมูลเมตาของไฟล์ csv ในที่เก็บข้อมูล Google Cloud Storage ไปยังฟังก์ชัน Google Cloud ได้อย่างไร

Zeenath S N avatar
cn flag
เฮ้ คุณได้ลองโค้ดบ้างหรือยัง? ถ้าคุณทำแล้วโปรดระบุ แจ้งให้เราทราบข้อผิดพลาดที่คุณได้รับในรหัส
questionto42standswithUkraine avatar
@ZeenathSN เฮ้คำถามที่ดีฉันได้เลื่อนออกไปแล้ว สำหรับตอนนี้ ฉันใช้วิธีแก้ปัญหาใน Python: 1. `datetime.now()` 2. นับแถวที่เขียน 3. จำนวน field_names เป็นจำนวนคอลัมน์ ฉันใส่ไว้ในการบันทึกและในคำสั่งส่งคืน ฉันยังไม่ได้ทดสอบสิ่งที่คล้ายกันซึ่งฉันอาจได้รับเป็นข้อมูลเมตาจาก Google Cloud Storage สำหรับตอนนี้ ฉันจะไม่ใช้เวลาไปมากกว่านี้ เว้นแต่จะได้รับคำตอบที่นี่
Zeenath S N avatar
cn flag
บางที [GitHub Link](https://github.com/googleapis/python-storage/blob/main/samples/snippets/storage_get_bucket_metadata.py) อาจช่วยคุณได้
questionto42standswithUkraine avatar
@ZeenathSN ขอบคุณ ไม่ มันโหลดไฟล์จากบัคเก็ตไปยังหน่วยความจำของคอนเทนเนอร์ GCF (ถ้าฉันจำไม่ผิด โปรดแก้ไขเป็นอย่างอื่น) ดูที่ `bucket = storage_client.get_bucket(bucket_name)` การทำเช่นนั้นจะเป็นการรับส่งข้อมูลที่ไม่มีประโยชน์เนื่องจากไฟล์ที่ฉันจัดการมีขนาดใหญ่ ฉันบันทึกลงใน GCS โดยตรงเพื่อหลีกเลี่ยงการเก็บไว้ในหน่วยความจำในคอนเทนเนอร์ GCF จากนั้นฉันไม่ต้องการโหลดทั้งไฟล์เพื่อจับข้อมูลเมตาเท่านั้น
questionto42standswithUkraine avatar
@ZeenathSN เพิ่งรู้ว่าข้างต้น ฉันทำผิดพลาดที่บัคเก็ตเองไม่ใช่ไฟล์ ดังนั้นโค้ดทั้งหมดจึงให้ข้อมูลเมตา ใช่ แต่ไม่ใช่สำหรับไฟล์ที่เลือก ดังนั้นรหัส GitHub จึงไม่สามารถแก้ไขได้ แต่ไปในทิศทางที่ถูกต้อง
Score:1
ธง cn

มี เอกสาร Google นำเสนอที่แสดงวิธีรับข้อมูลเมตาซึ่งคล้ายกับลิงก์ GitHub ที่ฉันให้ไว้ในความคิดเห็น คุณสามารถดูได้ที่ห้องสมุด ที่นี่

เพียงแค่รับข้อมูลเมตาและไม่ดึงข้อมูลวัตถุจนกว่าคุณจะโทร download_to_filename()

อื่น ๆ คุณสามารถดูได้ที่ API: รับเอกสาร ซึ่งแสดงว่าจะดึงข้อมูลเมตาก็ต่อเมื่อ alt = สื่อ ไม่ได้ระบุและลองใช้

questionto42standswithUkraine avatar
คุณพูดถูก `blob = bucket.get_blob(blob_name)` อาจยังไม่ได้อัปโหลดไฟล์ไปยังฟังก์ชันคลาวด์เนื่องจากใช้สำหรับการสืบค้นตัวอย่างข้อมูลเมตา: [ดูและแก้ไขข้อมูลเมตาของวัตถุ](https://cloud.google .com/storage/docs/viewing-editing-metadata#view) --> "ตัวอย่างโค้ด" --> "Python" ฉันได้ดูแลตัวอย่างโค้ดเหล่านี้แล้ว ฉันคิดว่าจะต้องใช้ [`gsutil` ซึ่งไม่มีใน GCF](https://stackoverflow.com/questions/61795056/run-a-gsutil-command-in- ฟังก์ชัน a-google-cloud) ความผิดพลาดของฉัน.

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา