55 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			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'
 |