Giter Site home page Giter Site logo

koltyakov / cq-source-sharepoint Goto Github PK

View Code? Open in Web Editor NEW
17.0 2.0 6.0 3.08 MB

๐Ÿ”Œ CloudQuery SharePoint Source Plugin

Home Page: https://hub.cloudquery.io/plugins/source/koltyakov/sharepoint

License: MIT License

Makefile 0.72% Go 99.28%
cloudquery sharepoint etl integration plugin elt sync

cq-source-sharepoint's Introduction

Twitter LinkedIn MVP

About me

I'm solution architect and developer with a focus on cloud. I live and work in Texas, USA. I'm a Microsoft MVP for M365 Development.

I don't like to keep experiense isolated, but prefer make an open source tool and bring it back to corp as a community proven. When you share you always get more in return.

It happens I know SharePoint a bit while dealing with the platform over a decade. But enterprise solutions are not limited to one platform, so there is a lot around: React, TypeScript, Node.js, Go, IaC, DevOps, Serverless, integrations, processes, orchestration.

GitHub profile stats

Andrew's GitHub Stats Top Langs

cq-source-sharepoint's People

Contributors

candiduslynx avatar disq avatar koltyakov avatar yevgenypats avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

cq-source-sharepoint's Issues

feat: Migrate plugin to `github.com/cloudquery/plugin-sdk/v2`

Hello!
We've recently updated plugin-sdk to v2 (includes migration to Apache Arrow for the destination side).

Currently, no major updates to the source side were made.

Here's an easy step-by-step workflow that will allow you to migrate the code easily & efficiently:

  1. Install gomajor
  2. gomajor get github.com/cloudquery/plugin-sdk/v2
  3. add replace for github.com/apache/arrow/go/v12 (see github.com/cloudquery/plugin-sdk/v2 go.mod)
  4. go mod tidy && go get -t -d ./... && go mod tidy && go mod vendor
  5. make gen lint test (if the appropriate targets exist)

Publish to CloudQuery Hub

Announcement of CloudQuery Hub points out to a new centralized way for publishing plugins.

As #22 is complete, packaging & publishing to Hub becomes available.

To verify the plugin can be packaged, go run main.go package --docs-dir docsdir -m 'test' v1.0.0 . should run OK.

Design question

Hey @koltyakov, Im starting to kick the tires on this one so I can open an initial version. A few Sharepoint and gosip related question. What would make sense for CloudQuery to sync, as far as I can understand sharepoint model and APIs, you need to specify what you want to select and what fields? is this correct? In that case I can make it a required configuration in addition to auth so the user can configure what they want to sync/fetch?

Thanks!
Yevgeny

csptl tool issue

Hi,

Thanks a lot for this Sharepoint Connector ! just doing some internal test sucessfully

Found 2 issues with csptl tool

  • destination: should be renamed to destinations:
  • tables: is now mandatory

Regards
Fred

Include mandatory fields into sync

Some fields should always be included no matter were they requested explicitly or not.

Such fields are:

  • ID
  • Created
  • Modified
  • Author
  • Editor

Is it possible to rename the fields?

@koltyakov, I wanted to rename the fields before saving to destination. Is there any way to achieve?

Shared Documents:
        select:
          - FileLeafRef
          - FileRef
          - FileDirRef
          - Author/Title
          - File/Length
          - EncodedAbsUrl

I wanted to rename EncodedAbsUrl to url and FileLeafRef to File_name

How to include file path?

@koltyakov, Thank you very much for your contribution to the plugin. I am testing the plugin to ingest data into Elasticsearch.
I wanted to include file path. Can you guide me on it?

lists:
    Shared Documents:
        select:
            - FileLeafRef
            - FileRef
            - FileDirRef
            - Author/Title
            - File/Length

Shared Documents File Details (SharePoint)

image

Elasticsearch Details

image

UnauthorizedAccessException where connection worked previously

I have a very simple Sharepoint source connection that worked fine up until this morning. With no changes to the yaml, I am now getting:

Error: failed to sync v3 source sharepoint: rpc error: code = Internal desc = failed to init plugin: failed to initialize client: failed to connect to SharePoint: unable to request api: 403 Forbidden :: {"error":{"code":"-2147024891, System.UnauthorizedAccessException","message":{"lang":"en-US","value":"Attempted to perform an unauthorized operation."}}}

The same thing happens with 1.8.2 and 2.0.0.

spec:
  name: "sharepoint"
  registry: "github"
  path: "koltyakov/sharepoint"
  version: "v1.8.2"
  destinations: ["file"]
  tables: ["*"]
  spec:
    auth:
      strategy: "ondemand"
      creds:
        siteUrl: "https://sunpowercorp.sharepoint.com/sites/Engineering"
    lists:
      Lists/COE:

I have no problem hitting the list in a browser:
https://sunpowercorp.sharepoint.com/sites/Engineering/Lists/COE

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.