To point an existing resource at a new external URL, pass the link
through rcurl. If x also holds a url item, rcurl wins.
Usage
resource_patch(
x,
id,
rcurl = NULL,
url = get_default_url(),
key = get_default_key(),
as = "list",
...
)Arguments
- x
(list) A list with key-value pairs
- id
(character) Resource ID to update (required)
- rcurl
(character) New external URL of the resource, for example an ArcGIS link. The function sends it as the resource
urland setsurl_typetolink, so CKAN stores a true external link. Ifxholds its ownurl_typeitem, that value wins. Optional.- url
Base URL to use. Default: https://demo.ckan.org/. See also
ckanr_setupandget_default_url.- key
A privileged CKAN API key. Default: your key set with
ckanr_setup- as
(character) One of list (default), table, or json. Parsing with the table option uses
jsonlite::fromJSON(..., simplifyDataFrame = TRUE), which attempts to parse data to data.frame's when possible. The result can vary from a vector, list or data.frame. (required)- ...
Extra curl arguments. The function passes them to
verb-POST(optional)
Examples
if (FALSE) { # \dontrun{
# Setup
ckanr_setup(url = "https://demo.ckan.org", key = getOption("ckan_demo_key"))
# create a package
(res <- package_create("twist", author = "Alexandria"))
# then create a resource
file <- system.file("examples", "actinidiaceae.csv", package = "ckanr")
(xx <- resource_create(package_id = res$id, description = "my resource"))
# Get a resource
res <- resource_show(xx$id)
res$description
# Make some changes
x <- list(description = "My newer description")
z <- resource_patch(x, id = res)
z$description
# Add an extra key:value pair
extra <- list("extra_key" = "my special value")
zz <- resource_patch(extra, id = res)
zz$extra_key
# Point the resource at a new external URL
zzz <- resource_patch(list(), id = res, rcurl = "https://example.com/data.geojson")
zzz$url
} # }
