dchadwick/web/modules/custom/json_ingestion_examples/migrations/migrate_plus.migrate.images.yml
2024-03-10 21:44:34 +00:00

55 lines
1.0 KiB
YAML

id: images
label: 'Import remote images.'
source:
plugin: url
data_fetcher_plugin: http
data_parser_plugin: json
urls: 'https://jsonplaceholder.typicode.com/photos'
item_selector: /
constants:
file_dest_dir: 'public://migrated-images/'
jpeg: '.jpeg'
ids:
image_id:
type: string
fields:
-
name: image_id
label: 'Image ID'
selector: /id
-
name: image_title
label: 'Image URL'
selector: /title
-
name: image_url
label: 'Image URL'
selector: /url
process:
_prep_filename:
-
plugin: callback
callable: basename
source: image_url
filename:
plugin: concat
source:
- '@_prep_filename'
- constants/jpeg
_prep_file_destination:
plugin: concat
source:
- constants/file_dest_dir
- '@filename'
uri:
plugin: file_copy
source:
- image_url
- '@_prep_file_destination'
status:
plugin: default_value
default_value: 1
alt: image_title
destination:
plugin: 'entity:file'