6#include "azure/storage/files/datalake/datalake_file_system_client.hpp"
7#include "azure/storage/files/datalake/datalake_options.hpp"
8#include "azure/storage/files/datalake/datalake_responses.hpp"
10#include <azure/core/credentials/credentials.hpp>
11#include <azure/core/internal/http/pipeline.hpp>
12#include <azure/core/response.hpp>
13#include <azure/storage/blobs/blob_client.hpp>
14#include <azure/storage/common/storage_credential.hpp>
21namespace Azure {
namespace Storage {
namespace Files {
namespace DataLake {
43 const std::string& connectionString,
44 const std::string& fileSystemName,
45 const std::string& path,
55 const std::string& pathUrl,
56 std::shared_ptr<StorageSharedKeyCredential> credential,
66 const std::string& pathUrl,
67 std::shared_ptr<const Core::Credentials::TokenCredential> credential,
76 const std::string& pathUrl,
97 Azure::Response<Models::CreatePathResult>
Create(
100 const Azure::Core::Context& context = Azure::Core::Context())
const;
116 const Azure::Core::Context& context = Azure::Core::Context())
const;
126 Azure::Response<Models::DeletePathResult>
Delete(
128 const Azure::Core::Context& context = Azure::Core::Context())
const;
140 const Azure::Core::Context& context = Azure::Core::Context())
const;
157 std::vector<Models::Acl> acls,
159 const Azure::Core::Context& context = Azure::Core::Context())
const;
173 std::string permissions,
175 const Azure::Core::Context& context = Azure::Core::Context())
const;
188 Models::PathHttpHeaders httpHeaders,
190 const Azure::Core::Context& context = Azure::Core::Context())
const;
205 const Azure::Core::Context& context = Azure::Core::Context())
const;
217 const Azure::Core::Context& context = Azure::Core::Context())
const;
230 Storage::Metadata metadata,
232 const Azure::Core::Context& context = Azure::Core::Context())
const;
247 const std::vector<Models::Acl>& acls,
250 const Azure::Core::Context& context = Azure::Core::Context())
const
252 return SetAccessControlListRecursiveInternal(
253 Models::_detail::PathSetAccessControlListRecursiveMode::Set, acls, options, context);
269 const std::vector<Models::Acl>& acls,
272 const Azure::Core::Context& context = Azure::Core::Context())
const
274 return SetAccessControlListRecursiveInternal(
275 Models::_detail::PathSetAccessControlListRecursiveMode::Modify, acls, options, context);
291 const std::vector<Models::Acl>& acls,
294 const Azure::Core::Context& context = Azure::Core::Context())
const
296 return SetAccessControlListRecursiveInternal(
297 Models::_detail::PathSetAccessControlListRecursiveMode::Remove, acls, options, context);
308 std::shared_ptr<Azure::Core::Http::_internal::HttpPipeline>
m_pipeline;
323 Azure::Core::Url pathUrl,
324 Blobs::BlobClient blobClient,
325 std::shared_ptr<Azure::Core::Http::_internal::HttpPipeline> pipeline,
326 _detail::DatalakeClientConfiguration clientConfiguration)
334 Models::_detail::PathSetAccessControlListRecursiveMode mode,
335 const std::vector<Models::Acl>& acls,
337 const Azure::Core::Context& context)
const;
The DataLakeFileSystemClient allows you to manipulate Azure Storage DataLake files.
Definition datalake_file_system_client.hpp:28
DataLakeLeaseClient allows you to manipulate Azure Storage leases on filesystems and paths.
Definition datalake_lease_client.hpp:19
The DataLakePathClient allows you to manipulate Azure Storage DataLake files.
Definition datalake_path_client.hpp:26
Azure::Response< Models::SetPathAccessControlListResult > SetAccessControlList(std::vector< Models::Acl > acls, const SetPathAccessControlListOptions &options=SetPathAccessControlListOptions(), const Azure::Core::Context &context=Azure::Core::Context()) const
Sets the owner, group, and access control list for a file or directory. Note that Hierarchical Namesp...
Azure::Response< Models::SetPathMetadataResult > SetMetadata(Storage::Metadata metadata, const SetPathMetadataOptions &options=SetPathMetadataOptions(), const Azure::Core::Context &context=Azure::Core::Context()) const
Sets the metadata of a resource the path points to.
Azure::Response< Models::PathProperties > GetProperties(const GetPathPropertiesOptions &options=GetPathPropertiesOptions(), const Azure::Core::Context &context=Azure::Core::Context()) const
Get Properties returns all system and user defined properties for a path. Get Status returns all syst...
static DataLakePathClient CreateFromConnectionString(const std::string &connectionString, const std::string &fileSystemName, const std::string &path, const DataLakeClientOptions &options=DataLakeClientOptions())
Create from connection string.
RemovePathAccessControlListRecursivePagedResponse RemoveAccessControlListRecursive(const std::vector< Models::Acl > &acls, const RemovePathAccessControlListRecursiveOptions &options=RemovePathAccessControlListRecursiveOptions(), const Azure::Core::Context &context=Azure::Core::Context()) const
Removes POSIX access control rights on files and directories under given directory recursively.
Definition datalake_path_client.hpp:290
DataLakePathClient(const std::string &pathUrl, std::shared_ptr< const Core::Credentials::TokenCredential > credential, const DataLakeClientOptions &options=DataLakeClientOptions())
Bearer token authentication client.
Blobs::BlobClient m_blobClient
Blob Client for this path client.
Definition datalake_path_client.hpp:305
DataLakePathClient(const std::string &pathUrl, const DataLakeClientOptions &options=DataLakeClientOptions())
Anonymous/SAS/customized pipeline auth.
std::shared_ptr< Azure::Core::Http::_internal::HttpPipeline > m_pipeline
Http Pipeline.
Definition datalake_path_client.hpp:308
Azure::Response< Models::PathAccessControlList > GetAccessControlList(const GetPathAccessControlListOptions &options=GetPathAccessControlListOptions(), const Azure::Core::Context &context=Azure::Core::Context()) const
Returns all access control list stored for the given path.
SetPathAccessControlListRecursivePagedResponse SetAccessControlListRecursive(const std::vector< Models::Acl > &acls, const SetPathAccessControlListRecursiveOptions &options=SetPathAccessControlListRecursiveOptions(), const Azure::Core::Context &context=Azure::Core::Context()) const
Sets POSIX access control rights on files and directories under given directory recursively.
Definition datalake_path_client.hpp:246
Azure::Response< Models::SetPathPermissionsResult > SetPermissions(std::string permissions, const SetPathPermissionsOptions &options=SetPathPermissionsOptions(), const Azure::Core::Context &context=Azure::Core::Context()) const
Sets the owner, group, and permissions for a file or directory. Note that Hierarchical Namespace must...
Azure::Response< Models::SetPathHttpHeadersResult > SetHttpHeaders(Models::PathHttpHeaders httpHeaders, const SetPathHttpHeadersOptions &options=SetPathHttpHeadersOptions(), const Azure::Core::Context &context=Azure::Core::Context()) const
Sets the properties of a resource the path points to.
DataLakePathClient(Azure::Core::Url pathUrl, Blobs::BlobClient blobClient, std::shared_ptr< Azure::Core::Http::_internal::HttpPipeline > pipeline, _detail::DatalakeClientConfiguration clientConfiguration)
Construct a new DataLakePathClient.
Definition datalake_path_client.hpp:322
_detail::DatalakeClientConfiguration m_clientConfiguration
Client configurations.
Definition datalake_path_client.hpp:311
Azure::Response< Models::DeletePathResult > DeleteIfExists(const DeletePathOptions &options=DeletePathOptions(), const Azure::Core::Context &context=Azure::Core::Context()) const
Deletes the resource the path points to if it exists.
DataLakePathClient(const std::string &pathUrl, std::shared_ptr< StorageSharedKeyCredential > credential, const DataLakeClientOptions &options=DataLakeClientOptions())
Shared key authentication client.
std::string GetUrl() const
Gets the path's primary URL endpoint. This is the endpoint used for blob storage available features i...
Definition datalake_path_client.hpp:85
Azure::Response< Models::CreatePathResult > CreateIfNotExists(Models::PathResourceType type, const CreatePathOptions &options=CreatePathOptions(), const Azure::Core::Context &context=Azure::Core::Context()) const
Creates a file or directory. By default, the destination is not changed if it already exists.
Azure::Response< Models::DeletePathResult > Delete(const DeletePathOptions &options=DeletePathOptions(), const Azure::Core::Context &context=Azure::Core::Context()) const
Deletes the resource the path points to.
Azure::Response< Models::CreatePathResult > Create(Models::PathResourceType type, const CreatePathOptions &options=CreatePathOptions(), const Azure::Core::Context &context=Azure::Core::Context()) const
Creates a file or directory. By default, the destination is overwritten and if the destination alread...
UpdatePathAccessControlListRecursivePagedResponse UpdateAccessControlListRecursive(const std::vector< Models::Acl > &acls, const UpdatePathAccessControlListRecursiveOptions &options=UpdatePathAccessControlListRecursiveOptions(), const Azure::Core::Context &context=Azure::Core::Context()) const
Updates POSIX access control rights on files and directories under given directory recursively.
Definition datalake_path_client.hpp:268
Azure::Core::Url m_pathUrl
Url to the resource on the service.
Definition datalake_path_client.hpp:302
virtual ~DataLakePathClient()=default
Destructor.
Required only for Create File and Create Directory. The value must be "file" or "directory".
Definition rest_client.hpp:126
Response type for Azure::Storage::Files::DataLake::DataLakePathClient::SetAccessControlListRecursive.
Definition datalake_responses.hpp:879
Optional parameters for Azure::Storage::Files::DataLake::DataLakePathClient::Create.
Definition datalake_options.hpp:657
Client options used to initialize all DataLake clients.
Definition datalake_options.hpp:160
Optional parameters for Azure::Storage::Files::DataLake::DirectoryClient::Delete.
Definition datalake_options.hpp:745
Optional parameters for Azure::Storage::Files::DataLake::DataLakePathClient::GetAccessControlList.
Definition datalake_options.hpp:789
Optional parameters for Azure::Storage::Files::DataLake::DataLakePathClient::GetProperties.
Definition datalake_options.hpp:766
Optional parameters for Azure::Storage::Files::DataLake::DataLakePathClient::SetAccessControlList.
Definition datalake_options.hpp:560
Optional parameters for DirectoryClient::SetAccessControlListRecursive.
Definition datalake_options.hpp:894
Optional parameters for Azure::Storage::Files::DataLake::DataLakePathClient::SetPermissions.
Definition datalake_options.hpp:582