Key Concepts
Helpersλ μ½λ λ Έλ(Python Node)μμ νμΌ μ²λ¦¬μ λ°μ΄ν° λ³νμ μ½κ² νκΈ° μν λ΄μ₯ μ νΈλ¦¬ν° ν¨μ λͺ¨μμ λλ€.
λ³λμ import μμ΄ await helpers.ν¨μλͺ
ννλ‘ λ°λ‘ μ¬μ©ν μ μμΌλ©°,
νμΌ λ°μ΄ν°λ₯Ό agentria νμ€ ν¬λ§·μΌλ‘ λ³ννκ±°λ λ Έλ κ° μ λ¬ν λ μ¬μ©λ©λλ€.
νμΌ β base64 λ³ν
νμΌ β mime-type μΆμΆ
νμΌ β agentria νμ€ ν¬λ§· λ³ν
νμΌ λ©νλ°μ΄ν° μΆμΆ
Helpers μ¬μ© μμ
file_type = await helpers.get_mime_type_from_file(file)
File Helpers
νμΌ μ²λ¦¬μ κ΄λ ¨λ μ£Όμ ν¬νΌ ν¨μ λͺ©λ‘μ λλ€.
get_base64_str_from_file(bytes | str | list) -> strνμΌ λ°μ΄ν°λ₯Ό base64 λ¬Έμμ΄λ‘ λ³ννμ¬ λ°νν©λλ€.
get_mime_type_from_file(bytes | str | list) -> strνμΌμ mime-type(μ:
image/png,application/pdf)μ μΆμΆν©λλ€.
as_files(value, key, default_mime_type, immutable) -> list[str] | NoneνμΌ λ°μ΄ν°λ₯Ό μμ΄μ νΈλ¦¬μ(Agentria) νμ€ νμΌ ν¬λ§·(
data:mime;base64,...)μΌλ‘ λ³νν©λλ€.
get_file_metadata(bytes | str | list) -> dictνμΌμ λ©νλ°μ΄ν°(μ΄λ¦, ν¬κΈ°, νμ₯μ, νμ )λ₯Ό λμ λ리 ννλ‘ λ°νν©λλ€.
as_files
λ€μν ννμ νμΌ λ°μ΄ν°λ₯Ό agentriaμμ μ¬μ©ν μ μλ νμ€ νμΌ ν¬λ§·μΌλ‘ λ³νν©λλ€.
μν¬νλ‘ λ΄μμ νμΌμ μ λ¬νκ±°λ, Web Request Nodeμ μ°λν λ λ§μ΄ μ¬μ©λλ ν΅μ¬ ν¨μμ λλ€.
async def as_files(
value: str | bytes | list | dict | None,
key: str | None = None,
default_mime_type: str = "application/octet-stream",
immutable: bool = True
) -> list[str] | None:
μ§μλλ μ λ ₯ νν
as_files(bytes_data): λ¨μΌ νμΌ λ°μ΄ν°as_files(bytes_data, key="report.png"): νμΌ ν€(μ΄λ¦)λ₯Ό ν¬ν¨ν λ¨μΌ νμΌas_files([b1, b2]): μ¬λ¬ νμΌ λ°μ΄ν° 리μ€νΈas_files([("k1", b1), ("k2", b2)]): ν€κ° ν¬ν¨λ (key, file) νν 리μ€νΈas_files({"k1": b1, "k2": b2}): key-value ννμ νμΌ λμ λ리
μ¬μ© μμ
# 1. λ¨μΌ μ΄λ―Έμ§ λ²νΌλ₯Ό agentriaμμ μ¬μ© κ°λ₯ν νμΌ ννλ‘ λ³ν
png_image_buffer = ...
from_buffer = await helpers.as_files(png_image_buffer)
# 2. μ¬λ¬ κ°μ μ΄λ―Έμ§ λ²νΌλ₯Ό λ³ν
png_image_buffer_1 = ...
png_image_buffer_2 = ...
from_buffers = await helpers.as_files([png_image_buffer_1, png_image_buffer_2])
# 3. Web Request Node μ¬μ© μ form-data key μ§μ
png_image_buffer = ...
from_buffer = await helpers.as_files({"file": png_image_buffer})
# λλ
from_buffer = await helpers.as_files(png_image_buffer, key="file")
# 4. immutable μ΅μ νμ©
# immutable=True: μ€μ ν keyλ₯Ό κ³ μ ν©λλ€.
from_buffer = await helpers.as_files(png_image_buffer, key="dont_touch", immutable=True)
# immutable=False: λ€μ λ Έλμμ key μ΄λ¦μ λ³κ²½ν μ μλλ‘ νμ©ν©λλ€.
from_buffer = await helpers.as_files(png_image_buffer, key="can_be_renamed", immutable=False)
μ΅μ μ€λͺ
key : form-dataμμ μ¬μ©ν νμΌ ν€ μ΄λ¦
default_mime_type : mime-typeμ μΆλ‘ νμ§ λͺ»ν κ²½μ° κΈ°λ³Έκ°
immutable : keyλ₯Ό κ³ μ ν μ§ μ¬λΆ (True: κ³ μ , False: λ³κ²½ κ°λ₯)
get_file_metadata
νμΌμ μμΈ μ 보(λ©νλ°μ΄ν°)λ₯Ό μΆμΆν©λλ€. νμΌ κ²μ¦, λ‘κΉ , λλ²κΉ λ± λ€μν μ©λλ‘ νμ©ν μ μμ΅λλ€.
λ°ν νλͺ©
ν€ (Key) | μ€λͺ |
|---|---|
| νμΌμ MIME νμ |
| νμΌμ ν¬κΈ° (Byte λ¨μ) |
| νμΌ μ΄λ¦ |
| νμΌ νμ₯μ |